Applet 是用於網頁上的小程式,基於安全理由,它不允許你做任何的 IO 操作,(存取本機電腦 及 網路連線...等,只有存放該網頁的 server 例外)否則一旦開了惡意的 applet,電腦就如同中了木馬一般。
這種概念稱為 Sandbox,只允許你在盒子內部操作,所以無論你在盒子裡做了什麼事,都不會影響到盒子外的世界。如果有特殊的需求,可以使用 Sign Applet,在開啟程式前會先出現確認視窗,待使用者同意後,程式便能夠有較高的存取權限。
製作 Sign Applet 方法:
- 產生 key:
keytool -genkey -keyalg RSA -alias "key_name"
- 如果 key store 目前並不存在,
則必須設定 keystore 密碼;
反之,如果先前已經設定過密碼,
則此時就需要輸入先前所設定的密碼。 - 接著必須輸入一些基本資料,
如: 姓名, 單位, 國碼, ... 等等,
此處就不贅述了。 - 最後輸入 key 密碼,即可順利產生 key。
- 如果 key store 目前並不存在,
- 將 key 加入 applet 中:
jarsigner "applet.jar" "key_name"
此時需要依序輸入 key store 密碼與 key 密碼。 - Sign Applet 製作完成,
此時連上嵌入此 Sign Applet 的網頁,
即會跳出確認視窗,詢問是否同意進行操作。
- 在產生 keytool 時,如果沒有特別指定,
將會存放在此: ~/.keystore
註: 此處以 ubuntu 為例, Windows 作業系統將會在其他的位址。
如果需要額外指定存放位址, 需加上參數 -keystore "path"。 - 列出目前已有的 key:
keytool -list - 檢查 jar 是否已經完成 Sign
jarsigner -verify "applet.jar"
沒有留言:
張貼留言