[英]Avoid security alert “Do you want to run this application?” for a JWS app
我們有一個Java應用程序,它使用RxTx來更新我們游戲控制台的固件。 當用戶通過WebStart在我們的網站上啟動Java應用程序時,為了避免安全警報,我們已經購買了可信證書並使用該證書對應用程序進行了簽名。 所有檢查都表明它已成功簽名,如果我在Mac(OS X 10.6.8)上使用Java 1.6.0_41通過Safari啟動應用程序,它會在沒有任何抱怨的情況下啟動。
但是,如果我在Windows 8計算機上使用IE9啟動它,我會收到一條警告:“您是否要運行此應用程序?此應用程序將以不受限制的訪問方式運行,這可能會使您的計算機和個人信息面臨風險。僅在您運行此應用程序時信任發布者。此應用程序的數字簽名已過期。更多信息“。
如果我單擊“更多信息”,我會收到“此應用程序將在您的計算機上無限制地訪問您的個人文件和其他設施(網絡攝像頭,麥克風)。
雖然應用程序具有數字簽名,但應用程序的關聯文件(JNLP)沒有。 數字簽名可確保文件來自供應商,並且文件未被更改。
與受信任的證書生成數字簽名。”我試圖找到一個解決方案如何沒有得到這個消息,並認為我需要做的是簽署JNLP文件(即其復制到水瓶中指出, 在這里 ),但什么我找不到如何讓NetBeans這樣做!我正在使用NetBeans 6.9.1。任何人都知道如何做到這一點,是否足以簽署JNLP?
要驗證文件是否已正確簽名,我執行了以下操作:
jarsigner -verify -certs -verbose OribooDesktopClient.jar
6396 Thu Feb 28 17:14:14 CET 2013 META-INF/MANIFEST.MF
6354 Thu Feb 28 17:14:14 CET 2013 META-INF/MOVINTOF.SF
1843 Thu Feb 28 17:14:14 CET 2013 META-INF/MOVINTOF.RSA
0 Thu Feb 28 17:07:28 CET 2013 META-INF/
0 Thu Feb 28 17:07:26 CET 2013 oribooDesktopClient/
0 Thu Feb 28 17:07:26 CET 2013 oribooDesktopClient/resources/
0 Thu Feb 28 17:07:26 CET 2013 oribooDesktopClient/resources/busyicons/
sm 3912 Thu Feb 28 17:07:26 CET 2013 oribooDesktopClient/BBDatabase.class
X.509, CN=Movinto fun AB, O=Movinto fun AB, STREET=?rev?gen 138, L=?re, ST=J?mtland, OID.2.5.4.17=83013, C=SE
[certificate is valid from 2/28/13 1:00 AM to 3/1/14 12:59 AM]
sm 2497 Thu Feb 28 17:07:26 CET 2013 oribooDesktopClient/Binary.class
X.509, CN=Movinto fun AB, O=Movinto fun AB, STREET=?rev?gen 138, L=?re, ST=J?mtland, OID.2.5.4.17=83013, C=SE
[certificate is valid from 2/28/13 1:00 AM to 3/1/14 12:59 AM]
....
重要的是:
此應用程序的數字簽名已過期。
有關詳細信息,請參閱Java安全性外觀對話框 ,但您應該期待以下內容:
要刪除“過期”消息,答案是續訂證書並再次簽名。 該對話框仍將顯示效果字:
此應用程序將以不受限制的訪問方式運行,這可能會使您的計算機和個人信息面臨風險。 僅當您信任發布者時才運行此應用程序。
然而,差異將是:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.