Método ICertPropertyRenewal::InitializeFromCertificateHash (certenroll.h)
O método InitializeFromCertificateHash inicializa o objeto do novo certificado.
Sintaxe
HRESULT InitializeFromCertificateHash(
[in] VARIANT_BOOL MachineContext,
[in] EncodingType Encoding,
[in] BSTR strCertificate
);
Parâmetros
[in] MachineContext
Um valor VARIANT_BOOL que indica se o repositório de certificados é para o computador local ou para o usuário atual. Especifique VARIANT_TRUE para o computador e VARIANT_FALSE para o usuário.
[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 o certificado codificado em DER.
[in] strCertificate
Uma variável BSTR que contém o certificado codificado em DER.
A partir do Windows 7 e do Windows Server 2008 R2, você pode especificar uma impressão digital do certificado ou um número de série em vez de um certificado codificado. Isso faz com que a função pesquise os repositórios locais apropriados para o certificado correspondente. Tenha em mente os seguintes pontos:
- O BSTR deve ser um número par de dígitos hexadecimais.
- O espaço em branco entre pares hexadecimais é ignorado.
- O parâmetro Encoding deve ser definido como XCN_CRYPT_STRING_HEXRAW.
- O parâmetro MachineContext determina se o usuário ou o computador armazena ou ambos são pesquisados.
- Se uma chave privada for necessária, somente os repositórios pessoais e de solicitação serão pesquisados.
- Se uma chave privada não for necessária, os repositórios de AC raiz e intermediária também serão pesquisados.
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 já está inicializado. |
Comentários
Esse método cria um hash SHA-1 usando o certificado especificado. O certificado deve ser codificado usando Distinguished Encoding Rules (DER), conforme definido pelo padrão ASN.1 (Abstract Syntax Notation One). Você também deve especificar o tipo de codificação Unicode aplicada à cadeia de caracteres que contém o certificado codificado em DER.
Normalmente, o objeto ICertPropertyRenewal é inicializado durante o processo de registro. Você pode recuperar o certificado usado durante o registro chamando a propriedade Certificate na interface IX509Enrollment .
Chame o método SetValueOnCertificate para associar a propriedade a um certificado. Chame a propriedade Renewal para recuperar o hash.
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 |