Fonction CertIsRDNAttrsInCertificateName (wincrypt.h)
La fonction CertIsRDNAttrsInCertificateName compare les attributs du nom du certificat au CERT_RDN spécifié pour déterminer si tous les attributs y sont inclus. La comparaison itère dans le CERT_RDN et recherche une correspondance d’attribut dans l’un des CERT_RDNdu nom du certificat.
Syntaxe
BOOL CertIsRDNAttrsInCertificateName(
[in] DWORD dwCertEncodingType,
[in] DWORD dwFlags,
[in] PCERT_NAME_BLOB pCertName,
[in] PCERT_RDN pRDN
);
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
Les types d’encodage actuellement définis sont les suivants :
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] dwFlags
CERT_UNICODE_IS_RDN_ATTRS_FLAG doit être défini si le pRDN a été initialisé avec des chaînes Unicode comme dans CryptEncodeObject avec lpszStructType défini sur X509_UNICODE_NAME.
CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG est défini pour effectuer une correspondance qui ne respecte pas la casse. Sinon, une correspondance exacte et sensible à la casse est effectuée.
[in] pCertName
Pointeur vers un CRYPT_INTEGER_BLOB qui contient le nom de l’objet ou de l’émetteur encodé.
[in] pRDN
Tableau de structures CERT_RDN qui contiennent les attributs à trouver dans le nom. Le membre CERT_RDN_ATTR de la structure CERT_RDN se comporte selon les règles suivantes.
- Si pszObjId a la valeur NULL, l’identificateur d’objet d’attribut (OID) est ignoré.
- Si dwValueType est CERT_RDN_ANY_TYPE, le type de valeur est ignoré.
- Si le membre pbData de Value est NULL, n’importe quelle valeur peut être une correspondance.
Valeur retournée
Si la fonction réussit et que toutes les valeurs RDN dans le CERT_RDN spécifié se trouvent dans le nom du certificat, la valeur de retour est différente de zéro (TRUE).
Si la fonction échoue ou s’il existe des valeurs RDN dans le CERT_RDN spécifié qui ne figurent pas dans le nom du certificat, la valeur de retour est zéro (FALSE). Pour obtenir des informations d’erreur étendues, appelez GetLastError.
Le tableau suivant répertorie certains codes d’erreur possibles.
Code de retour | Description |
---|---|
|
Tous les attributs n’ont pas été trouvés et mis en correspondance. |
|
Type d’encodage de certificat non valide. Actuellement, seule X509_ASN_ENCODING est prise en charge. |
Si la fonction échoue, GetLastError peut renvoyer une erreur d’encodage/décodage asN.1 ( Abstract Syntax Notation One ). Pour plus d’informations sur ces erreurs, consultez Valeurs de retour d’encodage/décodage ASN.1.
Remarques
Actuellement, seule une correspondance exacte et respectant la casse est prise en charge.
Configuration requise
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 |
Bibliothèque | Crypt32.lib |
DLL | Crypt32.dll |