2012-05-24 28 views
0

簽名罐子未知的,我按照這三個步驟才能登錄作者是在Java簽名的jar

  1. keytool -genkey -keystore myKeyStore -alias me
  2. keytool -selfcert -keystore myKeyStore -alias me
  3. jarsigner -keystore myKeyStore jarfile.jar me

我的問題如下:

  1. 之後,我運行了我的小程序,爲什麼它顯示作者是未知的?
  2. 我能夠給-validity無天對我的罐子,什麼是最大的日子裏,我可以給?

回答

2
  1. 您創建的證書是自簽名。只有由Java設置中被標記爲受信任的其中一個信任中心簽名的證書纔會顯示爲「經過驗證的作者」。

  2. 的有效性沒有什麼給你的JAR文件將如何工作多長時間。有效期不僅標誌着你可以使用(屬於證書或更好的私鑰)的證書籤名時

2
  1. 它顯示爲,除非數字證書是由認證「作者不詳」鑰匙鏈返回到Verisign等CA(認證機構)。與「自簽名」證書的問題是,當你可以創建,聲稱你是你是誰的證書,其他人也可以聲稱他們是誰的證書。
    由於一個「自簽署」證書一樣好,因爲接下來的積極識別您的身份(即不值錢),JRE的國家「作者不詳」。
  2. 我不確定,但我記得在以前的證書中使用了5000天。也許真正的問題是,值多長時間聲稱自己是你自己,在證書上JRE永遠不會足夠信任以顯示身份?如果這是商業產品,我強烈建議您完成驗證(可能會很昂貴)。即使廣泛分發的免費產品也不會受到傷害。
+1

不能不同意;更多[這裏](http://stackoverflow.com/a/10739080/230513)。 – trashgod

2

keytoolValidity Period另外,

每個證書僅對於有限的時間量是有效的。這段時間由起始日期和時間以及結束日期和時間來描述,並且可以短至幾秒或幾乎長達一個世紀。

既是@Andrew和@Robert筆記,專業的軟件需要專業的簽名證書。對於臨時使用,可以在共享另一個信任渠道的人中使用自簽名證書。它也可以幫助拒絕虛假的誤導。

  • 一個寫一個開源項目,簽約A.
  • B再加上惡意軟件,由於無法簽訂,標誌B.
  • C錯誤地獲得了B的版本並指控A的犯罪行爲。
  • A可以驗證是否發生了篡改。