CertGetCertificateContextProperty-Funktion (wincrypt.h)

Die CertGetCertificateContextProperty-Funktion ruft die Informationen ab, die in einer erweiterten Eigenschaft eines Zertifikatkontexts enthalten sind.

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 in pvData zurückgegebene Datentyp sind in der folgenden Tabelle aufgeführt.

CERT_ACCESS_STATE_PROP_ID

Datentyp von 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 als 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üsselhash für den Zertifikatkontext zurück.

CERT_ARCHIVED_PROP_ID

Datentyp von pvData: NULL. Wenn die CertGetCertificateContextProperty-Funktion true zurückgibt, ist die angegebene Eigenschafts-ID für die CERT_CONTEXT vorhanden.

Gibt an, dass das Zertifikat während der Enumerationen übersprungen wird. Ein Zertifikat mit diesem Eigenschaftensatz wird mit expliziten Suchvorgängen gefunden, z. B. mit denen, die zum Suchen eines Zertifikats mit einem bestimmten Hash oder einer Seriennummer verwendet werden. 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 der Zertifikatsperrliste (Certificate Revocation List , CRL) für Zertifikate, die von der Zertifizierungsstelle (Ca ) verwendet werden. Wenn das Zertifizierungsstellenzertifikat diese Eigenschaft enthält, muss es auch die CERT_CA_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID-Eigenschaft 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 Onlinezertifikat-status-Protokoll-URLs (OCSP), die für vom Zertifizierungsstellenzertifikat ausgestellte Zertifikate verwendet werden sollen. Die Arrayinhalte sind die ASN.1-codierten Bytes der abstrakten Syntax notation One (ASN.1) einer X509_AUTHORITY_INFO_ACCESS-Struktur , in der pszAccessMethod auf szOID_PKIX_OCSP festgelegt 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 Kreuzzertifikate. Derzeit gilt dieser Bezeichner nur für Zertifikate und nicht für Zertifikatsperrlisten oder Zertifikatvertrauenslisten (Certificate Trust Lists , 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 lpszStuctType-Parameter 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 Array von Bytes zurück, die eine ASN.1-codierte CTL_USAGE-Struktur enthalten.

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 von der Zertifikatbenutzeroberfläche angezeigte Eigenschaft zurück. 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 Array von Bytes zurück, die eine ASN.1-codierte CERT_ENHKEY_USAGE-Struktur enthalten. Diese Struktur enthält ein Array von OIDs (Enhanced Key Usage Object Identifiers ), die jeweils 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 wird wie folgt definiert.

Byte Inhalte
Erste 4 Bytes ID der ausstehenden Anforderung
Nächste 4 Bytes CADNSName-Größe, in Zeichen, einschließlich des beendenden NULL-Zeichens, gefolgt von der CADNSName-Zeichenfolge mit beendenden NULL-Zeichen
Nächste 4 Bytes CAName-Größe in Zeichen, einschließlich des beendenden NULL-Zeichens, gefolgt von CAName-Zeichenfolge mit beendenden NULL-Zeichen
Nächste 4 Bytes DisplayName-Größe, in Zeichen, einschließlich des beendenden NULL-Zeichens, gefolgt von DisplayName-Zeichenfolge mit abschlussendem 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 Unicode-Zeichenfolge mit Null-Beendigung 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 Unicode-Zeichenfolge mit Null-Beendigung 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 von pvData: Ein Zeiger auf einen HCRYPTPROV_OR_NCRYPT_KEY_HANDLE Datentyp.

Gibt entweder die Option HCRYPTPROV oder NCRYPT_KEY_HANDLE zurück.

CERT_HCRYPTPROV_TRANSFER_PROP_ID

Gibt das dem Zertifikat zugeordnete Schlüsselhandle der Kryptografie-API (CAPI) zurück. Der Aufrufer ist für das Freigeben des Handles verantwortlich. Es 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 des öffentlichen Schlüssels , der dem privaten Schlüssel zugeordnet ist, der zum Signieren dieses Zertifikats verwendet wird.

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 von 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, sucht sie nach der szOID_SUBJECT_KEY_IDENTIFIER-Erweiterung. Wenn dies fehlschlägt, wird ein SHA1-Hash auf dem SubjectPublicKeyInfo-Member des Zertifikats ausgeführt, um die Bezeichnerwerte zu erzeugen.

CERT_KEY_PROV_HANDLE_PROP_ID

Datentyp von 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 von 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 von pvData: Ein Zeiger auf einen DWORD-Wert .

Gibt einen DWORD-Wert zurück, der den privaten Schlüssel angibt, der von CERT_KEY_CONTEXT_PROP_ID abgerufen wurde, sofern er vorhanden ist. Andernfalls, wenn CERT_KEY_PROV_INFO_PROP_ID vorhanden ist, ist dies die Quelle von 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 von pvData: Ein Zeiger auf einen NCRYPT_KEY_HANDLE Datentyp.

Gibt ggf. eine CERT_NCRYPT_KEY_SPEC Wahl zurück.

CERT_NCRYPT_KEY_HANDLE_TRANSFER_PROP_ID

Gibt das dem Zertifikat zugeordnete CNG-Schlüsselhandle zurück. Der Aufrufer ist für das Freigeben des Handles verantwortlich. Es 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 von pvData: Zeiger auf eine Unicode-Zeichenfolge mit Null-Endung.

Gibt eine L"<PUBKEY>/<BITLENGTH>"-Zeichenfolge zurück, die den Algorithmus für den öffentlichen Schlüssel 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: Die 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.

Für öffentliche Schlüssel, die die Vererbung von Algorithmusparametern unterstützen, gibt die ASN.1-codierten PublicKey Algorithm-Parameter zurück. Für Digital Signature Standard (DSS) werden die Parameter zurückgegeben, die mithilfe der Funktion CryptEncodeObject codiert wurden. 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 breite 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 decodiert werden, wobei der lpszStructType-Parameter auf X509_CERT_POLICIES und der dwCertEncodingType-Parameter auf eine Kombination aus X509_ASN_ENCODING bitweisen OR-PKCS_7_ASN_ENCODING festgelegt 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_SIGN_HASH_CNG_ALG_PROP_ID

Datentyp von pvData: Zeiger auf eine Unicode-Zeichenfolge mit Null-Endung.

Gibt die L"<SIGNATURE>/<HASH>"-Zeichenfolge zurück, die die Zertifikatsignatur darstellt. Der <SIGNATURE-Wert> identifiziert den Öffentlichen CNG-Schlüsselalgorithmus. 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 sind allgemeine Beispiele aufgeführt:
  • L"RSA/SHA1"
  • L"RSA/SHA256"
  • L"ECDSA/SHA256"
Windows 7 und Windows Server 2008 R2: Die 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 Hashes beträgt 20 Bytes für SHA und 16 byte 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 auf codierte Smart Karte-Daten zurück. Vor dem Aufrufen von CertGetCertificateContextProperty können Sie diese Konstante verwenden, um ein Smart Karte-Zertifikat abzurufen, indem Sie die CertFindCertificateInStore-Funktion verwenden, wobei der parameter pvFindPara auf CERT_SMART_CARD_DATA_PROP_ID und der dwFindType-Parameter auf CERT_FIND_PROPERTY festgelegt 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 Zugriffserweiterung für 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 von 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: Die 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.

für alle benutzerdefinierten Eigenschaftenbezeichner 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 Von dwPropId ermittelten Daten zu empfangen. Strukturen, auf die von Elementen einer zurückgegebenen Struktur verwiesen wird, werden ebenfalls nach der Basisstruktur zurückgegeben. Daher überschreitet die in pcbData enthaltene Größe häufig die Größe der Basisstruktur.

Dieser Parameter kann NULL sein, um die Größe der Informationen für Speicherzuordnungszwecke 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 Bytes angibt, auf den der pvData-Parameter verweist. Wenn die Funktion zurückgibt, 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, auf den dieser Parameter verweist, auf 0 fest. Wenn der pvData-Parameter nicht NULL ist und die in pcbData angegebene Größe kleiner als die Anzahl der Bytes ist, die zum Enthalten der Daten erforderlich sind, schlägt die Funktion fehl, GetLastError gibt ERROR_MORE_DATA zurück, und die erforderliche Größe wird in der Variablen platziert, auf die der pcbData-Parameter verweist.

Hinweis 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 Puffers, der bei der Eingabe angegeben wird. (Bei der Eingabe werden Puffergrößen normalerweise groß genug angegeben, um sicherzustellen, dass die größtmöglichen Ausgabedaten in den Puffer passen.) Bei der Ausgabe wird die Variable aktualisiert, auf die dieser Parameter verweist, um die tatsächliche Größe der in den Puffer kopierten Daten widerzuspiegeln.
 

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion TRUE zurück.

Wenn die Funktion fehlschlägt, gibt sie FALSE zurück. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.

Es folgen einige mögliche Fehlercodes.

Rückgabecode Beschreibung
CRYPT_E_NOT_FOUND
Das Zertifikat verfügt nicht über die angegebene Eigenschaft.
ERROR_MORE_DATA
Wenn der vom 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 Bytes in der Variablen, auf die von pcbData verwiesen wird.
 

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

Hinweise

Eigenschaften werden nicht in einem Zertifikat 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 informationsrelevante 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 Speicher.

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

CERT_KEY_CONTEXT

CertCreateCertificateContext

CertSetCertificateContextProperty

CryptHashCertificate

CryptHashToBeSigned

Erweiterte Eigenschaftenfunktionen