Método IX509CertificateRequestPkcs10::InitializeDecode (certenroll.h)
O método InitializeDecode decodifica uma solicitação de certificado PKCS nº 10 assinada ou não assinada existente e a usa para inicializar o novo objeto de solicitação PKCS #10. A solicitação existente está contida em uma matriz de bytes que foi codificada usando Distinguished Encoding Rules (DER) conforme definido pelo padrão ASN.1 (Abstract Syntax Notation One). A matriz de bytes é representada por uma cadeia de caracteres que é uma sequência binária pura ou é codificada em Unicode.
Sintaxe
HRESULT InitializeDecode(
[in] BSTR strEncodedData,
[in] EncodingType Encoding
);
Parâmetros
[in] strEncodedData
Uma variável BSTR que contém a solicitação codificada em DER. Para obter mais informações, consulte Comentários.
[in] Encoding
Um valor de enumeração EncodingType que especifica o tipo de codificação Unicode aplicada à cadeia de caracteres de entrada que contém a solicitação codificada em DER. O valor padrão é XCN_CRYPT_STRING_BASE64.
Retornar valor
Se a função for bem-sucedida, a função retornará S_OK.
Se a função falhar, ela retornará um valor HRESULT que indica o erro. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.
Valor/código retornado | Descrição |
---|---|
|
O objeto de solicitação de certificado já foi inicializado. |
Comentários
O método InitializeDecode decodifica a solicitação PKCS #10 existente e usa as informações recuperadas para inicializar as seguintes coleções para o novo objeto de solicitação:
- Uma coleção ICryptAttributes vazia.
- Uma coleção IX509Extensions vazia.
- Uma coleção IObjectIds vazia para OIDs de atributo e extensão a serem suprimidas da nova solicitação.
O método também:
- Adiciona as extensões decodificadas à coleção IX509Extensions .
- Adiciona os atributos decodificados à coleção ICryptAttributes .
- Define a propriedade CriticalExtensions com as extensões críticas decodificadas.
- Define a propriedade ClientId .
- Define a propriedade TemplateObjectId .
Por padrão, o método InitializeDecode pressupõe que a solicitação de certificado a ser decodificada é para um usuário final. Começando com Windows 8 e Windows Server 2012, você pode alterar esse comportamento padrão. Depois de criar uma instância da interface IX509CertificateRequestPkcs10 , chame InitializeDecodedefinindo o parâmetro Encoding como XCN_CRYPT_STRING_BINARY e o parâmetro strEncodedData como um dos seguintes valores:
Valor | Descrição |
---|---|
L"ContextMachine" | A solicitação de certificado codificada é para um computador. |
L"ContextUser" | A solicitação de certificado codificada é para um usuário final. |
L"ContextAdministratorForceMachine" | O certificado codificado está sendo solicitado por um administrador que atua em nome de um computador. |
Em seguida, chame o método InitializeDecode novamente com o certificado codificado definido no argumento strEncodedData .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | certenroll.h |
DLL | CertEnroll.dll |