2016-12-05 74 views
0

我們的雙簽名軟件不安裝在較舊的Windows 7操作系統版本上。如何變老窗口7操作系統安裝雙簽名文件

安裝錯誤爲: Windows無法驗證此設備所需的驅動程序的數字簽名。最近的硬件或軟件更改可能安裝了簽名不正確或損壞的文件,或者可能是未知來源的惡意軟件。 (代碼52)

我們的代碼簽名證書最近更新爲SHA256。

我的研究發現我不得不對雙重簽名進行簽名,以便在不支持SHA-256的較早版本的Windows上驗證簽名。

感謝本網站的貢獻者,我能夠修改現有構建腳本的所有組件,以成功實現雙重簽名二進制文件。

它們使用SHA-256證書的安全更新安裝在多個Windows 10操作系統版本和Windows 7中。 他們不安裝在沒有更新的Windows 7操作系統。

我們的構建機器是32位的Win 7,所以我用signtool.exe x86版本從8.1的Windows套件附帶的VS 2015年,其版本爲6.3.9600.17298

我發現相互矛盾的信息關於Windows 7和它能夠安裝雙重簽名的CAT文件。

因此,我正在尋找一種方法來獲取所有版本的Windows 7和10上安裝的代碼,而不管它們的Windows更新狀態如何。 (有些客戶並沒有定期更新操作系統,並希望保持這種狀態)

更新:我能夠讓我們的應用程序和驅動程序安裝到較舊的Windows 7操作系統版本。原來代碼簽名證書未正確設置以允許雙重簽名。

我不得不重新頒發證書作爲SHA256和SHA1根進行代碼簽名。

+0

更新的答案是?如果是這樣,你可以在下面提供它,而不是編輯你的問題 –

回答

0

在上週的測試設置成功後,我們對我們的整個軟件套件(包括USB設備驅動程序)進行了官方構建。 我們測試軟件在以下機器上安裝和運行:

32位Windows 7終極版6.1.7601 Service Pack 1個的構建7601

64位Windows 7專業版6.1.7601 Service Pack 1個的構建7601 原創ISO版本,沒有操作系統更新

64位Windows 7專業版6.1.7601 Service Pack 1次的構建7601次 OS的更新,包括爲KB3033929的兼容性SHA256

64位Windows 7家庭普通版6.1.7 601 Service Pack 1的構建7601

64位Windows 10 Pro版本10.0.10586建設10586

64位Windows 10 Home版本1607(OS構建14393.10)

64位Windows 10 Pro的內幕預覽版1607 (OS Build 14971。1000)

所有這些測試都產生了成功的應用程序和驅動程序安裝。

因此,答案是更改生成機器上安裝的代碼簽名證書的類型。

該證書必須安裝爲帶有SHA1 root的SHA256。 CertMgr顯示2個單獨的證書,其中一個使用hash = SHA1,另一個使用hash = SHA256。

然後修改腳本以創建雙重簽名。首先調用signtool創建SHA1標誌,第二次調用signtool追加SHA2標誌。 (注:只有Windows SDK 8.1和更高版本支持雙重簽名。)

相關問題