2017-01-26 32 views
6

[UPDATE]甲骨文剛剛修改了密碼路線圖(https://www.java.com/en/jre-jdk-cryptoroadmap.html),他們將棄用SHA-1代碼簽名:2017-03-14 Target date changed from 2017-04-18 to 2017-07-18. Narrowed scope from all SHA-1 usage: only TLS will be affected, *code signing will not not be affected at this time*.Java 9貶低SHA1證書或其他問題?

這不會影響,以任何方式,優良的答案,我在下面接受,毫無疑問,它將在未來應用。

-

原帖:

試圖在JRE 9 ea 153運行我們Webstart的部署Java應用程序,我得到以下彈出:

enter image description here

在細節進一步展望,我看到證書仍然有效一段時間:

enter image description here

,因此,我想知道如果不推薦使用SHA1嗎?

這確實聽起來像一個符合(others' in the industry)的政策,但這個消息並不真的聽起來對新手很友好(特別是如果它是爲了面對最終用戶),所以我還在想。

我尋找路線圖。 This是我發現的,但我不知道我是否正確正確解釋這段:

Disable SHA-1 in certificate chains anchored by roots included by default in Oracle's JDK; local or enterprise CAs are not affected. Signed code that is timestamped before 2017-01-01 is not affected.

如對上述故障的原因。我非常感謝確認。

FWIW,我們的證書是由CA頒發的,我認爲它與「企業」CA不同。

謝謝。

+1

你可以嘗試用本地證書籤名嗎?只是爲了確認使用的CA不是企業CA,是否在這裏工作?但我強烈懷疑你的假設是正確的。 – Timmeey

+0

證書由Comodo發佈,如果有幫助的話。我們一直在使用它來爲罐子簽名很長一段時間,對於我們的用戶來說,這些用戶並不是內部的,而是遍佈全球。不確定這是否會增加討論的任何內容,但感謝您的參與。我需要考慮創建本地證書,這不是什麼 - 我不是每天都會涉及的東西。 –

+5

感謝您的額外信息。 如果該簽名的Jar旨在供最終用戶使用,那麼2017年簽署的SHA1程序包將無法正常工作。逐步取消SHA1是很久以前宣佈的。唯一的辦法是安裝一個本地CA或其他東西,但這不會發生在最終用戶的機器上(兩者都不應該)。對於最終用戶,您需要從您的CA獲取新的有效證書。無論如何,你的證書會在幾個月內過期。所以去管理層授權一個新的證書並談論改變管理以授權證書的交換;-) – Timmeey

回答

6

如果該簽名的Jar旨在供最終用戶使用,那麼在2017年簽署SHA1的程序包將無法正常工作。

逐步取消SHA1是很久以前宣佈的。 唯一的方法是安裝本地CA或其他東西,但這不會發生在最終用戶機器上(兩者都不應該)。

要爲您的最終用戶簽署一個Jar,您需要從您的CA獲得一個新的有效SHA-256證書,並重新簽署任何與舊版簽署的JAR簽署日期爲31.12.2016。 無論如何,你的證書會在幾個月內過期。

是否必須對您的jar進行雙重設計取決於您所針對的最舊的JVM版本。據我瞭解,任何東西> = 1.4.2都支持SHA-256。如果你想要定位更舊的版本(當我開始編程java 1.5時就已經被認爲是舊版),你需要類似雙重簽名的東西。可以找到更多的信息herehere

「如何對瓶子進行雙重簽名」可能是一個新的話題,因爲它與我想的這個問題幾乎沒有關係。

+0

感謝您的額外細節。他們也證實我不需要麻煩雙重簽名,因爲我的目標是Java 6+。 –