PFN_CRYPT_GET_SIGNER_CERTIFICATE funzione di callback (wincrypt.h)

La funzione di callback fornita dall'utente CryptGetSignerCertificateCallback viene usata con la struttura CRYPT_VERIFY_MESSAGE_PARA per ottenere e verificare il certificato del firmatario di un messaggio.

Sintassi

PFN_CRYPT_GET_SIGNER_CERTIFICATE PfnCryptGetSignerCertificate;

PCCERT_CONTEXT PfnCryptGetSignerCertificate(
  [in] void *pvGetArg,
  [in] DWORD dwCertEncodingType,
  [in] PCERT_INFO pSignerId,
  [in] HCERTSTORE hMsgCertStore
)
{...}

Parametri

[in] pvGetArg

Puntatore ai dati definiti dall'utente passati alla funzione di verifica come specificato nella struttura CRYPT_VERIFY_MESSAGE_PARA .

[in] dwCertEncodingType

Specifica il tipo di codifica utilizzata. È sempre accettabile specificare sia il certificato che i tipi di codifica dei messaggi combinandoli con un'operazione 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] pSignerId

Puntatore a una struttura CERT_INFO contenente l'emittente e il numero di serie. Può essere NULL se non è presente alcun contenuto o firmatario.

[in] hMsgCertStore

Handle per l'archivio certificati contenente tutti i certificati e i CRL nel messaggio firmato.

Valore restituito

Se viene trovato un certificato del firmatario, la funzione restituisce un puntatore a un CERT_CONTEXT di sola lettura. Il CERT_CONTEXT restituito è stato ottenuto da un archivio certificati o è stato creato usando CertCreateCertificateContext. In entrambi i casi, deve essere liberato usando CertFreeCertificateContext. Se questa funzione ha esito negativo, il valore restituito è NULL.

Commenti

Se il messaggio non contiene contenuto o firmatari, la funzione viene chiamata con pSignerId impostato su NULL.

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