2011年9月18日 星期日

Java How to Signed Applet

Java 要如何對一個Applet做簽章的動作呢?

首先這個問題就要回到,為什麼要去對一個Applet做簽章的動作?

因為安全機制的問題,當你想要用Applet去讀取或者寫入檔案至某處時

這在Applet是不允許的。(你用Java Run Ok ,但是嵌入Html裡面就不行囉)

為了要使網頁裡面的Applet也能夠使用相同功能,就必須針對Applet進行簽章的動作。

1.Generate key :

At command line type 

keytool -genkey -keyalg rsa -alias keyname

2.Export key :

keytool -export -alias keyname -file anyname.crt

3.Create JAR :

這部分可以透過Eclipse直接將Project打包成JAR檔案

4.Sign Jar :

jarsigner Jarname.jar keyname

最後,為了要在Html的頁面上執行Applet 必須加上幾行語法

<Applet
 Code   = "ClassName.class"
 Archive ="Jarname.jar" >
</Applet>

當然還可以定寬、高等變數。

P.S. 在Export Key 時,請確認所在的目錄,有允許進行檔案輸出的權限
作者使用的是C:\Users\username ,若所在目錄是不允許進行檔案輸出
便會出現 存取被拒 的錯誤,以上步驟建議都在相同目錄操作即可。

若是Java不能在其他目錄下進行,別忘了先去進行 環境變數 的設定 。

最後,Html必須和簽章過後的Jar放置在同一個目錄下唷~不然要在Archive 那邊
另外設定路徑才可以,因此建議都置於同一資料夾下會方便點。

沒有留言:

張貼留言