Share via


PFN_CRYPT_GET_SIGNER_CERTIFICATE Rückruffunktion (wincrypt.h)

Die vom Benutzer bereitgestellte Rückruffunktion CryptGetSignerCertificateCallback wird mit der CRYPT_VERIFY_MESSAGE_PARA-Struktur verwendet, um das Zertifikat eines Nachrichtensignierers abzurufen und zu überprüfen.

Syntax

PFN_CRYPT_GET_SIGNER_CERTIFICATE PfnCryptGetSignerCertificate;

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

Parameter

[in] pvGetArg

Ein Zeiger auf benutzerdefinierte Daten, die an die Überprüfungsfunktion übergeben werden, wie in der CRYPT_VERIFY_MESSAGE_PARA-Struktur angegeben.

[in] dwCertEncodingType

Gibt den Typ der verwendeten Codierung an. Es ist immer akzeptabel, sowohl den Zertifikat- als auch den Nachrichtencodierungstyp anzugeben, indem sie mit einem bitweisen OR-Vorgang kombiniert werden, wie im folgenden Beispiel gezeigt:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

Derzeit definierte Codierungstypen sind:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] pSignerId

Ein Zeiger auf eine CERT_INFO Struktur, die den Aussteller und die Seriennummer enthält. Kann NULL sein, wenn kein Inhalt oder Signierer vorhanden ist.

[in] hMsgCertStore

Ein Handle für den Zertifikatspeicher, der alle Zertifikate und CRLs in der signierten Nachricht enthält.

Rückgabewert

Wenn ein Signaturzertifikat gefunden wird, gibt die Funktion einen Zeiger auf eine schreibgeschützte CERT_CONTEXT zurück. Die zurückgegebene CERT_CONTEXT wurde entweder aus einem Zertifikatspeicher abgerufen oder mit CertCreateCertificateContext erstellt. In beiden Fällen muss es mithilfe von CertFreeCertificateContext freigegeben werden. Wenn diese Funktion fehlschlägt, ist der Rückgabewert NULL.

Hinweise

Wenn die Nachricht keinen Inhalt oder Signierer enthält, wird die Funktion aufgerufen, wobei pSignerId auf NULL festgelegt ist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wincrypt.h