- PR -

Signed Applet のセキュリティポリシーについて

1
投稿者投稿内容
totto
会議室デビュー日: 2005/04/20
投稿数: 13
投稿日時: 2006-10-26 11:34
はじめまして、アプレットでローカルファイルを読み込めるようにしようと、Signed Applet について調べているのですが、僕が参考にした以下のサイトでは、証明書を付けたアプレットでローカルファイルを読み込めるようにセキュリティポリシーに、権限をつけてあげなければいけません。

[参考にしたサイト]
http://java.sun.com/developer/technicalArticles/Security/Signed/
http://www.mki.ne.jp/developers/doc/sign/SignedApplet.html
http://www-personal.umich.edu/~lsiden/tutorials/signed-applet/signed-applet.html

セキュリティポリシーの例:
grant SignedBy "susan" {
  permission java.util.PropertyPermission "user.home", "read"
  permission java.io.FilePermission "${user.home}/newfile", "write"
};

しかし!!

http://www.jumbo.co.jp/ の写真をアップロードするアプレットは、上記のようなセキュリティポリシーを設定しなくても、証明書を承諾するだけで、ローカルファイルを読み込めるようになります。

このように、セキュリティポリシーに権限を追加させなくても、証明書だけを許可してローカルファイルへのアクセスを許可するSigned Applet を作成するためには、どうしたらよいのでしょうか?
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2006-10-26 11:51
引用:

tottoさんの書き込み (2006-10-26 11:34) より:
http://www.jumbo.co.jp/ の写真をアップロードするアプレットは、上記のようなセキュリティポリシーを設定しなくても、証明書を承諾するだけで、ローカルファイルを読み込めるようになります。



試しにそのページをみてみましたが、
署名つきのActiveXコントロールをインストール
するようになっていましたが…。

別のページでApplet版もあるのですか?
totto
会議室デビュー日: 2005/04/20
投稿数: 13
投稿日時: 2006-10-26 13:11
引用:

試しにそのページをみてみましたが、
署名つきのActiveXコントロールをインストール
するようになっていましたが…。

別のページでApplet版もあるのですか?




http://print.fotowire.com/webClient2/stepImageUploadAX2.aspx

のページにあるファイルアップローダのことだったのですが、これは、署名つきのActiveXコントロールなのでしょうか?

また、

http://www.radinks.com/upload/applet.php

のページにあるファイルをドラッグ&ドロップで、アップロードできるアプレットなども、ポリシーを設定しなくても、証明書を承諾するだけで、ローカルファイルを読み込めるようになるのですが、これも署名つきのActiveXコントロールなのでしょうか?

nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2006-10-26 14:26
引用:

tottoさんの書き込み (2006-10-26 13:11) より:
http://print.fotowire.com/webClient2/stepImageUploadAX2.aspx

のページにあるファイルアップローダのことだったのですが、これは、署名つきのActiveXコントロールなのでしょうか?



セキュリティ設定などによるでしょうが、私の環境
WindowsXP SP2 / IE6.0 でアクセスすると
ActiveXのインストールの警告がでます。
Appletの場合の警告とは別物なので見分けは付くと思いますよ。

引用:

tottoさんの書き込み (2006-10-26 13:11) より:
http://www.radinks.com/upload/applet.php

のページにあるファイルをドラッグ&ドロップで、アップロードできるアプレットなども、ポリシーを設定しなくても、証明書を承諾するだけで、ローカルファイルを読み込めるようになるのですが、これも署名つきのActiveXコントロールなのでしょうか?



こちらは起動時にJavaのロゴがでることからも分かるようにAppletですね。
ファイルのドラッグ&ドロップはjava.awt.dndパッケージを利用します。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/awt/dnd/package-summary.html

ドラッグ&ドロップでの受け渡しがAppletのサンドボックス内で
どのような挙動を示すのかは調べたことがないので私にはちょっと分かりませんね。

Appletとほぼ同等のサンドボックスで動いているJavaWebStartの場合、
制限はありますがクリップボードなどにアクセスすることは可能です。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/javaws/jnlp/javax/jnlp/ClipboardService.html

先のサンプルがどういう方法をとっているかはわかりませんが。
(ダウンロードできるけどソースは付いていないし、
 jarファイルの中を覗いてみたけど難読化されてそうな気がする…)
totto
会議室デビュー日: 2005/04/20
投稿数: 13
投稿日時: 2006-10-26 17:41
nagiseさん、返答ありがとうございます。

引用:

nagiseさんの書き込み (2006-10-26 14:26) より:

セキュリティ設定などによるでしょうが、私の環境
WindowsXP SP2 / IE6.0 でアクセスすると
ActiveXのインストールの警告がでます。
Appletの場合の警告とは別物なので見分けは付くと思いますよ。




私の環境は、MacOSXです。ActiveXはMacでは動作しないし、上記のアップローダで、Javaのロゴが出てくるので、おそらくアプレットかと思います。ユーザエージェントか何かで振り分けているのかな。ぜひアプレット版を、一度試してみていただいて、ご教授願いたいのですが・・・動作自体は至って普通で、アプレット内にローカルのファイル構成のファイルダイアログが出てきてそこから、写真を選ぶというものなのですが。

引用:

nagiseさんの書き込み (2006-10-26 14:26) より:

こちらは起動時にJavaのロゴがでることからも分かるようにAppletですね。
ファイルのドラッグ&ドロップはjava.awt.dndパッケージを利用します。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/awt/dnd/package-summary.html

ドラッグ&ドロップでの受け渡しがAppletのサンドボックス内で
どのような挙動を示すのかは調べたことがないので私にはちょっと分かりませんね。

Appletとほぼ同等のサンドボックスで動いているJavaWebStartの場合、
制限はありますがクリップボードなどにアクセスすることは可能です。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/javaws/jnlp/javax/jnlp/ClipboardService.html

先のサンプルがどういう方法をとっているかはわかりませんが。
(ダウンロードできるけどソースは付いていないし、
 jarファイルの中を覗いてみたけど難読化されてそうな気がする…)



なるほど、ローカルリソースを使用する場合でも、セキュリティポリシーを指定しなくてもよい場合があるということですね。

最悪セキュリティポリシーを設定する方法でもいいのですが、そのアプレットを使う方がPC初心者の場合には、すこし難しいと思われますし、めんどくさいですので、ぜひこのようなアプレットを作りたいのですが。
1

スキルアップ/キャリアアップ(JOB@IT)