Freigeben über


CertFindSubjectInCTL-Funktion (wincrypt.h)

Die CertFindSubjectInCTL-Funktion versucht, den angegebenen Antragsteller in einer Zertifikatvertrauensliste (Certificate Trust List , CTL) zu finden. Ein Antragsteller kann entweder durch den gesamten Kontext des Zertifikats oder durch einen eindeutigen Bezeichner des Antragstellers des Zertifikats identifiziert werden, z. B. der SHA1-Hash des Zertifikatausstellers und der Seriennummer.

Syntax

PCTL_ENTRY CertFindSubjectInCTL(
  [in] DWORD         dwEncodingType,
  [in] DWORD         dwSubjectType,
  [in] void          *pvSubject,
  [in] PCCTL_CONTEXT pCtlContext,
  [in] DWORD         dwFlags
);

Parameter

[in] dwEncodingType

Gibt den verwendeten Codierungstyp an. Derzeit werden nur X509_ASN_ENCODING und PKCS_7_ASN_ENCODING verwendet. In Zukunft können jedoch weitere Codierungstypen hinzugefügt werden. Verwenden Sie für einen der aktuellen Codierungstypen Folgendes:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.

[in] dwSubjectType

Gibt den Typ des Antragstellers an, nach dem in der CTL gesucht werden soll. Kann für eine Standardsuche NULL sein.

Wert Bedeutung
CTL_CERT_SUBJECT_TYPE
pvSubject-Datentyp : Zeiger auf eine CERT_CONTEXT-Struktur .

Die SubjectAlgorithm der CTL wird untersucht, um die Darstellung der Identität des Antragstellers zu bestimmen. Anfänglich werden nur SHA1- und MD5-Hashes als Werte für SubjectAlgorithm unterstützt. Die entsprechende Hasheigenschaft wird aus der CERT_CONTEXT-Struktur abgerufen.

CTL_ANY_SUBJECT_TYPE
pvSubject-Datentyp : Zeiger auf eine CTL_ANY_SUBJECT_INFO-Struktur .

Der SubjectAlgorithm-Member dieser Struktur muss mit dem Algorithmustyp der CTL übereinstimmen, und das SubjectIdentifier-Element muss mit einem der CTL-Einträge übereinstimmen.

 

Der Hash des Zertifikats oder das SubjectIdentifier-Element der CTL_ANY_SUBJECT_INFO-Struktur wird als Schlüssel beim Durchsuchen der Betreffeinträge verwendet. Zwischen dem Schlüssel und dem SubjectIdentifier des Eintrags wird ein binärer Speichervergleich durchgeführt.

Wenn dwSubjectType auf einen der vorherigen Werte festgelegt ist, wird dwEncodingType nicht verwendet.

[in] pvSubject

Zeiger, der in Verbindung mit dem dwSubjectType-Parameter verwendet wird.

[in] pCtlContext

Ein Zeiger auf die CTL_CONTEXT Struktur, die durchsucht wird.

[in] dwFlags

Für die zukünftige Verwendung reserviert und muss null sein.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert der Eintrag, wenn er gefunden wird.

Wenn bei der Funktion ein Fehler auftritt, ist der Rückgabewert NULL. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten. Es folgen einige mögliche Fehlercodes.

Rückgabecode Beschreibung
CRYPT_E_NOT_FOUND
Der Betreff wurde in der CTL nicht gefunden.
E_INVALIDARG
Der dwSubjectType-Parameter wurde weder CTL_CERT_SUBJECT_TYPE noch CTL_ANY_SUBJECT_TYPE.
NTE_BAD_ALGID
Das SubjectAlgorithm-Element der CTL wurde weder SHA1 noch MD5 zugeordnet.

Hinweise

Der Hash des Zertifikats oder der SubjectIdentifier-Member der CTL_ANY_SUBJECT_INFO-Struktur wird beim Durchsuchen der Antragstellereinträge als Schlüssel verwendet. Zwischen dem Schlüssel und dem SubjectIdentifier des Eintrags wird ein binärer Speichervergleich durchgeführt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile wincrypt.h
Bibliothek Crypt32.lib
DLL Crypt32.dll

Weitere Informationen

CERT_CONTEXT

CTL_ANY_SUBJECT_INFO

CTL_CONTEXT

CertFindCTLInStore

Wartungsfunktionen für Zertifikat- und Zertifikatspeicher