CertGetCTLContextProperty-Funktion (wincrypt.h)
Die CertGetCTLContextProperty-Funktion ruft eine erweiterte Eigenschaft eines CTL-Kontexts ( Certificate Trust List ) ab.
Syntax
BOOL CertGetCTLContextProperty(
[in] PCCTL_CONTEXT pCtlContext,
[in] DWORD dwPropId,
[out] void *pvData,
[in, out] DWORD *pcbData
);
Parameter
[in] pCtlContext
Ein Zeiger auf die CTL_CONTEXT Struktur.
[in] dwPropId
Gibt die abzurufende Eigenschaft an. Derzeit definierte Bezeichner und der in pvData zurückgegebene Datentyp sind in der folgenden Tabelle aufgeführt.
Wert | Bedeutung |
---|---|
|
Datentyp für pvData: Zeiger auf ein DWORD
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. |
|
Datentyp für pvData: NULL
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. |
|
Datentyp für pvData: Zeiger auf ein BYTE-Array Gibt eine mit NULL beendete Unicode-Zeichenfolge mit dem Namen des Zertifikattyps zurück, für den das Zertifikat automatisch registriert wurde. |
|
Datentyp für pvData: Zeiger auf ein BYTE-Array Gibt ein Array von Bytes zurück, das eine asN.1-codierte asn.1-codierte CTL_USAGE-Struktur enthält. |
|
Datentyp für pvData: Zeiger auf ein BYTE-Array Gibt die von der Zertifikatbenutzeroberfläche angezeigte Eigenschaft zurück. Mit dieser Eigenschaft kann der Benutzer die Verwendung des Zertifikats beschreiben. |
|
Datentyp für pvData: Zeiger auf ein BYTE-Array Gibt ein Array von Bytes zurück, das eine ASN.1-codierte CERT_ENHKEY_USAGE-Struktur enthält. |
|
Datentyp für pvData: Zeiger auf ein BYTE-Array Gibt eine Unicode-Zeichenfolge mit Null-Beendigung zurück, die den Anzeigenamen für die CTL enthält. |
|
Datentyp für pvData: Zeiger auf ein BYTE-Array Gibt den SHA1-Hash zurück. Wenn der Hash nicht vorhanden ist, wird er mithilfe von CryptHashCertificate berechnet. |
|
Datentyp für pvData: Zeiger auf eine CERT_KEY_CONTEXT
Gibt eine CERT_KEY_CONTEXT-Struktur zurück. |
|
Datentyp für pvData: Zeiger auf ein BYTE-Array 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. |
|
Datentyp für pvData: Zeiger auf eine HCRYPTPROV
Gibt das vom CERT_KEY_CONTEXT_PROP_ID abgerufene Anbieterhandle zurück. |
|
Datentyp für pvData: Zeiger auf eine CRYPT_KEY_PROV_INFO Struktur Gibt einen Zeiger auf eine CRYPT_KEY_PROV_INFO zurück. |
|
Datentyp für pvData: Zeiger auf ein DWORD
Gibt einen DWORD-Wert zurück, der den privaten Schlüssel angibt, der von CERT_KEY_CONTEXT_PROP_ID -Eigenschaft abgerufen wurde, sofern vorhanden. Andernfalls, wenn CERT_KEY_PROV_INFO_PROP_ID vorhanden ist, ist dies die Quelle von dwKeySpec. |
|
Datentyp für pvData: Zeiger auf ein BYTE-Array Gibt den MD5-Hash zurück. Wenn der Hash nicht vorhanden ist, wird er mithilfe von CryptHashCertificate berechnet. |
|
Datentyp für pvData: Zeiger auf ein BYTE-Array Gibt die ASN.1-codierte CERT_ALT_NAME_INFO-Struktur zurück. CERT_NEXT_UPDATE_LOCATION_PROP_ID wird derzeit nur mit CTLs verwendet. |
|
Datentyp für pvData: Zeiger auf ein BYTE-Array Gibt eine breite Unicode-Zeichenfolge mit Null-Beendigung zurück, die den Dateinamen angibt, der den privaten Schlüssel enthält, der dem öffentlichen Schlüssel des Zertifikats zugeordnet ist. |
|
Datentyp für pvData: Zeiger auf ein BYTE-Array Gibt den SHA1-Hash zurück. Wenn der Hash nicht vorhanden ist, wird er mithilfe von CryptHashCertificate berechnet. |
|
Datentyp für pvData: Zeiger auf ein BYTE-Array Gibt den Signaturhash zurück. Wenn der Hash nicht vorhanden ist, wird er mit CryptHashToBeSigned berechnet. Die Länge des Hashes beträgt 20 Bytes für SHA und 16 byte für MD5. |
Bei allen anderen Eigenschaftenbezeichnern verweist pvData auf ein Array von Bytes und nicht auf eine CRYPT_DATA_BLOB , wie der pvData-Parameter in CertSetCertificateContextProperty zeigt.
Weitere Informationen zu den einzelnen Eigenschaftenbezeichnern finden Sie in der Dokumentation zum dwPropId-Parameter in CertSetCertificateContextProperty. CERT_SHA1_HASH_PROP_ID und CERT_NEXT_UPDATE_LOCATION_PROP_ID sind die vordefinierten Eigenschaften von größtem Interesse.
[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.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert TRUE.
Wenn die Funktion fehlschlägt, ist der Rückgabewert FALSE.
Fehler aus der aufgerufenen Funktion CryptHashCertificate können an diese Funktion weitergegeben werden. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten.
Es folgen einige mögliche Fehlercodes.
Rückgabecode | Beschreibung |
---|---|
|
Die CTL verfügt nicht über die angegebene Eigenschaft. |
|
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. |
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 |