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.

Syntax

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 se crea mediante hash solo la matriz de bytes que contiene la clave y excluye los campos de etiqueta, longitud y bits sin usar.

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 ejecuta 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, entre otros, los de la tabla siguiente. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.

Código y valor devueltos Description
CERTSRV_E_PROPERTY_EMPTY
No se encontró el identificador del objeto de algoritmo o los parámetros de clave pública.

Observaciones

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

Requirement Importancia
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo admitido Windows Server 2008 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
Header certenroll.h
DLL de CertEnroll.dll

Consulte también

IX509PublicKey