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 o hash apenas da matriz de bytes que contém a chave e excluindo os campos de marca, comprimento e bits não utilizados do Distinguished Encoding Rules (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.

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

Comentários

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

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

Confira também

IX509PublicKey