2014-01-20 25 views
5

在過去的幾個月中,我爲一個學術項目開發了一個沙盒Java applet。由於預算有限,我無法使用可信的證書頒發機構簽名。 隨着Java 1.7.51的發佈,我發現新的安全限制禁止執行applet,因爲缺少簽名。Java 1.7.51對小應用程序的互聯網限制

到現在爲止,我發現這個問題有兩種解決方案,粗糙:

  1. 要求用戶包括他/她的例外列表的小程序頁面;
  2. 要求用戶將Java安全級別設置爲「中」(當然,這是一種冒險的操作)。

有沒有辦法克服Java使用自簽名applet強加的限制,而不要求用戶更改安全設置?

我會深深地感謝您的回答,因爲購買可信認證的選擇仍然很昂貴。

+0

我認爲這是做不到的。安全限制是有原因的。 – NeplatnyUdaj

+0

將'permission:sandbox'放入manifest.mf –

+0

是否適用於Intranet?它只能在沙箱中運行嗎?還是需要其他特殊權限? – jalopaba

回答

2

有沒有辦法克服Java自簽名applet施加的限制而不要求用戶更改安全設置?

簡答題,沒有。很長的答案,不。

+1

謝謝你的回覆!我讀到了你在applet方面的專業知識,可悲的是,你的論點讓我考慮購買代碼證書的選擇。 – Carlos

+0

如果用例確實需要一個applet,那麼購買證書就是我會推薦的。 –

+0

感謝您的建議和反饋!我將搜索證書選項。是否存在既有免費又受Oracle信任的有用組件? – Carlos

2

它不是一個真正的解決方案,但可能爲最終用戶更方便: 編寫一個小程序(作爲jar文件或批處理),它將您的網站添加到例外列表。這個小程序你提供給用戶,不能執行你的小程序。它只需要執行一次。如何做到這一點描述如下here

控制異常站點列表的文件存儲在用戶的 部署位置,如部署配置中所述。在 Windows 7的位置是 C:\ Users \ username \ AppData \ LocalLow \ Sun \ Java \ Deployment \ security \ exception.sites。 格式是每行一個網站。

如果您認爲這對用戶來說不是真正值得信賴的話,您可能是正確的;-)誰執行從互聯網下載的文件?您也可以在頁面中添加一個小的描述,用戶可以從命令行執行它。對於窗戶它會這樣:

mkdir %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\security 
echo http://www.carlos.com >> %USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\security\exception.sites 

我越讀我的文章我認爲最好的解決方案是證書,但仍然想分享這個選項。

+0

非常感謝您的提示性回覆!我已經閱讀了關於您與我分享的關於新例外列表的鏈接的信息。向訪問者提供一個在他/她的例外列表上設置我的項目頁面的文件的可能性是非常好的(除非像您說的那樣,因爲我們在瀏覽網頁時常見的做法)。如果你允許我,我的問題是:我可以制定這個策略,以便我的小程序可以在Windows,Linux和MacOS上工作嗎?也就是說,我可以爲每個操作系統製作批處理文件,將我的項目網站添加到例外列表中嗎?怎麼做?萬分感謝! – Carlos

相關問題