Compartilhar via


Método IX509PublicKey::ComputeKeyIdentifier (certenroll.h)

O método ComputeKeyIdentifier cria um identificador de um hash SHA-1 de 160 bits da chave pública.

Sintaxe

HRESULT ComputeKeyIdentifier(
  [in]  KeyIdentifierHashAlgorithm Algorithm,
  [in]  EncodingType               Encoding,
  [out] BSTR                       *pValue
);

Parâmetros

[in] Algorithm

Um valor da enumeração KeyIdentifierHashAlgorithm que especifica qual algoritmo de hash usar para criar o identificador de chave.

Se esse valor for SKIHashDefault ou SKIHashSha1, o identificador será criado com hash apenas da matriz de bytes que contém a chave e excluindo os campos de marca, comprimento e bits não utilizados das Regras de Codificação Diferenciadas (DER).

Se esse valor for SKIHashCapiSha1, o identificador será criado com o hash da matriz de bytes codificada em DER que contém a marca, o comprimento, o número de bits não utilizados e a chave pública.

[in] Encoding

Um valor de enumeração EncodingType que especifica o tipo de codificação Unicode a ser aplicado ao hash contido no parâmetro pValue . O valor padrão é XCN_CRYPT_STRING_BASE64.

[out] pValue

Ponteiro para uma variável BSTR que contém o identificador de chave.

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
CERTSRV_E_PROPERTY_EMPTY
Não foi possível encontrar o identificador de objeto de algoritmo ou os parâmetros de chave pública.

Observações

Você deve chamar o método InitializeFromEncodedPublicKeyInfo ou o método Initialize para inicializar o objeto de chave pública antes de chamar ComputeKeyIdentifier.

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

Consulte também

IX509PublicKey