PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC fonction de rappel (wincrypt.h)
Si une signature contient des paramètres encodés, la fonction de rappel PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC est appelée pour décoder et retourner l’identificateur de l’algorithme de hachage et éventuellement les paramètres de signature.
Syntaxe
PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC PfnCryptExtractEncodedSignatureParametersFunc;
BOOL PfnCryptExtractEncodedSignatureParametersFunc(
[in] DWORD dwCertEncodingType,
[in] PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm,
[out, optional] void **ppvDecodedSignPara,
[out] LPWSTR *ppwszCNGHashAlgid
)
{...}
Paramètres
[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 types d’encodage actuellement définis sont les suivants :
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pSignatureAlgorithm
Pointeur vers une structure CRYPT_ALGORITHM_IDENTIFIER qui contient l’identificateur d’objet de signature (OID) et ses paramètres encodés facultatifs.
[out, optional] ppvDecodedSignPara
Pointeur vers une adresse pour la structure de données des paramètres de signature décodés et alloués. Le retour de la mémoire tampon décodée est facultatif.
[out] ppwszCNGHashAlgid
Pointeur vers une adresse pour la chaîne Unicode allouée qui représente l’identificateur de l’algorithme de hachage CNG extrait des paramètres de signature encodés. Si cette fonction retourne TRUE, un pointeur non NULL doit être retourné.
Valeur retournée
Si la fonction réussit, la fonction retourne une valeur différente de zéro (TRUE).
Si la fonction échoue, elle retourne zéro (FALSE). Pour obtenir des informations d’erreur étendues, appelez GetLastError.
Si cette fonction de rappel ne prend pas en charge l’algorithme de signature, elle doit retourner FALSE et appeler SetLastError avec ERROR_NOT_SUPPORTED.
Remarques
La mémoire pour les paramètres ppvDecodedSignPara et ppwszCNGHashAlgid doit être allouée à l’aide de la fonction LocalAlloc .
Vous pouvez utiliser les fonctions de support OID pour déployer cette fonction de rappel. Wincrypt.h définit la constante suivante à cet effet.
Constant | Définition |
---|---|
CRYPT_OID_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC | « CryptDllExtractEncodedSignatureParameters » |
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | wincrypt.h |