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 |
---|---|
|
Non tutti gli attributi sono stati trovati e corrispondenti. |
|
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 |