Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die WinVerifyTrust-Funktion führt eine Vertrauensüberprüfungsaktion für ein angegebenes Objekt aus. Die Funktion übergibt die Anfrage an einen Vertrauensanbieter , der den Aktionsbezeichner unterstützt, sofern vorhanden.
Verwenden Sie für die Zertifikatüberprüfung die Funktionen CertGetCertificateChain und CertVerifyCertificateChainPolicy .
Syntax
LONG WinVerifyTrust(
[in] HWND hwnd,
[in] GUID *pgActionID,
[in] LPVOID pWVTData
);
Die Parameter
[in] hwnd
Optionales Handle für ein Anruferfenster. Ein Vertrauensanbieter kann diesen Wert verwenden, um zu bestimmen, ob er mit dem Benutzer interagieren kann. Vertrauensanbieter führen jedoch in der Regel Überprüfungsaktionen ohne Eingabe des Benutzers aus.
Dieser Parameter kann einer der folgenden Werte sein:
[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 wurde entwickelt, um mit Vertrauensanbietern zu arbeiten, die von Drittanbietern implementiert werden. Jeder Vertrauensanbieter stellt einen 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.
Beispielsweise stellt Microsoft einen Software Publisher Trust Provider bereit, der die Vertrauenswürdigkeit von Software, die aus dem Internet oder einem anderen öffentlichen Netzwerk heruntergeladen wird, einrichten kann. Der Software Publisher Trust Provider unterstützt die folgenden Aktions-IDs. Diese Konstanten werden in Softpub.h definiert.
| Wert | Bedeutung |
|---|---|
|
Überprüfen Sie die Echtheit eines signierten Windows Hardware Quality Labs (WHQL)-Treibers. Dies ist ein Authenticode-Add-On-Richtlinienanbieter. |
|
Überprüfen Sie eine SSL/TLS-Verbindung, die von WinINet hergestellt wurde. |
|
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 Zertifikatketten, die von einem beliebigen Objekttyp erstellt wurden. Ein Rückruf wird bereitgestellt, um die endgültige Kettenrichtlinie mithilfe des Kettenkontexts für jeden Signierer und Indikator signierer 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] pWVTData
Ein Zeiger, der beim Umwandeln als WINTRUST_DATA-Struktur Informationen enthält, die der Vertrauensanbieter zum Verarbeiten des angegebenen Aktionsbezeichners benötigt. In der Regel enthält die Struktur Informationen, die das Objekt identifizieren, das der Vertrauensanbieter 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 für den Vertrauensanbieter, der diese Aktion unterstützt.
Rückgabewert
Wenn der Vertrauensanbieter überprüft, ob der Betreff für die angegebene Aktion vertrauenswürdig ist, ist der Rückgabewert null. Kein anderer Wert außer Null sollte als erfolgreiche Rückgabe betrachtet werden.
Wenn der Vertrauensanbieter nicht überprüft, ob der Betreff für die angegebene Aktion vertrauenswürdig ist, gibt die Funktion einen Statuscode vom Vertrauensanbieter zurück.
Beispielsweise kann ein Vertrauensanbieter angeben, dass der Betreff nicht vertrauenswürdig ist oder vertrauenswürdig ist, aber mit Einschränkungen oder Warnungen. Der Rückgabewert kann ein vertrauenswürdiger, anbieterspezifischer Wert sein, der in der Dokumentation für einen einzelnen Vertrauensanbieter beschrieben wird, oder es kann sich um einen der folgenden Fehlercodes handeln.
| Rückgabecode | Description |
|---|---|
|
Der Betreff hat die angegebene Überprüfungsaktion fehlgeschlagen. Die meisten Vertrauensanbieter geben einen detaillierteren Fehlercode zurück, der den Grund für den Fehler beschreibt.
Anmerkung
Der TRUST_E_SUBJECT_NOT_TRUSTED Rückgabecode kann abhängig vom Wert des EnableCertPaddingCheck-Registrierungsschlüssels 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. Die Überprüfung überprüft, ob es keine Nicht-Null-Daten gibt, die über die PKCS #7-Struktur hinausgehen. 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 Vertrauensanbieter unterstützt die angegebene Aktion nicht. |
|
Der Vertrauensanbieter unterstützt das für den Betreff angegebene Formular nicht. |
Bemerkungen
Mit der WinVerifyTrust-Funktion können Anwendungen einen Vertrauensanbieter aufrufen, um zu überprüfen, ob ein angegebenes Objekt den Kriterien eines angegebenen Überprüfungsvorgangs entspricht. Der pgActionID-Parameter identifiziert den Überprüfungsvorgang, und der pWinTrustData-Parameter identifiziert das Objekt, dessen Vertrauensstellung überprüft werden soll. Ein Vertrauensanbieter ist eine DLL, die beim Betriebssystem registriert ist. Ein Aufruf von WinVerifyTrust leitet diesen Aufruf an den registrierten Vertrauensanbieter weiter, sofern vorhanden, der diesen angegebenen Aktionsbezeichner unterstützt.
Beispielsweise kann der Software Publisher Trust Provider überprüfen, ob eine ausführbare Bilddatei von einem vertrauenswürdigen Softwareherausgeber stammt und dass der Code in der Datei seit dem Signierten nicht geändert wurde. In diesem Fall gibt der Parameter "pWinTrustData " den Namen der Datei und den Dateityp an, z. B. eine ausführbare Microsoft-Imagedatei für tragbare Dateien.
Jeder Vertrauensanbieter unterstützt einen bestimmten Satz von Aktionen, die er auswerten kann. Jede Aktion verfügt über eine GUID, die sie identifiziert. Ein Vertrauensanbieter kann eine beliebige Anzahl von Aktionsbezeichnern unterstützen, aber zwei Vertrauensanbieter können denselben Aktionsbezeichner nicht unterstützen.
Ein Beispiel, das veranschaulicht, wie diese Funktion verwendet wird, um die Signatur einer portablen ausführbaren Datei (PORTABLE Ausführbare Datei, PE) zu überprüfen, finden Sie unter Beispiel C-Programm: Überprüfen der Signatur einer PE-Datei.
Anforderungen
| Anforderung | Wert |
|---|---|
| Mindestens unterstützter Client | Windows XP [nur Desktop-Apps] |
| mindestens unterstützte Server- | Windows Server 2003 [Nur Desktop-Apps] |
| Zielplattform- | Fenster |
| Header | wintrust.h (include Softpub.h) |
| Library | Wintrust.lib |
| DLL | Wintrust.dll |