Método IX509CertificateRequestPkcs10::InitializeDecode (certenroll.h)
El método InitializeDecode descodifica una solicitud de certificado PKCS #10 firmada o sin firmar y la usa para inicializar el nuevo objeto de solicitud PKCS #10. La solicitud existente se encuentra en una matriz de bytes que se ha codificado mediante reglas de codificación distinguida (DER), tal y como se define en el estándar de notación de sintaxis abstracta Uno (ASN.1). La matriz de bytes se representa mediante una cadena que es una secuencia binaria pura o está codificada con Unicode.
Sintaxis
HRESULT InitializeDecode(
[in] BSTR strEncodedData,
[in] EncodingType Encoding
);
Parámetros
[in] strEncodedData
Variable BSTR que contiene la solicitud codificada en DER. Para obtener más información, vea la sección Comentarios.
[in] Encoding
Valor de enumeración EncodingType que especifica el tipo de codificación Unicode aplicada a la cadena de entrada que contiene la solicitud codificada por DER. El valor predeterminado es XCN_CRYPT_STRING_BASE64.
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. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.
Código o valor devuelto | Descripción |
---|---|
|
El objeto de solicitud de certificado ya se ha inicializado. |
Comentarios
El método InitializeDecode descodifica la solicitud PKCS #10 existente y usa la información recuperada para inicializar las siguientes colecciones para el nuevo objeto de solicitud:
- Colección ICryptAttributes vacía.
- Colección IX509Extensions vacía.
- Colección IObjectIds vacía para los OID de atributo y extensión que se van a suprimir de la nueva solicitud.
El método también:
- Agrega las extensiones descodificadas a la colección IX509Extensions .
- Agrega los atributos descodificados a la colección ICryptAttributes .
- Establece la propiedad CriticalExtensions con las extensiones críticas descodificadas.
- Establece la propiedad ClientId .
- Establece la propiedad TemplateObjectId .
De forma predeterminada, el método InitializeDecode supone que la solicitud de certificado que se va a descodificar es para un usuario final. A partir de Windows 8 y Windows Server 2012, puede cambiar este comportamiento predeterminado. Después de crear una instancia de la interfaz IX509CertificateRequestPkcs10 , llame a InitializeDecodeestableciendo el parámetro Encoding en XCN_CRYPT_STRING_BINARY y el parámetro strEncodedData en uno de los siguientes valores:
Valor | Descripción |
---|---|
L"ContextMachine" | La solicitud de certificado codificada es para un equipo. |
L"ContextUser" | La solicitud de certificado codificada es para un usuario final. |
L"ContextAdministratorForceMachine" | Un administrador que actúa en nombre de un equipo solicita el certificado codificado. |
A continuación, vuelva a llamar al método InitializeDecode con el certificado codificado establecido en el argumento strEncodedData .
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 |