Share via


Método IX509AttributeArchiveKey::InitializeEncode (certenroll.h)

El método InitializeEncode inicializa el atributo a partir de un objeto IX509PrivateKey , el certificado de cifrado de la entidad de certificación y el identificador de objeto del algoritmo de cifrado simétrico (OID).

Sintaxis

HRESULT InitializeEncode(
  [in]           IX509PrivateKey *pKey,
  [in]           EncodingType    Encoding,
  [in]           BSTR            strCAXCert,
  [in, optional] IObjectId       *pAlgorithm,
  [in]           LONG            EncryptionStrength
);

Parámetros

[in] pKey

Puntero a una interfaz IX509PrivateKey que representa la clave.

[in] Encoding

Valor de enumeración EncodingType que especifica el tipo de codificación Unicode aplicada a la cadena de entrada que contiene la clave cifrada.

[in] strCAXCert

Variable BSTR que contiene el certificado de cifrado de la entidad de certificación que contiene la clave pública utilizada para cifrar la clave privada.

A partir de Windows 7 y Windows Server 2008 R2, puede especificar una impresión digital de certificado o un número de serie en lugar de un certificado codificado. Si lo hace, la función buscará en los almacenes locales adecuados el certificado coincidente. Tenga en cuenta los siguientes puntos:

  • El BSTR debe ser un número par de dígitos hexadecimales.
  • Se omite el espacio en blanco entre pares hexadecimales.
  • El parámetro Encoding debe establecerse en XCN_CRYPT_STRING_HEXRAW.
  • Solo se buscan las tiendas personales y de solicitud para la clave privada.

[in, optional] pAlgorithm

Puntero a una interfaz IObjectId que representa el OID del algoritmo de cifrado simétrico utilizado para cifrar la clave privada. Este parámetro es opcional. Si no proporciona un OID, se usa XCN_OID_RSA_DES_EDE3_CBC (Triple DES).

[in] EncryptionStrength

Variable LONG que contiene la intensidad de cifrado del algoritmo identificado por el parámetro pAlgorithm . Este parámetro no se usa actualmente porque el SDK de inscripción de certificados no admite ningún algoritmo para el que el OID aún no implica la intensidad (longitud de clave). Por ejemplo, AES tiene varias fortalezas, pero cada uno ya está indicado por el OID.

Valor devuelto

Si la función se realiza correctamente, la función devuelve S_OK.

Si se produce un error en la función, devuelve un valor HRESULT que indica el error. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.

Comentarios

El identificador de objeto de este atributo es XCN_OID_ARCHIVED_KEY_ATTR (1.3.6.1.4.1.311.21.13). Para obtener más información, consulte CERTENROLL_OBJECTID.

Debe llamar a InitializeEncode o InitializeDecode para poder usar un objeto IX509AttributeArchiveKey . Los dos métodos se complementan entre sí. El método InitializeEncode permite construir una estructura de notación de sintaxis abstracta (ASN.1) codificada a partir de datos sin procesar y el método InitializeDecode permite inicializar datos sin procesar a partir de una estructura ASN.1 codificada. Puede llamar a las siguientes propiedades para recuperar los datos sin procesar:

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado certenroll.h
Archivo DLL CertEnroll.dll

Consulte también

IX509AttributeArchiveKey