java appletはセキュリティ上の制限で
ユーザのローカルファイルにアクセスできません。
java.security.AccessControlException: access denied (java.io.FilePermission . read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkRead(Unknown Source)
at java.io.File.exists(Unknown Source)
at javax.swing.JFileChooser.setCurrentDirectory(Unknown Source)
at javax.swing.JFileChooser.(Unknown Source)
at javax.swing.JFileChooser.(Unknown Source)
例外: java.security.AccessControlException: access denied (java.io.FilePermission . read)
しかし、書名付きアプレットでは
それが可能になります。
- 書名付きアプレットの作り方
- 鍵ペアを作成
> keytool -genkey -keyalg rsa -storepass *** -alias appletkey -keypass *** -validity 90
こうすると....
姓名を入力してください。
[Unknown]:
組織単位名を入力してください。
[Unknown]:
組織名を入力してください。
[Unknown]:
都市名または地域名を入力してください。
[Unknown]:
州名または地方名を入力してください。
[Unknown]:
この単位に該当する 2 文字の国番号を入力してください。
[Unknown]:
CN= , OU= , O= , L= , ST= , C= でよろしいですか?
[no]:
- クラスファイルをjarファイルにする
> jar -cfM jarfile.jar classname.class classname$any.class
このように全部必要です。
- jarファイルに署名
> jarsigner -storepass *** -keypass *** -signedjar signedapplet.jar jarfile.jar appletkey
警告:
署名者の証明書は 6 か月以内に期限切れになります。
このようにappletを呼びます