Funzione CertIsRDNAttrsInCertificateName (wincrypt.h)

La funzione CertIsRDNAttrsInCertificateName confronta gli attributi nel nome del certificato con il CERT_RDN specificato per determinare se sono inclusi tutti gli attributi. Il confronto scorre il CERT_RDN e cerca una corrispondenza tra attributi in uno dei CERT_RDNdel nome del certificato.

Sintassi

BOOL CertIsRDNAttrsInCertificateName(
  [in] DWORD           dwCertEncodingType,
  [in] DWORD           dwFlags,
  [in] PCERT_NAME_BLOB pCertName,
  [in] PCERT_RDN       pRDN
);

Parametri

[in] dwCertEncodingType

Specifica il tipo di codifica utilizzato. È sempre accettabile specificare sia il certificato che i tipi di codifica dei messaggi combinandoli con un'operazione OR bit per bit, come illustrato nell'esempio seguente:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

I tipi di codifica attualmente definiti sono:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] dwFlags

CERT_UNICODE_IS_RDN_ATTRS_FLAG deve essere impostato se il pRDN è stato inizializzato con stringhe Unicode come in CryptEncodeObject con lpszStructType impostato su X509_UNICODE_NAME.

CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG è impostato per eseguire una corrispondenza senza distinzione tra maiuscole e minuscole. In caso contrario, viene eseguita una corrispondenza esatta con distinzione tra maiuscole e minuscole.

[in] pCertName

Puntatore a un CRYPT_INTEGER_BLOB che contiene l'oggetto codificato o il nome dell'autorità emittente.

[in] pRDN

Matrice di strutture CERT_RDN che contengono gli attributi da trovare nel nome. Il membro CERT_RDN_ATTR della struttura CERT_RDN si comporta in base alle regole seguenti.

  • Se pszObjId è NULL, l'identificatore dell'oggetto attributo (OID) viene ignorato.
  • Se dwValueType è CERT_RDN_ANY_TYPE, il tipo di valore viene ignorato.
  • Se il membro pbData di Value è NULL, qualsiasi valore può essere una corrispondenza.

Valore restituito

Se la funzione ha esito positivo e tutti i valori RDN nel CERT_RDN specificato sono nel nome del certificato, il valore restituito è diverso da zero (TRUE).

Se la funzione ha esito negativo o se sono presenti valori RDN nel CERT_RDN specificato che non sono nel nome del certificato, il valore restituito è zero (FALSE). Per informazioni sugli errori estesi, chiamare GetLastError.

Nella tabella seguente sono elencati alcuni codici di errore possibili.

Codice restituito Descrizione
CRYPT_E_NO_MATCH
Non tutti gli attributi sono stati trovati e corrispondenti.
ERROR_FILE_NOT_FOUND
Tipo di codifica del certificato non valido. Attualmente è supportato solo X509_ASN_ENCODING.
 

Se la funzione ha esito negativo, GetLastError può restituire un errore di codifica/decodifica ASN.1 ( Abstract Syntax Notation One ). Per informazioni su questi errori, vedere Codifica ASN.1/Decodifica dei valori restituiti.

Commenti

Attualmente è supportata solo una corrispondenza esatta con distinzione tra maiuscole e minuscole.

Requisiti

   
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wincrypt.h
Libreria Crypt32.lib
DLL Crypt32.dll

Vedi anche

CertFindCertificateInStore

Funzioni Gestione dati