Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die CertGetNameString--Funktion ruft den Antragsteller- oder Ausstellernamen aus einem Zertifikat CERT_CONTEXT Struktur ab und konvertiert ihn in eine NULL--terminated-Zeichenfolge.
Syntax
DWORD CertGetNameStringA(
[in] PCCERT_CONTEXT pCertContext,
[in] DWORD dwType,
[in] DWORD dwFlags,
[in] void *pvTypePara,
[out] LPSTR pszNameString,
[in] DWORD cchNameString
);
Parameter
[in] pCertContext
Ein Zeiger auf einen CERT_CONTEXT Zertifikatkontext, der einen Antragsteller- und Ausstellernamen enthält, der konvertiert werden soll.
[in] dwType
DWORD- angibt, wie der Name gefunden werden soll und wie die Ausgabe formatiert werden soll.
| Wert | Bedeutung |
|---|---|
|
Wenn das Zertifikat über eine Alternative Antragstellername-Erweiterung oder einen alternativen Ausstellernamen verfügt, wird die erste rfc822Name-Option verwendet. Wenn in der Erweiterung keine rfc822Name-Auswahl gefunden wird, wird das Feld "Antragstellername" für das E-Mail-OID verwendet. Wenn entweder rfc822Name oder das E-Mail-OID gefunden wird, wird die Zeichenfolge verwendet. Andernfalls wird eine leere Zeichenfolge zurückgegeben (zurückgegebene Zeichenanzahl ist 1). pvTypePara wird nicht verwendet und wird auf NULL-festgelegt. |
|
Konvertiert das BLOB des Antragstellernamens durch Aufrufen CertNameToStr-. pvTypePara verweist auf ein DWORD- mit dem dwStrType an CertNameToStrübergeben. Wenn das Feld "Antragstellername" leer ist und das Zertifikat über die Erweiterung "Alternativer Antragstellername" verfügt, wird die erste Auswahl des Verzeichnisnamens aus CertNameToStrverwendet. |
|
pvTypePara verweist auf einen Objektbezeichner (OID), der das zurückzugebende Namensattribute angibt. Wenn z. B. pvTypePara szOID_COMMON_NAME ist, wird das Element "Antragstellername" verwendet. Wenn das Element "Antragstellername" leer ist und das Zertifikat über eine Erweiterung des alternativen Antragstellernamens verfügt, wird die erste Verzeichnisname-Option verwendet. |
|
Durchlaufen Sie die folgende Liste der Namensattribute und verwendet die Erweiterung "Antragstellername" oder "Alternativer Antragstellername" für das erste Vorkommen von: szOID_COMMON_NAME, szOID_ORGANIZATIONAL_UNIT_NAME, szOID_ORGANIZATION_NAME oder szOID_RSA_emailAddr.
Wenn eines dieser Attribute nicht gefunden wird, verwendet die Erweiterung "Alternativer Antragstellername" für eine rfc822Name-Auswahl. Wenn noch keine Übereinstimmung vorhanden ist, wird das erste Attribut verwendet. pvTypePara wird nicht verwendet und wird auf NULL-festgelegt. |
|
Überprüft das Zertifikat auf eine CERT_FRIENDLY_NAME_PROP_ID-Eigenschaft. Wenn das Zertifikat über diese Eigenschaft verfügt, wird es zurückgegeben. Wenn das Zertifikat nicht über die Eigenschaft verfügt, wird die CERT_NAME_SIMPLE_DISPLAY_TYPE zurückgegeben. |
|
Wenn das Zertifikat über eine Alternative Antragstellername-Erweiterung für Aussteller verfügt, suchen Sie nach der ersten DNSName-Auswahl.
Wenn die DNSName-Auswahl in der Erweiterung nicht gefunden wird, durchsuchen Sie das Feld "Antragstellername" nach dem CN OID , "2.5.4.3". Wenn der DNSName oder CN OID gefunden wird, geben Sie die Zeichenfolge zurück. Geben Sie andernfalls eine leere Zeichenfolge zurück. |
|
Wenn das Zertifikat über eine Alternative Antragstellername-Erweiterung für Aussteller verfügt, suchen Sie nach der ersten URL-Auswahl. Wenn die URL-Auswahl gefunden wird, geben Sie die Zeichenfolge zurück. Geben Sie andernfalls eine leere Zeichenfolge zurück. |
|
Wenn das Zertifikat über die Erweiterung "Alternativer Antragstellername" verfügt, suchen Sie nach einer pszObjId == szOID_NT_PRINCIPAL_NAME ("1.3.6.1.4.1.311.20.2.3").
Wenn der UPN-OID gefunden wird, decodieren Sie das BLOB als X509_UNICODE_ANY_STRING, und geben Sie die decodierte Zeichenfolge zurück. Geben Sie andernfalls eine leere Zeichenfolge zurück. |
[in] dwFlags
Gibt den Typ der erforderlichen Verarbeitung an.
| Wert | Bedeutung |
|---|---|
|
Erwirbt den Namen des Ausstellers. Wenn sie nicht festgelegt ist, wird der Name des Betreffs erfasst. |
|
Überspringt den standardmäßigen anfänglichen Versuch, den Wert als UTF8 zu decodieren und als 8-Bit-Zeichen zu decodieren. |
|
Wenn der dwType Parameter auf CERT_NAME_DNS_TYPEfestgelegt ist, werden alle anwendbaren Namen für den angegebenen DNS-Wert zurückgegeben. Wenn kein DNS-Name vorhanden ist, aber eine CN-Komponente im Betreff vorhanden ist, wird stattdessen der CN zurückgegeben. Wenn ein CN und ein DNS-Name vorhanden sind, werden nur die DNS-Namen zurückgegeben. Dies imitiert die SSL-Chain-Gebäuderichtlinie. Wenn Sie dieses Kennzeichen für einen anderen Namenstyp als CERT_NAME_DNS_TYPEfestlegen, gibt diese Funktion eine leere Zeichenfolge mit Null-Beendigung zurück.
Windows 8 und Windows Server 2012: Unterstützung für dieses Flag beginnt. |
|
Dieses Flag ermöglicht die Decodierung von IA5String- Zeichenfolgen in Unicode-Zeichenfolgenwerte basierend auf dem dwType Parameterwert wie unten definiert:
|
[in] pvTypePara
Ein Zeiger auf eine DWORD-, die den dwStrType- enthält, oder einen Objektbezeichner (OID), der das Namensattribute angibt. Der typ, auf den verwiesen wird, wird durch den Wert von dwTypebestimmt.
[out] pszNameString
Ein Zeiger auf einen zugewiesenen Puffer, um die zurückgegebene Zeichenfolge zu empfangen. Wenn pszNameString- nicht NULL- ist und cchNameString- nicht null ist, ist pszNameString- eine NULL--terminated-Zeichenfolge.
Wenn CERT_NAME_SEARCH_ALL_NAMES_FLAG im parameter dwFlags angegeben wird und CERT_NAME_DNS_TYPE im dwType--Parameter festgelegt wird, enthält die zurückgegebene Zeichenfolge alle DNS-Namen, die angewendet werden. Jede Zeichenfolge in der Ausgabezeichenfolge wird null beendet, und die letzte Zeichenfolge wird doppelt null beendet. Wenn keine DNS-Namen gefunden werden, wird eine einzelne leere Zeichenfolge mit Null beendet.
[in] cchNameString
Größe der zurückgegebenen Zeichenfolge in Zeichen. Die Größe muss das beendende NULL-Zeichen Zeichen enthalten.
Rückgabewert
Gibt die Anzahl der konvertierten Zeichen zurück, einschließlich des endenden Nullzeichens. Wenn pszNameString-NULL- ist oder cchNameString null ist, wird die erforderliche Größe der Zielzeichenfolge zurückgegeben (einschließlich des endierenden NULL- Zeichens). Wenn der angegebene Namenstyp nicht gefunden wird, wird eine null--terminated leere Zeichenfolge mit einer zurückgegebenen Zeichenanzahl von 1 zurückgegeben.
Bemerkungen
Anmerkung
Der wincrypt.h-Header definiert CertGetNameString als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
| Anforderung | Wert |
|---|---|
| mindestens unterstützte Client- | Windows XP [Desktop-Apps | UWP-Apps] |
| mindestens unterstützte Server- | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
| Zielplattform- | Fenster |
| Header- | wincrypt.h |
| Library | Crypt32.lib |
| DLL- | Crypt32.dll |