Compartir a través de


Función CryptCreateKeyIdentifierFromCSP (wincrypt.h)

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

Esta función convierte un PUBLICKEYSTRUC de un CSP en una estructura deCERT_PUBLIC_KEY_INFO X.509 y la codifica. A continuación, la estructura codificada se 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 usado. Siempre es aceptable especificar los tipos de codificación de mensajes de certificado y combinándolos con una operación orOR 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 a la clave pública identificador de objeto (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, del 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 recuperar 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 la función devuelve, el 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 Valor
cliente mínimo admitido Windows XP [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2003 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de wincrypt.h
biblioteca de Crypt32.lib
DLL de Crypt32.dll

Consulte también

CryptEnumKeyIdentifierProperties

CryptGetKeyIdentifierProperty

CryptSetKeyIdentifierProperty

funciones de identificador de clave