Compartir a través de


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

El método ComputeKeyIdentifier crea un identificador a partir de un hash SHA-1 de 160 bits de la clave pública.

Sintaxis

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

Parámetros

[in] Algorithm

Valor de la enumeración KeyIdentifierHashAlgorithm que especifica qué algoritmo hash se va a usar para crear el identificador de clave.

Si este valor es SKIHashDefault o SKIHashSha1, el identificador solo se crea mediante el hash de la matriz de bytes que contiene la clave y excluyendo la etiqueta, longitud y bits sin usar de la reglas de codificación distinguida (DER).

Si este valor es SKIHashCapiSha1, el identificador se crea mediante el hash de la matriz de bytes con codificación DER que contiene la etiqueta, longitud, número de bits sin usar y la clave pública.

[in] Encoding

Valor de enumeración EncodingType que especifica el tipo de codificación Unicode que se va a aplicar al hash contenido en el parámetro pValue . El valor predeterminado es XCN_CRYPT_STRING_BASE64.

[out] pValue

Puntero a una variable BSTR que contiene el identificador de clave.

Valor devuelto

Si la función se realiza correctamente, la función devuelve S_OK.

Si se produce un error en la función, devuelve un valor HRESULT que indica el error. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.

Código o valor devuelto Descripción
CERTSRV_E_PROPERTY_EMPTY
No se encontró el identificador de objeto de algoritmo o los parámetros de clave pública.

Comentarios

Debe llamar al método InitializeFromEncodedPublicKeyInfo o al método Initialize para inicializar el objeto de clave pública antes de llamar a ComputeKeyIdentifier.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado certenroll.h
Archivo DLL CertEnroll.dll

Consulte también

IX509PublicKey