Función CryptCreateKeyIdentifierFromCSP (wincrypt.h)

Importante Esta API está en desuso. El software nuevo y existente debe empezar a usar las API cryptography Next Generation. Microsoft puede quitar esta API en futuras versiones.
 
La función CryptCreateKeyIdentifierFromCSP crea un identificador de clave a partir de una clave públicadelproveedor de servicios criptográficos (CSP) CRYPT_INTEGER_BLOB.

Esta función convierte una PUBLICKEYSTRUC de un CSP en una estructura X.509CERT_PUBLIC_KEY_INFO y la codifica. A continuación, la estructura codificada se aplica un algoritmo hash con el algoritmo SHA1 para obtener el identificador de clave.

Sintaxis

BOOL CryptCreateKeyIdentifierFromCSP(
  [in]      DWORD                dwCertEncodingType,
  [in]      LPCSTR               pszPubKeyOID,
  [in]      const PUBLICKEYSTRUC *pPubKeyStruc,
  [in]      DWORD                cbPubKeyStruc,
  [in]      DWORD                dwFlags,
  [in]      void                 *pvReserved,
  [out]     BYTE                 *pbHash,
  [in, out] DWORD                *pcbHash
);

Parámetros

[in] dwCertEncodingType

Especifica el tipo de codificación utilizado. Siempre es aceptable especificar los tipos de codificación de certificados y mensajes mediante su combinación con una operación OR bit a bit, como se muestra en el ejemplo siguiente:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

Los tipos de codificación definidos actualmente son:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] pszPubKeyOID

Puntero al identificador de objeto de clave pública (OID). Un valor que no es NULL invalida el OID predeterminado obtenido del miembro aiKeyAlg de la estructura a la que apunta pPubKeyStruc. Para usar el OID predeterminado, establezca pszPubKeyOID en NULL.

[in] pPubKeyStruc

Puntero a una estructura PUBLICKEYSTRUC . En el caso predeterminado, el miembro aiKeyAlg de la estructura a la que apunta pPubKeyStruc se usa para buscar el OID de clave pública. Cuando el valor de pszPubKeyOID no es NULL, invalida el valor predeterminado.

[in] cbPubKeyStruc

Tamaño, en bytes, de PUBLICKEYSTRUC.

[in] dwFlags

Reservado para uso futuro y debe ser cero.

[in] pvReserved

Reservado para uso futuro y debe ser NULL.

[out] pbHash

Puntero a un búfer para recibir el hash de la clave pública y el identificador de clave.

Para obtener el tamaño de esta información con fines de asignación de memoria, establezca este parámetro en NULL. Para obtener más información, vea Recuperación de datos de longitud desconocida.

[in, out] pcbHash

Puntero a un DWORD que especifica el tamaño, en bytes, del búfer al que apunta el parámetro pbHash . Cuando se devuelve la función, DWORD contiene el número de bytes almacenados en el búfer. Con el hash SHA1, la longitud del búfer necesario es veinte.

Valor devuelto

Si la función se ejecuta correctamente, la función devuelve un valor distinto de cero (TRUE).

Si se produce un error en la función, devuelve cero (FALSE). Para obtener información de error extendida, llame a GetLastError.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wincrypt.h
Library Crypt32.lib
Archivo DLL Crypt32.dll

Consulte también

CryptEnumKeyIdentifierProperties

CryptGetKeyIdentifierProperty

CryptSetKeyIdentifierProperty

Funciones de identificador de clave