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 |