Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 DER (Distinguished Encoding Rules ), 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.
Valor de retorno
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 valores possíveis incluem, mas não se limitam a, aqueles na tabela a seguir. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT Comuns.
| Código/valor de retorno | Description |
|---|---|
|
O objeto de solicitação de certificado já foi inicializado. |
Observações
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. A partir do Windows 8 e do Windows Server 2012, você pode alterar esse comportamento padrão. Depois de criar uma instância da interface IX509CertificateRequestPkcs10 , chame InitializeDecodedefinindo o parâmetro de codificação como XCN_CRYPT_STRING_BINARY e o parâmetro strEncodedData como um dos seguintes valores:
| Value | Description |
|---|---|
| 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 .
Requirements
| Requirement | Value |
|---|---|
| Cliente mínimo suportado | Windows Vista [somente aplicativos da área de trabalho] |
| Servidor mínimo compatível | Windows Server 2008 [somente aplicativos da área de trabalho] |
| da Plataforma de Destino | Windows |
| Header | certenroll.h |
| de DLL | CertEnroll.dll |