- - PR -
アプレットの初期化コード内ではポリシファイル不要?
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-04-23 11:52
JAppletから派生して作成された既存の署名付アプレットに、メソッドを追加してJavaScriptからコールするようにしました。
するとアプレットロード時に行われる、ローカルファイルへのアクセス(読み、書き、実行)は成功するのですが、JavaScriptからコールされるメソッドで同じファイルへアクセスすると、java.security.AccessControlExceptionが発生します。 現象としては「電子署名付きアプレットのIEでの動作について」 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=16788&forum=12 と同じようです。 調べたところ、ポリシファイルを定義すれば回避できるようですが、アプレットロード時は成功するのが腑に落ちません。これはこういうものなのでしょうか? なおjavaは1.3.1です。 #アプレットロード時はポリシファイル不要なんてバグちゃうの? という気もしますがそれはさたておき、ポリシファイルが必要となる理由を、ユーザに説明しなければなりません… | ||||
|
投稿日時: 2008-04-24 16:13
javaポリシに関しては、
http://sdc.sun.co.jp/java/docs/products/plugin/1.3/enhancements/ja/security.html のLive Connectの項に説明がありました。 JavaScript が UniversalJavaPermissions 権限を持っていると、ローカルのポリシファイルは不要になるようです。 何のことか解らんので、これから調べます。 | ||||
|
投稿日時: 2008-04-24 17:07
UniversalJavaPermissions ってなんなんだろう。ぐぐっても全然検索にかからない…。
UniversalBrowserReadならちらほら引っかかるんですが。 署名付きJavaScriptに絡む権限の話題なのだろう、とは想像がつくのですけども。 JavaScriptからJavaをコールする条件は
http://sdc.sun.co.jp/java/docs/products/plugin/1.3/enhancements/ja/security.html のようですね。 署名付きのAppletは権限を要求するようになっている場合、起動時に確認されるのではないでしょうか。 権限を得た後は、ローカルファイルなどへアクセスすることができます。 Javaが1.3ですか…。当時のJavaで権限確認がされたかは記憶にありません。 1.3って保証切れているような気もしますね。 UniversalJavaPermissions という特殊な権限がない限りはデフォルトのサンドボックスでの動作となる模様。 JavaScriptに署名があって全権限とるようになっていたら、Java側に無条件に全権限が与えられる?本当かな…。 JavaScriptを信頼したらどこに置いてあるAppletも自在に読めて、かつ全権限で動作するって? |
1