Funzione CryptGetMessageCertificates (wincrypt.h)
La funzione CryptGetMessageCertificates restituisce l'handle di un archivio certificati aperto contenente i certificati e i certificati del messaggio. Questa funzione chiama CertOpenStore usando il tipo di provider CERT_STORE_PROV_PKCS7 come parametro lpszStoreProvider .
Sintassi
HCERTSTORE CryptGetMessageCertificates(
[in] DWORD dwMsgAndCertEncodingType,
[in] HCRYPTPROV_LEGACY hCryptProv,
[in] DWORD dwFlags,
[in] const BYTE *pbSignedBlob,
[in] DWORD cbSignedBlob
);
Parametri
[in] dwMsgAndCertEncodingType
Specifica il tipo di codifica usato. È sempre accettabile specificare sia i tipi di codifica del certificato che dei messaggi combinandoli con un'operazione bit per bit or , 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] hCryptProv
Questo parametro non viene usato e deve essere impostato su NULL.
Windows Server 2003 e Windows XP: Handle del CSP passato a CertOpenStore. Per altre informazioni, vedere CertOpenStore. A meno che non esista un motivo forte per passare un provider di crittografia specifico in hCryptProv, passare zero per causare l'acquisizione del provider RSA o DSS predefinito.
Il tipo di dati di questo parametro è HCRYPTPROV.
[in] dwFlags
Flag passati a CertOpenStore. Per altre informazioni, vedere CertOpenStore.
[in] pbSignedBlob
Puntatore a una struttura di CRYPT_INTEGER_BLOB buffer contenente il messaggio firmato.
[in] cbSignedBlob
Dimensioni, in byte, del messaggio firmato.
Valore restituito
Restituisce l'archivio certificati contenente i certificati e i certificati del messaggio. Per un errore, viene restituito NULL.
Di seguito viene elencato il codice di errore più comunemente restituito dalla funzione GetLastError .
Codice restituito | Descrizione |
---|---|
|
Tipi di codifica del messaggio e del certificato non validi. Attualmente sono supportati solo PKCS_7_ASN_ENCODING e X509_ASN_ENCODING. |
Se la funzione ha esito negativo, GetLastError potrebbe restituire un errore di codifica astratta Notation One (ASN.1). Per informazioni su questi errori, vedere Codifica ASN.1/Decodifica dei valori restituiti.
Commenti
Usare GetLastError per determinare il motivo di eventuali errori.
Esempio
Per un esempio che usa questa funzione, vedere Esempio di programma C: impostazione e recupero delle proprietà dell'archivio certificati.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | wincrypt.h |
Libreria | Crypt32.lib |
DLL | Crypt32.dll |