6

Ich vertreibe eine Windows-Desktop-App, die alle ausführbaren Dateien digital mit einem Verisign Class 3 Code Signing-Zertifikat signiert hat. Für die überwiegende Mehrheit der Benutzer scheint dies gut zu funktionieren.VeriSign Class 3-Zertifikat, das Windows nicht vertraut?

Eine kleine Anzahl von Benutzern meldet jedoch, dass das Zertifikat ungültig ist. Sie sagen, es kommt mit der Nachricht "Eine Zertifikatskette verarbeitet, aber in einem Stammzertifikat, das nicht vertrauenswürdig ist von dem Vertrauensanbieter". Dies entspricht dem Fehlercode CERT_E_UNTRUSTEDROOT (0x800B0109). Dies wurde auch auf einem vollständig aktualisierten Windows 7-Computer gemeldet. Vermutlich ist mein Zertifikat in Ordnung, aber Windows vertraut manchmal VeriSign-Zertifikaten nicht.

Warum vertraut Windows manchmal VeriSign nicht? Gibt es etwas, das ich meinem Installer hinzufügen kann (auch signiert), das Windows sagt, dem Zertifikat zu vertrauen?

+2

Ich schlage vor, den Support von Verisign zu kontaktieren - sie sollten besser wissen, was der Grund sein kann. In Bezug auf Ihre Frage - Sie können nichts auf Ihrer Seite tun, um das Problem zu beheben (neben dem Support kontaktieren und das Problem mit einer maximalen Anzahl von Details melden). –

+1

Lot eine Woche meines Lebens auf dem G5-Virus: https://knowledge.verisign.com/support/code-signing-support/index?page=content&id=SO16958&actp=search&viewlocale=en_US&searchid=1313006972482 –

Antwort

8

Es gibt häufige Updates der Root-Zertifikate, die Microsoft über Windows Update ausrollen, die aber als "optionales Update" gekennzeichnet sind. Daher haben möglicherweise nicht alle Benutzer diese installiert und müssen diese möglicherweise manuell installieren. Dies gilt auch für "vollständig aktualisierte" Maschinen, da die automatische Installation oft so eingestellt ist, dass nur "wichtige Updates" installiert werden, was die Aktualisierungen des Root-Zertifikats nicht tun.

Je nach Art der Desktop-Anwendung müssen Sie beim Signieren möglicherweise auch bestimmte Regeln beachten. Beispielsweise erfordern Anwendungen, die mit dem Windows-Sicherheitscenter interagieren, im Wesentlichen dieselbe Signiermethode wie Treiber. Das heißt, die Zertifikatskette wird zusammen mit der Signatur eingebettet (/ac wechseln zu signtool). Sie können die MSCV-VSClass3.cer für VeriSign Zertifikate here beziehen.

Der Prozess wird oft Cross-Signing genannt, was falsch zu sein scheint. Während dies ein Schritt ist, um Ihren Treiber binär oder Katalog signiert zu bekommen, ist der entscheidende Schritt, dass Microsoft den Treiber (oder häufiger die Katalogdatei in diesen Tagen) signiert, was die eigentliche Signierung ist.