CertGetIntendedKeyUsage-Funktion (wincrypt.h)

Die CertGetIntendedKeyUsage-Funktion ruft die gewünschten Schlüsselverwendungsbytes aus einem Zertifikat ab. Die beabsichtigte Schlüsselverwendung kann entweder in der erweiterung szOID_KEY_USAGE ("2.5.29.15") oder szOID_KEY_ATTRIBUTES ("2.5.29.2") sein.

Syntax

BOOL CertGetIntendedKeyUsage(
  [in]  DWORD      dwCertEncodingType,
  [in]  PCERT_INFO pCertInfo,
  [out] BYTE       *pbKeyUsage,
  [in]  DWORD      cbKeyUsage
);

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] pCertInfo

Ein Zeiger auf CERT_INFO Struktur des angegebenen Zertifikats.

[out] pbKeyUsage

Ein Zeiger auf einen Puffer, um die beabsichtigte Schlüsselverwendung zu empfangen. In der folgenden Liste sind die aktuell definierten Werte aufgeführt. Diese können mithilfe bitweiser OR-Vorgänge kombiniert werden.

  • CERT_DATA_ENCIPHERMENT_KEY_USAGE
  • CERT_DIGITAL_SIGNATURE_KEY_USAGE
  • CERT_KEY_AGREEMENT_KEY_USAGE
  • CERT_KEY_CERT_SIGN_KEY_USAGE
  • CERT_KEY_ENCIPHERMENT_KEY_USAGE
  • CERT_NON_REPUDIATION_KEY_USAGE
  • CERT_OFFLINE_CRL_SIGN_KEY_USAGE

[in] cbKeyUsage

Die Größe des Puffers in Bytes, auf den pbKeyUsage verweist. Derzeit belegt die beabsichtigte Schlüsselverwendung 1 oder 2 Bytes Daten.

Rückgabewert

Wenn das Zertifikat keine beabsichtigten Schlüsselverwendungsbytes enthält, wird FALSE zurückgegeben, und pbKeyUsage wird auf null gesetzt. Andernfalls wird TRUE zurückgegeben, und die Bytesanzahl bis zu cbKeyUsage werden in pbKeyUsage kopiert. Alle verbleibenden Bytes, die nicht kopiert werden, werden auf Null gesetzt.

GetLastError gibt null zurück, wenn keine der erforderlichen Erweiterungen gefunden wird.

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 Encoding/Decoding Return Values.

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

Datenverwaltung-Funktionen