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 |
---|---|
|
Rufen Sie nur die Erweiterung ab. |
|
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 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 |