讓Java Applet跳脫SandBox機制

|

由於 Java Applet 具有 Sand Box 的安全機制讓它無法存取本機系統上的檔案,也無法對外進行連線(Connection)要讓它能夠跳脫 sand box 的束縛,就是讓 Java 知道這隻程式是合法的,而這個合法的過程是經由使用者所認可的,也就是對 Java Applet進行簽章

 
將程式變成一個 Signed Applet 後,在程式第一次被載入時就會出現類似下面的對話框,詢問使用者是否要接受並執行該程式。

Image003 

而將一隻 jar 檔進行簽章有以下幾個動作:

產生個人的私密金鑰

如果有正確安裝JDK以及設定好JAVA_HOME就可以執行下面Command產生金鑰(Key)

keytool -genkey

Image005

對 jar 檔進行簽章

jarsigner XXX.jar mykey

Image006

如圖所示,我已經對 CnyesWeb.jar 使用 mykey 進行簽章了,關於 Warning: The signer certificate will expire within six months.

代表著簽章在六個月後就會失效,如果要讓產生的key有效期可以超過六個月的話在產生金鑰時要多帶參數 keytool -genkey -validity days
example:
keytool -genkey -validity 36500

 

想知道更多關於 Command 的訊息可以直接下

keytool
jarsigner

就會跑出長長一串的說明啦!

0 意見: