PFN_CRYPT_GET_SIGNER_CERTIFICATE fonction de rappel (wincrypt.h)
La fonction de rappel fournie par l’utilisateur CryptGetSignerCertificateCallback est utilisée avec la structure CRYPT_VERIFY_MESSAGE_PARA pour obtenir et vérifier le certificat d’un signataire de message.
Syntaxe
PFN_CRYPT_GET_SIGNER_CERTIFICATE PfnCryptGetSignerCertificate;
PCCERT_CONTEXT PfnCryptGetSignerCertificate(
[in] void *pvGetArg,
[in] DWORD dwCertEncodingType,
[in] PCERT_INFO pSignerId,
[in] HCERTSTORE hMsgCertStore
)
{...}
Paramètres
[in] pvGetArg
Pointeur vers les données définies par l’utilisateur transmises à la fonction de vérification comme spécifié dans la structure CRYPT_VERIFY_MESSAGE_PARA .
[in] dwCertEncodingType
Spécifie le type d’encodage utilisé. Il est toujours acceptable de spécifier les types d’encodage de certificat et de message en les combinant avec une opération OR au niveau du bit, comme illustré dans l’exemple suivant :
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING
Les types d’encodage actuellement définis sont les suivants :
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pSignerId
Pointeur vers une structure CERT_INFO contenant l’émetteur et le numéro de série. Peut avoir la valeur NULL s’il n’y a pas de contenu ou de signataire.
[in] hMsgCertStore
Handle du magasin de certificats contenant tous les certificats et listes de contrôle d’accès dans le message signé.
Valeur retournée
Si un certificat de signataire est trouvé, la fonction retourne un pointeur vers un CERT_CONTEXT en lecture seule. Le CERT_CONTEXT retourné a été obtenu à partir d’un magasin de certificats ou a été créé à l’aide de CertCreateCertificateContext. Dans les deux cas, il doit être libéré à l’aide de CertFreeCertificateContext. Si cette fonction échoue, la valeur de retour est NULL.
Remarques
Si le message ne contient pas de contenu ou de signataires, la fonction est appelée avec pSignerId défini sur NULL.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | wincrypt.h |