サンドボックスアプレットのセキュリティポリシーとIPアクセス権について

このQ&Aのポイント
  • SUN製Javaデフォルトの Policyの設定では、アプレットのアクセス権はどのようになるのか調べました。
  • デフォルトのサンドボックスのPC上のパスについても調査しました。
  • jarアプレットやclassアプレットファイルのダウンロード元以外のIPへのアクセスについても解説しました。
回答を見る
  • ベストアンサー

サンドボックス アプレットとデフォルトの Policyの設定

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

noname#179638
noname#179638
  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • den256
  • ベストアンサー率70% (7/10)
回答No.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/security/permissions.html#SocketPermission ポリシーの変更には、次のツールが必要です。 http://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/windows/policytool.html と言うわけで、Socket でP2Pの通信を実装して、ポリシーファイルを修正すれば出来るかもしれません。 ただ、どこかのサーバから配信を考えているなら、APPLET のダウンロードの前に policy ファイルの配備が必要になると思います。

参考URL:
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/security/permissions.html
noname#179638
質問者

お礼

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

関連するQ&A

  • avastのサンドボックス

    avast 6のサンドボックスで開いたアプリでダウンロードしたファイルはサンドボックスを閉じれば、自動的に削除されるんでしょうか?ファイルが見当たらないんですけど。

  • JavaアプレットからローカルJarを利用する方法

    クライアントのローカルフォルダに格納されているJarファイルを Javaアプレットから呼び出して使用することは可能でしょうか? クライアントにC:\Applet\lib\app-test.jarの様に、jarファイルが格納されているとして、 Javaアプレットからこのjarを使用しようするには、どのような設定が必要でしょうか? 現在は、NoClassDefFoundErrorになってしまいます。 eclipseで開発するときは、ビルドパスに上記パスを設定するので、問題なく動作します。 また、app-test.jarをC:\Program Files\Java\jre1.5.0_22\lib\extフォルダに格納すれば、 正常に動作します。 CLASSPATHを設定すれば良いのかと思い、C:\Applet\lib\app-test.jarを クライアントの環境変数(CLASSPATH)に登録しましたが、同じエラーが発生します。 C:\Applet\lib\app-test.jarを利用するために必要設定(環境変数、HTMLのobjectタグ、 java.policyなど)があれば教えてください。 以上

    • ベストアンサー
    • Java
  • アプレットとテキストファイル

    Java初心者です. appletでゲームのようなものを作ろうと思い, テキストファイル(*.txt)から文章を読み込んで 表示するようなプログラムを書きました. eclipseのアプレットビューアではちゃんと表示されるのですが, 自分でhtmlを書いてブラウザで表示させようとすると, このテキストファイルが読み込まれないのか,以下のようなエラーが ブラウザの下に出ました. java.security.AccessControlException: access denied(java.io.FilePermission ./res/aaa.txt read). これはどういうことなんでしょうか. eclipseのアプレットビューアを使ったら, プロジェクトフォルダに"java.policy.applet"というものができていたので, これをうまく使えたらいいのかとも思うんですが, どうもよくわかりません. ご回答お待ちしています. ちなみにOSはmac OSXで, フォルダの構成は, プロジェクトフォルダ  ー/src/*.java,*.class  ー/res/aaa.txt です.

  • アプレットがダウンロードできない

    アプレットをダウンロードしてソースを参考にしたいのですが、どうしてもできません。誰か解決方法を教えてください。 @@@ 状況 @@@ 1. HTMLのappletタグにあるcodebase、codeよりパス、ファイル名を取得。 2. それを元にダウンロードソフト(Nettransporter)でDL。一応レファラはアプレットを起動するURLで指定。しかしDLできず。 3. codeにあるファイル名は ***.class ではなく ***.***.class であった。 4. パスをきちんと指定すれば、他のHTMLファイルからでもアプレットは実行できる。

  • アプレットのダウンロード

    他の掲示板でダメそうなのでここで質問させていただきます。 アプレットで ***.classとなっているのをダウンロードして、 そのサイトにわざわざ行かずに実行したいのですがやり方を 教えてください。 ちなみに、code=の部分は次の様になっています。 code = "com.***.***.***.class" align="BOTTOM" height="*" width="*" archive="***.jar" mayscript よろしくお願いします。

  • javaアプレットがmicrosoftVMでは動作しません

    java初心者です。 JDKをインストールしてアプレットを作成しました。 ローカルファイルへのアクセス、印刷、ソケット通信などできるサンプルプログラムで、jarファイルを作って署名をおこないました。 jreがインストールされていると正常に動作しますが、MicrosoftVMしか入っていないとローカルファイルへのアクセス、印刷、ソケット通信すべて動きません。 回答よろしくお願いします

    • ベストアンサー
    • Java
  • JAVAアプレットの仕組みについて

    HTMLに埋め込まれたJAVAアプレットが画像を表示するように記述されている場合、JAVAアプレットは画像をサーバーからダウンロードして表示しているんですよね? JAVAアプレットがサーバーからファイルをダウンロードできるように、 JAVAアプレットがサーバー上にファイルを作り出すこともできるのですか? 今、計算プログラムをダウンロードで配布して、実行して得られた計算結果を投稿してもらう仕組みを作っているのですが、 JAVAアプレットにサーバー上のファイルを操作する能力があるのなら、JAVAアプレットを読み込み実行するだけで配布と投稿の作業が一まとめにできてしまうと思いました。 JAVAアプレットはサーバー上のファイルをどこまで操作できるのでしょうか?

    • ベストアンサー
    • Java
  • アプレットをhtmlに乗せると動かなくなります…

    こんにちは。わざわざ見て下さっている方ありがとうございます! 作ったアプレットがアプレットビューアの上でなら動くのに、htmlに乗せると「読み込みに失敗しました」になってしまいます。 私は本当に初心者でして、何をお伝えすればいいのか分からないのですが、htmlのアプレットを右クリックした時に出てくる[Javaコンソール]というものが限りなく怪しいかなと思いましたので、下にペーストしておきました。関係なかったらすみません。 Class: class ThreeDMaze ClassLoader: sun.plugin.security.PluginClassLoader@10dd1f7 java.security.AccessControlException: access denied (java.io.FilePermission .\mapFile 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.list(Unknown Source) at ThreeDMaze.init(ThreeDMaze.java:70) at sun.applet.AppletPanel.run(Unknown Source) at java.lang.Thread.run(Unknown Source) どうか宜しくお願いします!

    • ベストアンサー
    • Java
  • アプレットの設置方法

    JAVAアプレットを使いたいのですが、一つのClassファイルだけなら使えるのですが、2つ以上のClassファイルを使えません。<APPLET CODEBASE="http://.."" CODE="*.class"...の方法でどなたか教えていただけませんか? 花びらが落ちてくる等の花びらの画像がClassファイルと別になってる場合等も"http://..."でひっぱる方法しかありません。 よろしくお願いします。

    • ベストアンサー
    • Java
  • java-prugin1.3、Netscape communicatorでアプレットが呼び出せない。

    私は現在JAVAアプレットを作成しそのクラスファイルをjarにして そのjarファイルの中からクラスファイルをロードするhtmlを書きたいので、 アプレットを貼り付ける個所に以下のようにタグを書いたのですがJAVAコンソール上でクラスが見つかりません。といわれて失敗してしまいます。 (netscapeのみ失敗します。IEは成功してアプレットを実行できます。) 何か他に必ず指定しなければいけない属性があるのでしょうか? javadocも見て確認したのですが。。。 どなたか教えていただけないでしょうか? ちなみにjarファイルもhtmlファイルも全て同階層のディレクトリにおいてあります。 ----------ソースここから-------------- <OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="200" height="200" codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,1,3"> <PARAM NAME="code" VALUE="ReportSample.class"> <PARAM NAME="archive" VALUE="Sample.jar"> <PARAM NAME="codebase" VALUE="."> <PARAM NAME="type" VALUE="application/x-java-applet;version=1.3"> <PARAM NAME="mylabel" VALUE="MyLabel"> <COMMENT> <EMBED type="application/x-java-applet;version=1.3" width="200" height="200" align="baseline" java_archive="Sample.jar" java_codeBase="./" java_code="ReportSample.class"  pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"> <NOEMBED> </COMMENT> Java Plug-inの実行に失敗しました </NOEMBED> </EMBED> </OBJECT> --------------------------------------

    • ベストアンサー
    • HTML

専門家に質問してみよう