Funzione CryptCreateKeyIdentifierFromCSP (wincrypt.h)
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
[in] pPubKeyStruc
Puntatore a una struttura
[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
funzioni dell'identificatore di chiave