プロが教える店舗&オフィスのセキュリティ対策術

 SUN製Javaデフォルトの Policyの設定だとアプレットでのアクセス権はどうなりますか?

 デフォルトの各アプレットのサンドボックスのPC(WindowsXP Linux)上のパスを教えてください。

 ローカルファイルへのそれは禁止としてはダウンロード元とは異なるIPにへのアクセスついて特に知りたいです。

 jarアプレットやclassアプレットファイルのダウンロード元とは違うIPへアクセスできないのか

 それともjarアプレットやclassアプレットをAPPLETタグなどで読み込むhtmファイルのダウンロード元とは異なるIPへのアクセスができないのか

(もちろん日本ベリサインなどの証明書があればユーザに許可を求めることができることは存じ上げております。)

http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/ …

↑ここに載せた解説ではよく分かりません。
ポリシーを変更するための
(たとえば一例として「同一Javaアプレットのサンドボックス内以外のmyローカルPCへのアクセスは禁止するがダウンロード元以外のIPのPC内の同一Javaアプレットのサンドボックスへのアクセスは証明書がなくても信頼済みとする」のような)
もっと分かりやすく日本語で解説しているWebサイトってございませんでしょうか?

アプレットでP2Pのようなことがしたいのです。

A 回答 (1件)

den256 と申します。



> SUN製Javaデフォルトの Policyの設定だとアプレットでのアクセス権はどうなりますか?

デフォルトのポリシーファイルを見るとプロパティ関係の読み込みとThread のなにか、Sokect の listen のみ許可されているようですね。
それとローカルの APPLET を実行した場合、URL が file:の場合は、すべての権限が許可されているようですね。

C:\Program Files\Java\jre1.5.0_10\lib\security\java.policy

grant codeBase "file:${{java.ext.dirs}}/*" {
permission java.security.AllPermission;
};

// default permissions granted to all domains
grant {
permission java.lang.RuntimePermission "stopThread";

permission java.net.SocketPermission "localhost:1024-", "listen";

java.util.PropertyPermission "java.version", "read";
permission java.util.PropertyPermission "java.vendor", "read";
permission java.util.PropertyPermission "java.vendor.url", "read";
permission java.util.PropertyPermission "java.class.version", "read";
permission java.util.PropertyPermission "os.name", "read";
permission java.util.PropertyPermission "os.version", "read";
permission java.util.PropertyPermission "os.arch", "read";
permission java.util.PropertyPermission "file.separator", "read";
permission java.util.PropertyPermission "path.separator", "read";
permission java.util.PropertyPermission "line.separator", "read";

permission java.util.PropertyPermission "java.specification.version", "read";
permission java.util.PropertyPermission "java.specification.vendor", "read";
permission java.util.PropertyPermission "java.specification.name", "read";

permission java.util.PropertyPermission "java.vm.specification.version", "read";
permission java.util.PropertyPermission "java.vm.specification.vendor", "read";
permission java.util.PropertyPermission "java.vm.specification.name", "read";
permission java.util.PropertyPermission "java.vm.version", "read";
permission java.util.PropertyPermission "java.vm.vendor", "read";
permission java.util.PropertyPermission "java.vm.name", "read";
};

○SokectPermission について
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/ …

ポリシーの変更には、次のツールが必要です。
http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldo …

と言うわけで、Socket でP2Pの通信を実装して、ポリシーファイルを修正すれば出来るかもしれません。

ただ、どこかのサーバから配信を考えているなら、APPLET のダウンロードの前に policy ファイルの配備が必要になると思います。

参考URL:http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/ …
    • good
    • 0
この回答へのお礼

 ご回答ありがとうございました!
奥が深いですね・・・
良回答出しときます。

お礼日時:2007/02/13 15:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!