CertIsRDNAttrsInCertificateName-Funktion (wincrypt.h)
Die CertIsRDNAttrsInCertificateName-Funktion vergleicht die Attribute im Zertifikatnamen mit dem angegebenen CERT_RDN , um zu bestimmen, ob alle Attribute dort enthalten sind. Der Vergleich durchläuft die CERT_RDN und sucht in einem der CERT_RDNs des Zertifikatnamens nach einer Attributvergleichung.
Syntax
BOOL CertIsRDNAttrsInCertificateName(
[in] DWORD dwCertEncodingType,
[in] DWORD dwFlags,
[in] PCERT_NAME_BLOB pCertName,
[in] PCERT_RDN pRDN
);
Parameter
[in] dwCertEncodingType
Gibt den verwendeten Codierungstyp an. Es ist immer akzeptabel, sowohl den Zertifikat- als auch den Nachrichtencodierungstyp anzugeben, indem sie mit einem bitweisen OR-Vorgang kombiniert werden, wie im folgenden Beispiel gezeigt:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING
Derzeit definierte Codierungstypen sind:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] dwFlags
CERT_UNICODE_IS_RDN_ATTRS_FLAG muss festgelegt werden, wenn der pRDN mit Unicode-Zeichenfolgen wie in CryptEncodeObject initialisiert wurde, wobei lpszStructType auf X509_UNICODE_NAME festgelegt wurde.
CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG ist so festgelegt, dass eine Übereinstimmung ohne Berücksichtigung der Groß-/Kleinschreibung erfolgt. Andernfalls wird eine genaue Übereinstimmung zwischen Groß- und Kleinschreibung durchgeführt.
[in] pCertName
Ein Zeiger auf eine CRYPT_INTEGER_BLOB , die den codierten Antragsteller- oder Ausstellernamen enthält.
[in] pRDN
Array von CERT_RDN Strukturen, die die attribute enthalten, die im Namen zu finden sind. Der CERT_RDN_ATTR Member der CERT_RDN-Struktur verhält sich gemäß den folgenden Regeln.
- Wenn pszObjIdNULL ist, wird der Attributobjektbezeichner (OID) ignoriert.
- Wenn dwValueType CERT_RDN_ANY_TYPE ist, wird der Werttyp ignoriert.
- Wenn das pbData-Element von ValueNULL ist, kann jeder Wert eine Übereinstimmung sein.
Rückgabewert
Wenn die Funktion erfolgreich ist und sich alle RDN-Werte im angegebenen CERT_RDN im Zertifikatnamen befinden, ist der Rückgabewert ungleich NULL (TRUE).
Wenn die Funktion fehlschlägt oder rdN-Werte in der angegebenen CERT_RDN vorhanden sind, die nicht im Zertifikatnamen enthalten sind, ist der Rückgabewert null (FALSE). Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.
In der folgenden Tabelle sind einige mögliche Fehlercodes aufgeführt.
Rückgabecode | Beschreibung |
---|---|
|
Es wurden nicht alle Attribute gefunden und abgeglichen. |
|
Ungültiger Zertifikatcodierungstyp. Derzeit wird nur X509_ASN_ENCODING unterstützt. |
Wenn die Funktion fehlschlägt, gibt GetLastError möglicherweise einen ASN.1-Codierungs-/Decodierungsfehler ( Abstract Syntax Notation One ) zurück. Informationen zu diesen Fehlern finden Sie unter ASN.1-Rückgabewerte für Codierung/Decodierung.
Hinweise
Derzeit wird nur eine genaue Übereinstimmung zwischen Groß- und Kleinschreibung unterstützt.
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | wincrypt.h |
Bibliothek | Crypt32.lib |
DLL | Crypt32.dll |