Freigeben über


CertGetEnhancedKeyUsage-Funktion (wincrypt.h)

Die CertGetEnhancedKeyUsage-Funktion gibt Informationen aus der Erweiterten Schlüsselverwendungserweiterung (EKU ) oder der erweiterten EKU-Eigenschaft eines Zertifikats zurück. EKUs geben die gültige Verwendung des Zertifikats an.

Syntax

BOOL CertGetEnhancedKeyUsage(
  [in]      PCCERT_CONTEXT     pCertContext,
  [in]      DWORD              dwFlags,
  [out]     PCERT_ENHKEY_USAGE pUsage,
  [in, out] DWORD              *pcbUsage
);

Parameter

[in] pCertContext

Ein Zeiger auf einen CERT_CONTEXT Zertifikatkontext.

[in] dwFlags

Gibt an, ob die Funktion Über Erweiterungen eines Zertifikats, seine erweiterten Eigenschaften oder beides meldet. Wenn dieser Wert auf 0 festgelegt ist, gibt die Funktion die gültigen Verwendungen eines Zertifikats basierend auf der EKU-Erweiterung und dem erweiterten EKU-Eigenschaftswert des Zertifikats zurück.

Um nur den Wert der EKU-Erweiterung oder EKU-Eigenschaft zurückzugeben, legen Sie die folgenden Flags fest.

Wert Bedeutung
CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG
Rufen Sie nur die Erweiterung ab.
CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG
Ruft nur den erweiterten Eigenschaftswert ab.

[out] pUsage

Ein Zeiger auf eine CERT_ENHKEY_USAGE-Struktur (CERT_ENHKEY_USAGE ist ein alternativer Typdefinitionsname für die CTL_USAGE-Struktur ), die die gültigen Verwendungen des Zertifikats empfängt.

Dieser Parameter kann NULL sein, um die Größe der Schlüsselverwendung für Speicherbelegungszwecke festzulegen. Weitere Informationen finden Sie unter Abrufen von Daten mit unbekannter Länge.

[in, out] pcbUsage

Ein Zeiger auf ein DWORD , der die Größe der Struktur in Byte angibt, auf die pUsage verweist. Wenn die Funktion zurückgibt, enthält das DWORD die Größe der Struktur in Bytes.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion ungleich null (TRUE) zurück.

Wenn die Funktion fehlschlägt, gibt sie null (FALSE) zurück.

Hinweise

Wenn ein Zertifikat über eine EKU-Erweiterung verfügt, listet diese Erweiterung Objektbezeichner (OIDs) für gültige Verwendungen dieses Zertifikats auf. In einer Microsoft-Umgebung kann ein Zertifikat auch über erweiterte EKU-Eigenschaften verfügen, die gültige Verwendungen für das Zertifikat angeben.

  • Wenn ein Zertifikat weder über eine EKU-Erweiterung noch über erweiterte EKU-Eigenschaften verfügt, wird angenommen, dass es für alle Verwendungen gültig ist.
  • Wenn sie entweder über eine EKU-Erweiterung oder eine erweiterte EKU-Eigenschaft verfügt, aber nicht über beide, ist sie nur für die Verwendungen gültig, die in der Erweiterung oder den erweiterten Eigenschaften angegeben sind.
  • Wenn ein Zertifikat sowohl über eine EKU-Erweiterung als auch über erweiterte EKU-Eigenschaften verfügt, ist es nur für die Verwendungen in beiden Listen gültig.
Wenn dwFlags auf null festgelegt ist, wird der cUsageIdentifier-Member der CERT_ENHKEY_USAGE-Struktur auf die Anzahl gültiger Verwendungen des Zertifikats festgelegt, die durch den Wert der EKU-Erweiterung und des Erweiterten EKU-Eigenschaftswerts bestimmt wird.

Wenn der cUsageIdentifier-Member null ist, ist das Zertifikat möglicherweise für alle Verwendungen gültig, oder das Zertifikat hat möglicherweise keine gültigen Verwendungen. Die Rückgabe eines Aufrufs von GetLastError kann verwendet werden, um zu bestimmen, ob das Zertifikat für alle Verwendungen oder für keine geeignet ist. Wenn GetLastError CRYPT_E_NOT_FOUND zurückgibt, ist das Zertifikat für alle Verwendungen geeignet. Wenn null zurückgegeben wird, hat das Zertifikat keine gültigen Verwendungen.

Anforderungen

   
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

CertSetEnhancedKeyUsage

Erweiterte Schlüsselverwendungsfunktionen