CertGetCertificateContextProperty-Funktion (wincrypt.h)

Die CertGetCertificateContextProperty Funktion ruft die Informationen in einer erweiterten Eigenschaft eines Zertifikatkontextsab.

Syntax

BOOL CertGetCertificateContextProperty(
  [in]      PCCERT_CONTEXT pCertContext,
  [in]      DWORD          dwPropId,
  [out]     void           *pvData,
  [in, out] DWORD          *pcbData
);

Parameter

[in] pCertContext

Ein Zeiger auf die CERT_CONTEXT Struktur des Zertifikats, das die abzurufende Eigenschaft enthält.

[in] dwPropId

Die abzurufende Eigenschaft. Derzeit definierte Bezeichner und der Datentyp, der in pvData- zurückgegeben werden soll, sind in der folgenden Tabelle aufgeführt.

CERT_ACCESS_STATE_PROP_ID

Datentyp des pvData-: Ein Zeiger auf einen DWORD- Wert.

Gibt einen DWORD- Wert zurück, der angibt, ob Schreibvorgänge in das Zertifikat beibehalten werden. Der DWORD- Wert wird nicht festgelegt, wenn sich das Zertifikat in einem Speicher oder in einem registrierungsbasierten Speicher befindet, der schreibgeschützt geöffnet wird.

CERT_AIA_URL_RETRIEVED_PROP_ID

Dieser Bezeichner ist reserviert.

CERT_ARCHIVED_KEY_HASH_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt einen zuvor gespeicherten verschlüsselten Schlüssel Hash- für den Zertifikatkontext zurück.

CERT_ARCHIVED_PROP_ID

Datentyp des pvData-: NULL-. Wenn die CertGetCertificateContextProperty Funktion "true" zurückgibt, ist die angegebene Eigenschafts-ID für die CERT_CONTEXTvorhanden.

Gibt an, dass das Zertifikat während Enumerationen übersprungen wird. Ein Zertifikat mit diesem Eigenschaftensatz wird mit expliziten Suchvorgängen gefunden, z. B. mit denen, mit denen ein Zertifikat mit einem bestimmten Hash oder einer Seriennummer gesucht wird. Dieser Eigenschaft sind keine Daten in pvData- zugeordnet.

CERT_AUTHORITY_INFO_ACCESS_PROP_ID

Dieser Bezeichner ist reserviert.

CERT_AUTO_ENROLL_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt eine mit Null beendete Unicode-Zeichenfolge zurück, die den Zertifikattyp benennt, für den das Zertifikat automatisch registriert wurde.

CERT_AUTO_ENROLL_RETRY_PROP_ID

Dieser Bezeichner ist reserviert.

CERT_BACKED_UP_PROP_ID

Dieser Bezeichner ist reserviert.

CERT_CA_DISABLE_CRL_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Deaktiviert den Abruf Zertifikatsperrliste (CRL) für Zertifikate, die von der Zertifizierungsstelle (CA) verwendet werden. Wenn das Zertifizierungsstellenzertifikat diese Eigenschaft enthält, muss es auch die eigenschaft CERT_CA_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID enthalten.

CERT_CA_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Enthält die Liste der ONLINE-Zertifikatstatusprotokoll- (OCSP)-URLs, die für vom Zertifizierungsstellenzertifikat ausgestellte Zertifikate verwendet werden sollen. Die Arrayinhalte sind die abstrakte Syntaxnotation One (ASN.1)-codierte Bytes einer X509_AUTHORITY_INFO_ACCESS Struktur, in der pszAccessMethod- auf szOID_PKIX_OCSPfestgelegt ist.

CERT_CROSS_CERT_DIST_POINTS_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Speicherort der Querzertifikate. Derzeit gilt dieser Bezeichner nur für Zertifikate und nicht für CRLs oder Zertifikatvertrauenslisten (CTLs).

Das BYTE--Array enthält eine ASN.1-codierte CROSS_CERT_DIST_POINTS_INFO Struktur, die mithilfe der CryptDecodeObject--Funktion mit einem X509_CROSS_CERT_DIST_POINTS Wert für den parameter lpszStuctType decodiert wird.

CERT_CTL_USAGE_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt ein Bytearray zurück, das eine ASN.1-codierte CTL_USAGE Struktur enthält.

CERT_DATE_STAMP_PROP_ID

Datentyp von pvData-: Ein Zeiger auf eine FILETIME--Struktur.

Zeitpunkt, zu dem das Zertifikat dem Speicher hinzugefügt wurde.

CERT_DESCRIPTION_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt die Eigenschaft zurück, die von der Zertifikatbenutzeroberfläche angezeigt wird. Mit dieser Eigenschaft kann der Benutzer die Verwendung des Zertifikats beschreiben.

CERT_EFS_PROP_ID

Dieser Bezeichner ist reserviert.

CERT_ENHKEY_USAGE_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt ein Bytearray zurück, das eine ASN.1-codierte CERT_ENHKEY_USAGE Struktur enthält. Diese Struktur enthält ein Array von Erweiterten Schlüsselverwendungs-Objektbezeichnern (OIDs), von denen jede eine gültige Verwendung des Zertifikats angibt.

CERT_ENROLLMENT_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Registrierungsinformationen der ausstehenden Anforderung, die RequestID, CADNSName, CAName und DisplayName enthält. Das Datenformat ist wie folgt definiert:

Bytes Inhalt
Erste 4 Bytes Ausstehende Anforderungs-ID
Nächste 4 Bytes CADNSName-Größe in Zeichen, einschließlich des endenden Nullzeichens, gefolgt von CADNSName-Zeichenfolge mit dem Beenden von NULL-Zeichen
Nächste 4 Bytes CAName-Größe in Zeichen, einschließlich des endenden Nullzeichens, gefolgt von der CAName-Zeichenfolge mit dem Beenden von NULL-Zeichen
Nächste 4 Bytes DisplayName-Größe in Zeichen, einschließlich des endenden Nullzeichens, gefolgt von der DisplayName-Zeichenfolge mit dem Beenden von NULL-Zeichen

CERT_EXTENDED_ERROR_INFO_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt eine mit Null beendete Unicode-Zeichenzeichenfolge zurück, die erweiterte Fehlerinformationen für den Zertifikatkontext enthält.

CERT_FORTEZZA_DATA_PROP_ID

Dieser Bezeichner ist reserviert.

CERT_FRIENDLY_NAME_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt eine mit Null beendete Unicode-Zeichenzeichenfolge zurück, die den Anzeigenamen für das Zertifikat enthält.

CERT_HASH_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt den SHA1-Hash zurück. Wenn der Hash nicht vorhanden ist, wird er mithilfe der funktion CryptHashCertificate berechnet.

CERT_HCRYPTPROV_OR_NCRYPT_KEY_HANDLE_PROP_ID

Datentyp pvData-: Ein Zeiger auf einen HCRYPTPROV_OR_NCRYPT_KEY_HANDLE Datentyp.

Gibt entweder die HCRYPTPROV- oder NCRYPT_KEY_HANDLE Auswahl zurück.

CERT_HCRYPTPROV_TRANSFER_PROP_ID

Gibt das kryptografische API (CAPI)-Schlüsselhandle zurück, das dem Zertifikat zugeordnet ist. Der Anrufer ist dafür verantwortlich, den Handle frei zu geben. Sie wird nicht freigegeben, wenn der Kontext freigegeben wird. Der Eigenschaftswert wird entfernt, nachdem er zurückgegeben wurde. Wenn Sie diese Eigenschaft in einem Kontext aufrufen, der über einen CNG-Schlüssel verfügt, wird CRYPT_E_NOT_FOUND zurückgegeben.

CERT_IE30_RESERVED_PROP_ID

Dieser Bezeichner ist reserviert.

CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

MD5 hash of the public key associated with the private key used to sign this certificate.

CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

MD5-Hash des Ausstellernamens und der Seriennummer dieses Zertifikats.

CERT_KEY_CONTEXT_PROP_ID

Datentyp pvData-: Ein Zeiger auf eine CERT_KEY_CONTEXT Struktur.

Gibt eine CERT_KEY_CONTEXT Struktur zurück.

CERT_KEY_IDENTIFIER_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Wenn nicht vorhanden, wird nach der erweiterung szOID_SUBJECT_KEY_IDENTIFIER gesucht. Wenn dies fehlschlägt, erfolgt ein SHA1-Hash auf dem SubjectPublicKeyInfo Member des Zertifikats, um die Bezeichnerwerte zu erzeugen.

CERT_KEY_PROV_HANDLE_PROP_ID

Datentyp des pvData-: Ein Zeiger auf einen HCRYPTPROV Wert.

Gibt das von CERT_KEY_CONTEXT_PROP_ID abgerufene Anbieterhandle zurück.

CERT_KEY_PROV_INFO_PROP_ID

Datentyp pvData-: Ein Zeiger auf eine CRYPT_KEY_PROV_INFO Struktur.

Gibt einen Zeiger auf eine CRYPT_KEY_PROV_INFO Struktur zurück.

CERT_KEY_SPEC_PROP_ID

Datentyp des pvData-: Ein Zeiger auf einen DWORD- Wert.

Gibt einen DWORD--Wert zurück, der den privaten Schlüssel angibt, der aus CERT_KEY_CONTEXT_PROP_ID abgerufen wird, falls vorhanden. Andernfalls ist CERT_KEY_PROV_INFO_PROP_ID die Quelle der dwKeySpec-.

CERT_MD5_HASH_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt den MD5-Hash zurück. Wenn der Hash nicht vorhanden ist, wird er mithilfe der funktion CryptHashCertificate berechnet.

CERT_NCRYPT_KEY_HANDLE_PROP_ID

Datentyp pvData-: Ein Zeiger auf einen NCRYPT_KEY_HANDLE Datentyp.

Gibt ggf. eine CERT_NCRYPT_KEY_SPEC Auswahl zurück.

CERT_NCRYPT_KEY_HANDLE_TRANSFER_PROP_ID

Gibt das dem Zertifikat zugeordnete CNG-Schlüsselhandle zurück. Der Anrufer ist dafür verantwortlich, den Handle frei zu geben. Sie wird nicht freigegeben, wenn der Kontext freigegeben wird. Der Eigenschaftswert wird entfernt, nachdem er zurückgegeben wurde. Wenn Sie diese Eigenschaft für einen Kontext aufrufen, der über einen Legacyschlüssel (CAPI) verfügt, wird CRYPT_E_NOT_FOUND zurückgegeben.

CERT_NEW_KEY_PROP_ID

Dieser Bezeichner ist reserviert.

CERT_NEXT_UPDATE_LOCATION_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt die ASN.1-codierte CERT_ALT_NAME_INFO Struktur zurück.

CERT_NEXT_UPDATE_LOCATION_PROP_ID wird derzeit nur mit CTLs verwendet.

CERT_NO_AUTO_EXPIRE_CHECK_PROP_ID

Dieser Bezeichner ist reserviert.

CERT_OCSP_CACHE_PREFIX_PROP_ID

Dieser Bezeichner ist reserviert.

CERT_OCSP_RESPONSE_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt eine codierte OCSP-Antwort für dieses Zertifikat zurück.

CERT_PUB_KEY_CNG_ALG_BIT_LENGTH_PROP_ID

Datentyp des pvData-: Zeiger auf eine mit Null beendete Unicode-Zeichenfolge.

Gibt eine L"<PUBKEY><BITLENGTH>" Zeichenfolge zurück, die den Öffentlichen Schlüsselalgorithmus und die Bitlänge des Zertifikats darstellt. Die folgenden <PUBKEY> Algorithmen werden unterstützt:

  • L"RSA" (BCRYPT_RSA_ALGORITHM)
  • L"DSA" (BCRYPT_DSA_ALGORITHM)
  • L"ECDSA" (SSL_ECDSA_ALGORITHM)

Windows 8 und Windows Server 2012: Unterstützung für diese Eigenschaft beginnt.

CERT_PUBKEY_ALG_PARA_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt für öffentliche Schlüssel, die die Vererbung von Algorithmusparametern unterstützen, die ASN.1-codierten PublicKey-Algorithmusparameter zurück. Für Digital Signature Standard (DSS) werden die Parameter zurückgegeben, die mithilfe der CryptEncodeObject--Funktion codiert werden. Diese Eigenschaft wird nur verwendet, wenn CMS_PKCS7 definiert ist.

CERT_PUBKEY_HASH_RESERVED_PROP_ID

Dieser Bezeichner ist reserviert.

CERT_PVK_FILE_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt eine unicodeweite Unicode-Zeichenfolge mit Null-Beendigung zurück, die den Dateinamen enthält, der den privaten Schlüssel enthält, der dem öffentlichen Schlüssel des Zertifikats zugeordnet ist.

CERT_RENEWAL_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt den Hash des erneuerten Zertifikats zurück.

CERT_REQUEST_ORIGINATOR_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt eine mit Null beendete Unicode-Zeichenfolge zurück, die den DNS-Computernamen für den Ursprung der Zertifikatkontextanforderung enthält.

CERT_ROOT_PROGRAM_CERT_POLICIES_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt einen Zeiger auf eine codierte CERT_POLICIES_INFO Struktur zurück, die die Anwendungsrichtlinien des Stammzertifikats für den Kontext enthält. Diese Eigenschaft kann mithilfe der CryptDecodeObject--Funktion mit dem lpszStructType Parameter decodiert werden, der auf X509_CERT_POLICIES und den dwCertEncodingType Parameter auf eine Kombination aus X509_ASN_ENCODING bitweise ORPKCS_7_ASN_ENCODINGfestgelegt ist.

CERT_ROOT_PROGRAM_NAME_CONSTRAINTS_PROP_ID

Dieser Bezeichner ist reserviert.

CERT_SHA1_HASH_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt den SHA1-Hash zurück. Wenn der Hash nicht vorhanden ist, wird er mithilfe der funktion CryptHashCertificate berechnet.

CERT_SHA1_SHA256_HASH_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays beträgt 52 Byte, 20 Byte für den SHA1-Hash und 32 Bytes für den SHA256-Hash.

Gibt eine Kombination aus SHA1-Hash und SHA256-Hash zurück. Wenn der Hash nicht vorhanden ist, wird er mithilfe der funktion CryptHashCertificate berechnet.

CERT_SHA256_HASH_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt den SHA256-Hash zurück. Wenn der Hash nicht vorhanden ist, wird er mithilfe der funktion CryptHashCertificate berechnet.

CERT_SIGN_HASH_CNG_ALG_PROP_ID

Datentyp des pvData-: Zeiger auf eine mit Null beendete Unicode-Zeichenfolge.

Gibt die L"<SIGNATURE>/<HASH>" Zeichenfolge zurück, die die Zertifikatsignatur darstellt. Der <SIGNATURE> Wert identifiziert den CNG Public Key-Algorithmus. Die folgenden Algorithmen werden unterstützt:

  • L"RSA" (BCRYPT_RSA_ALGORITHM)
  • L"DSA" (BCRYPT_DSA_ALGORITHM)
  • L"ECDSA" (SSL_ECDSA_ALGORITHM)

Der <HASH> Wert identifiziert den CNG-Hashalgorithmus. Die folgenden Algorithmen werden unterstützt:

  • L"MD5" (BCRYPT_MD5_ALGORITHM)
  • L"SHA1" (BCRYPT_SHA1_ALGORITHM)
  • L"SHA256" (BCRYPT_SHA256_ALGORITHM)
  • L"SHA384" (BCRYPT_SHA384_ALGORITHM)
  • L"SHA512" (BCRYPT_SHA512_ALGORITHM)

Im Folgenden finden Sie häufige Beispiele:

  • L"RSA/SHA1"
  • L"RSA/SHA256"
  • L"ECDSA/SHA256"

Windows 7 und Windows Server 2008 R2: Unterstützung für diese Eigenschaft beginnt.

CERT_SIGNATURE_HASH_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt den Signaturhash zurück. Wenn der Hash nicht vorhanden ist, wird er mithilfe der funktion CryptHashToBeSigned berechnet. Die Länge des Hashs beträgt 20 Bytes für SHA und 16 für MD5.

CERT_SMART_CARD_DATA_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt einen Zeiger zum codierten Smartcarddaten zurück. Vor dem Aufrufen CertGetCertificateContextProperty-können Sie diese Konstante verwenden, um ein Smartcardzertifikat mithilfe der CertFindCertificateInStore-Funktion abzurufen, wobei der pvFindPara Parameter auf CERT_SMART_CARD_DATA_PROP_ID und der dwFindType Parameter auf CERT_FIND_PROPERTYfestgelegt ist.

CERT_SMART_CARD_ROOT_INFO_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt einen Zeiger auf eine codierte CRYPT_SMART_CARD_ROOT_INFO Struktur zurück.

CERT_SOURCE_LOCATION_PROP_ID

Dieser Bezeichner ist reserviert.

CERT_SOURCE_URL_PROP_ID

Dieser Bezeichner ist reserviert.

CERT_SUBJECT_DISABLE_CRL_PROP_ID

Dieser Bezeichner ist reserviert.

CERT_SUBJECT_INFO_ACCESS_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt die Erweiterung für den Zugriff auf Antragstellerinformationen des Zertifikatkontexts als codierte CERT_SUBJECT_INFO_ACCESS Struktur zurück.

CERT_SUBJECT_NAME_MD5_HASH_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt einen MD5-Hash des codierten Antragstellernamens des Zertifikatkontexts zurück.

CERT_SUBJECT_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID

Dieser Bezeichner ist reserviert.

CERT_SUBJECT_PUB_KEY_BIT_LENGTH_PROP_ID

Datentyp des pvData-: Zeiger auf einen DWORD- Wert.

Gibt die Länge des öffentlichen Schlüssels im Zertifikat in Bits zurück.

Windows 8 und Windows Server 2012: Unterstützung für diese Eigenschaft beginnt.

CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID

Datentyp von pvData-: Ein Zeiger auf ein Array von BYTE- Werten. Die Größe dieses Arrays wird im pcbData Parameter angegeben.

Gibt den MD5-Hash des öffentlichen Schlüssels dieses Zertifikats zurück.

Bei allen benutzerdefinierten Eigenschaftsbezeichnern verweist pvData- auf ein Array von BYTE- Werten.

Weitere Informationen zu den einzelnen Eigenschaftenbezeichnern finden Sie in der Dokumentation zum dwPropId- Parameter in CertSetCertificateContextProperty.

[out] pvData

Ein Zeiger auf einen Puffer, um die Daten zu empfangen, wie durch dwPropIdbestimmt. Strukturen, auf die von Elementen einer zurückgegebenen Struktur verwiesen wird, werden auch nach der Basisstruktur zurückgegeben. Daher überschreitet die größe in pcbData oft die Größe der Basisstruktur.

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

[in, out] pcbData

Ein Zeiger auf einen DWORD- Wert, der die Größe des Puffers in Byte angibt, auf den der pvData--Parameter verweist. Wenn die Funktion zurückgegeben wird, enthält der DWORD-wert die Anzahl der Bytes, die im Puffer gespeichert werden sollen.

Um die erforderliche Größe eines Puffers zur Laufzeit abzurufen, übergeben Sie NULL- für den parameter pvData, und legen Sie den Wert fest, auf den dieser Parameter verweist, auf Null. Wenn der pvData- Parameter nicht NULL- ist und die in pcbData- angegebene Größe kleiner als die Anzahl der Bytes ist, die erforderlich sind, um die Daten einzudämmen, schlägt die Funktion fehl, GetLastError gibt ERROR_MORE_DATAzurück, und die erforderliche Größe wird in der Variablen platziert, auf die der pcbData-Parameter verweist.

Anmerkung

Bei der Verarbeitung der im Puffer zurückgegebenen Daten müssen Anwendungen die tatsächliche Größe der zurückgegebenen Daten verwenden. Die tatsächliche Größe kann etwas kleiner sein als die Größe des für die Eingabe angegebenen Puffers. (Bei Eingaben werden Puffergrößen in der Regel groß genug angegeben, um sicherzustellen, dass die größtmöglichen Ausgabedaten in den Puffer passen.) Bei der Ausgabe wird die variable, auf die dieser Parameter verweist, aktualisiert, um die tatsächliche Größe der in den Puffer kopierten Daten widerzuspiegeln.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion TRUEzurück.

Wenn die Funktion fehlschlägt, wird FALSE-zurückgegeben. Rufen Sie für erweiterte Fehlerinformationen GetLastError-auf.

Einige mögliche Fehlercodes folgen:

Rückgabecode Beschreibung
CRYPT_E_NOT_FOUND Das Zertifikat verfügt nicht über die angegebene Eigenschaft.
ERROR_MORE_DATA Wenn der durch den pvData Parameter angegebene Puffer nicht groß genug ist, um die zurückgegebenen Daten aufzunehmen, legt die Funktion den ERROR_MORE_DATA Code fest und speichert die erforderliche Puffergröße in Byte in der Variablen, auf die durch pcbData-verwiesen wird.

Fehler aus der aufgerufenen Funktion CryptHashCertificate können an diese Funktion weitergegeben werden.

Bemerkungen

Eigenschaften werden nicht innerhalb eines Zertifikats gespeichert. In der Regel werden sie einem Zertifikat zugeordnet, nachdem die Zertifikatantwort empfangen und dann mit dem Zertifikat im Speicher gespeichert wurde. Aus Sicherheitsgründen wird empfohlen, Eigenschaftswerte vor dem Speichern zu überprüfen und nur informationsbezogene Eigenschaften wie den CERT_FRIENDLY_NAME_PROP_ID Wert in Benutzerspeichern zu speichern. Alle anderen Eigenschaftentypen sollten in lokalen Computerspeichern gespeichert werden.

Ihr Code kann ein Makro verwenden, um die Hashklasse für einen Zertifikatkontext auszuwerten. Weitere Informationen finden Sie unter CertSetCertificateContextProperty.

Beispiele

Beispiele, die diese Funktion verwenden, finden Sie unter Beispiel C-Programm: Abrufen und Festlegen von Zertifikateigenschaften und Beispiel-C-Programm: Auflisten der Zertifikate in einem Store-.

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

Siehe auch

CERT_KEY_CONTEXT

CertCreateCertificateContext

CertSetCertificateContextProperty

CryptHashCertificate

CryptHashToBeSigned

erweiterte Eigenschaftenfunktionen