Condividi tramite


Funzione CryptCreateKeyIdentifierFromCSP (wincrypt.h)

Importante Questa API è deprecata. Il software nuovo ed esistente deve iniziare a usare API Di nuova generazione di crittografia. Microsoft potrebbe rimuovere questa API nelle versioni future.
 
La funzione CryptCreateKeyIdentifierFromCSP crea un identificatore di chiave da un provider di servizi di crittografia (CSP) chiave pubblicaCRYPT_INTEGER_BLOB.

Questa funzione converte un PUBLICKEYSTRUC di un CSP in una struttura X.509CERT_PUBLIC_KEY_INFO e la codifica. La struttura codificata viene quindi con hash con l'algoritmo SHA1 per ottenere l'identificatore di chiave.

Sintassi

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
);

Parametri

[in] dwCertEncodingType

Specifica il tipo di codifica utilizzato. È sempre accettabile specificare sia il certificato che i tipi di codifica dei messaggi combinandoli con un'operazione di OR bit per bit, come illustrato nell'esempio seguente:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

I tipi di codifica attualmente definiti sono:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] pszPubKeyOID

Puntatore alla chiave pubblica identificatore di oggetto (OID). Un valore non NULL esegue l'override dell'OID predefinito ottenuto dal membro aiKeyAlg della struttura a cui punta pPubKeyStruc. Per usare l'OID predefinito, impostare pszPubKeyOID su NULL.

[in] pPubKeyStruc

Puntatore a una struttura PUBLICKEYSTRUC. Nel caso predefinito, il membro aiKeyAlg della struttura a cui punta pPubKeyStruc viene usato per trovare l'OID della chiave pubblica. Quando il valore di pszPubKeyOID non è NULL, sostituisce il valore predefinito.

[in] cbPubKeyStruc

Dimensioni, in byte, dell'PUBLICKEYSTRUC.

[in] dwFlags

Riservato per uso futuro e deve essere zero.

[in] pvReserved

Riservato per uso futuro e deve essere NULL.

[out] pbHash

Puntatore a un buffer per ricevere l'hash della chiave pubblica e dell'identificatore di chiave.

Per ottenere le dimensioni di queste informazioni a scopo di allocazione della memoria, impostare questo parametro su NULL. Per altre informazioni, vedere Recupero di dati di lunghezza sconosciuta.

[in, out] pcbHash

Puntatore a un DWORD che specifica le dimensioni, in byte, del buffer a cui punta il parametro pbHash. Quando la funzione viene restituita, il DWORD contiene il numero di byte archiviati nel buffer. Usando l'hash SHA1, la lunghezza del buffer richiesto è venti.

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce un valore diverso da zero (TRUE).

Se la funzione ha esito negativo, restituisce zero (FALSE). Per informazioni sugli errori estesi, chiamare GetLastError.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP [solo app desktop]
server minimo supportato Windows Server 2003 [solo app desktop]
piattaforma di destinazione Finestre
intestazione wincrypt.h
libreria Crypt32.lib
dll Crypt32.dll

Vedere anche

CryptEnumKeyIdentifierProperties

CryptGetKeyIdentifierProperty

CryptSetKeyIdentifierProperty

funzioni dell'identificatore di chiave