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
E_INVALIDARG
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

Vedi anche

CryptVerifyMessageSignature

Funzioni di messaggio semplificate