Partager via


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
CRYPT_E_NO_MATCH
Tous les attributs n’ont pas été trouvés et mis en correspondance.
ERROR_FILE_NOT_FOUND
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

Voir aussi

CertFindCertificateInStore

fonctions Gestion des données