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 |