2016-12-05 2 views
0

Unsere doppelte unterzeichnete Software installiert nicht auf älteren Windows 7 OS Versionen.wie man älteres Fenster 7 OS erhält, um doppelte signierte Akten zu installieren

Der Installationsfehler lautet: Windows kann die digitale Signatur für die für dieses Gerät erforderlichen Treiber nicht überprüfen. Eine kürzlich vorgenommene Änderung der Hardware oder Software hat möglicherweise eine Datei installiert, die falsch signiert oder beschädigt ist, oder die bösartige Software von einer unbekannten Quelle sein könnte. (Code 52)

Unser Code Signing-Zertifikat wurde vor kurzem auf SHA256 aktualisiert.

Meine Forschung ergab, dass ich Binärdateien doppelt signieren musste, damit die Signaturen auf älteren Versionen von Windows validiert werden, die SHA-256 nicht unterstützen.

Dank der Mitwirkenden an dieser Site war ich in der Lage, alle Komponenten unserer bestehenden Build-Skripte zu modifizieren, um Binaries mit zwei Signaturen erfolgreich zu signieren.

Sie installieren in mehreren Windows 10 OS-Versionen und Windows 7 mit dem Sicherheitsupdate für SHA-256-Zertifikate. Sie installieren nicht in Windows 7 OS ohne das Update.

Unser Build-Rechner ist 32-Bit-Windows 7, so dass ich bin mit der x86-Version von signtool.exe vom 8.1 Windows-Kit, das Schiffe mit VS 2015 seine Version 6.3.9600.17298

ich widersprüchlichen Informationen gefunden habe über Windows 7 und seine Fähigkeit, zwei signierte CAT-Dateien zu installieren.

SO suche ich nach einer Methode, um Code auf allen Versionen von Windows 7 und 10 zu installieren, unabhängig vom Status ihrer Windows-Updates. (Einige Kunden aktualisieren das Betriebssystem nicht regelmäßig und behalten es lieber so)

UPDATE: Ich konnte unsere Appl und Treiber auf älteren Windows 7 OS Versionen installieren. Es stellt sich heraus, dass das Codesignaturzertifikat nicht korrekt eingerichtet wurde, um eine doppelte Signatur zu ermöglichen.

Ich musste das Zertifikat als SHA256 mit SHA1 root für Code-Signing neu ausgestellt bekommen.

+0

Ist Ihr Update eine Antwort? Wenn dies der Fall ist, können Sie es unten angeben, anstatt Ihre Frage zu bearbeiten –

Antwort

0

Nach dem erfolgreichen Testaufbau in den letzten Wochen haben wir eine offizielle Version unserer gesamten Software-Suite (einschließlich USB-Gerätetreiber) erstellt. Wir testeten Software installieren und den Betrieb auf den folgenden Maschinen:

32-Bit-Windows 7 Ultimate Version 6.1.7601 Service Pack 1 Build 7601

64-Bit-Windows 7 Professional Version 6.1.7601 Service Pack 1 Build 7601 Ursprüngliche ISO-Version, kein OS-Updates

64-Bit-Windows 7 Professional Version 6.1.7601 Service Pack 1 Build 7601 OS-Updates einschließlich KB3033929 für SHA256 Kompatibilität

64-Bit-Windows 7 Home Basic Version 6.1.7 601 Service Pack 1 Build 7601

64-Bit-Windows-10 Pro Version 10.0.10586 Build-10586

64 bit Windows 10 Home-Version 1607 (O 14.393,10 Bauen)

64-Bit-Windows-10 Pro Insider Preview Version 1607 (OS Build 14971.1000)

Alle diese Tests führten zu einer erfolgreichen App- und Treiberinstallation.

So war die Antwort, den Typ des Codesignaturzertifikats zu ändern, das auf der Erstellungsmaschine installiert ist.

Das Zertifikat musste als SHA256 mit SHA1 root installiert werden. CertMgr zeigt zwei separate Zertifikate an, eines mit Hash = SHA1, das zweite mit Hash = SHA256.

Dann wurden die Build-Skripts geändert, um eine doppelte Signatur zu erstellen. Der erste Aufruf von signtool erzeugt das SHA1-Zeichen, der zweite Aufruf von signtool hängt das SHA2-Zeichen an. (HINWEIS: Nur Windows SDK 8.1 und höher unterstützt die duale Signatur.)

Verwandte Themen