WinVerifyTrustEx-Funktion (wintrust.h)
Die WinVerifyTrustEx-Funktion führt eine Vertrauensstellungsaktion für ein angegebenes Objekt aus und verwendet einen Zeiger auf eine WINTRUST_DATA Struktur. Die Funktion übergibt die Abfrage an einen Vertrauensanbieter, sofern vorhanden, der den Aktionsbezeichner unterstützt.
Verwenden Sie für die Zertifikatüberprüfung die Funktionen CertGetCertificateChain und CertVerifyCertificateChainPolicy .
Syntax
long WinVerifyTrustEx(
[in] HWND hwnd,
[in] GUID *pgActionID,
[in] WINTRUST_DATA *pWinTrustData
);
Parameter
[in] hwnd
Optionales Handle für ein Aufruferfenster. Ein Vertrauensanbieter kann diesen Wert verwenden, um zu bestimmen, ob er mit dem Benutzer interagieren kann. Allerdings führen Vertrauensanbieter in der Regel Überprüfungsaktionen ohne Eingabe des Benutzers aus.
Dieser Parameter kann einen der folgenden Werte annehmen.
[in] pgActionID
Ein Zeiger auf eine GUID-Struktur , die eine Aktion und den Vertrauensanbieter identifiziert, der diese Aktion unterstützt. Dieser Wert gibt den Typ der Überprüfungsaktion an, die für die Struktur ausgeführt werden soll, auf die pWinTrustData verweist.
Der WinTrust-Dienst ist für die Zusammenarbeit mit Vertrauensanbietern konzipiert, die von Drittanbietern implementiert wurden. Jeder Vertrauensanbieter stellt seinen eigenen eindeutigen Satz von Aktionsbezeichnern bereit. Informationen zu den Aktionsbezeichnern, die von einem Vertrauensanbieter unterstützt werden, finden Sie in der Dokumentation zu diesem Vertrauensanbieter.
Microsoft stellt beispielsweise einen Software Publisher Trust Provider bereit, der die Vertrauenswürdigkeit von Software, die aus dem Internet oder einem anderen öffentlichen Netzwerk heruntergeladen wird, feststellen kann. Der Software Publisher Trust Provider unterstützt die folgenden Aktionsbezeichner. Diese Konstanten sind in Softpub.h definiert.
Wert | Bedeutung |
---|---|
|
Überprüfen Sie die Authentizität eines von Windows Hardware Quality Labs (WHQL) signierten Treibers. Dies ist ein Authenticode-Add-On-Richtlinienanbieter. |
|
Überprüfen Sie eine SSL/TLS-Verbindung über das Internet Explorer. |
|
Diese Aktions-ID wird nicht unterstützt. Überprüfen Sie die Authentizität einer strukturierten Speicherdatei mithilfe des Microsoft Office Authenticode-Add-On-Richtlinienanbieters.
Windows Server 2003 und Windows XP: Diese Aktions-ID wird unterstützt. |
|
Überprüfen Sie nur eine Zertifikatkette. Dies ist nur gültig, wenn ein Zertifikatkontext in den WinVerifyTrust-Eingabestrukturen übergeben wird.
Hinweis Es wird nicht empfohlen, diese Funktion zum Durchführen der Zertifikatüberprüfung zu verwenden. Verwenden Sie zum Durchführen der Zertifikatüberprüfung die Funktionen CertGetCertificateChain und CertVerifyCertificateChainPolicy .
|
|
Überprüfen Sie Zertifikatketten, die aus einem beliebigen Objekttyp erstellt wurden. Es wird ein Rückruf bereitgestellt, um die endgültige Kettenrichtlinie mithilfe des Kettenkontexts für jeden Signierer und Counter Signer zu implementieren. |
|
Überprüfen Sie eine Datei oder ein Objekt mithilfe des Authenticode-Richtlinienanbieters. |
|
Schreiben Sie die CRYPT_PROVIDER_DATA-Struktur in eine Datei, nachdem Sie den Authenticode-Richtlinienanbieter aufgerufen haben. |
[in] pWinTrustData
Ein Zeiger auf eine WINTRUST_DATA-Struktur , die Informationen enthält, die der Vertrauensstellungsanbieter zum Verarbeiten des angegebenen Aktionsbezeichners benötigt. In der Regel enthält die Struktur Informationen, die das Objekt identifizieren, das der Vertrauensstellungsanbieter auswerten muss.
Das Format der Struktur hängt vom Aktionsbezeichner ab. Informationen zu den Daten, die für einen bestimmten Aktionsbezeichner erforderlich sind, finden Sie in der Dokumentation des Vertrauensanbieters, der diese Aktion unterstützt.
Rückgabewert
Hinweis: Während der Rückgabetyp als HRESULT deklariert wird, gibt diese API Win32-Fehlercodes zurück, verwenden Sie nicht SUCCEEDED() oder FAILED(), um das Ergebnis zu testen.
Wenn der Vertrauensanbieter überprüft, ob der Antragsteller für die angegebene Aktion vertrauenswürdig ist, wird der Rückgabewert ERROR_SUCCESS. Andernfalls gibt die Funktion einen status Code vom Vertrauensstellungsanbieter zurück.
Beispielsweise kann ein Vertrauensstellungsanbieter angeben, dass der Antragsteller nicht oder vertrauenswürdig ist, aber Einschränkungen oder Warnungen aufweist. Der Rückgabewert kann ein vertrauensanbieterspezifischer Wert sein, der in der Dokumentation für einen einzelnen Vertrauensstellungsanbieter beschrieben wird, oder es kann sich um einen der folgenden Fehlercodes handelt.
Rückgabecode | Beschreibung |
---|---|
|
Der Antragsteller hat die angegebene Überprüfungsaktion fehlgeschlagen. Die meisten Vertrauensanbieter geben einen detaillierteren Fehlercode zurück, der den Grund für den Fehler beschreibt.
Hinweis
Der TRUST_E_SUBJECT_NOT_TRUSTED Rückgabecode kann abhängig vom Wert des Registrierungsschlüssels EnableCertPaddingCheck unter HKLM\Software\Microsoft\Cryptography\Wintrust\Config zurückgegeben werden. Wenn EnableCertPaddingCheck auf "1" festgelegt ist, wird eine zusätzliche Überprüfung durchgeführt, um zu überprüfen, ob die WIN_CERTIFICATE-Struktur keine zusätzlichen Informationen enthält. Bei der Überprüfung wird überprüft, ob es über die PKCS #7-Struktur hinaus keine Daten ungleich 0 gibt. Der EnableCertPaddingCheck-Schlüssel wird am 10. Juni 2014 standardmäßig auf "1" festgelegt. Weitere Informationen finden Sie in der folgenden Sicherheitsempfehlung: http://technet.microsoft.com/security/advisory/2915720#section1. |
|
Der Vertrauensanbieter wird auf diesem System nicht erkannt. |
|
Der Vertrauensstellungsanbieter unterstützt die angegebene Aktion nicht. |
|
Der Vertrauensstellungsanbieter unterstützt das für den Antragsteller angegebene Formular nicht. |
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | wintrust.h |
Bibliothek | Wintrust.lib |
DLL | Wintrust.dll |