私はJNLP上でJavaアプレットのデプロイメントを進めています。アプレットの機能は期待どおりに機能し、問題は実行時に表示されるセキュリティ警告内にあります。私は十分な答えがなくていつ、なぜ彼らが出現するのかについての答えを広範に調査したので、私はここで答えを得ようと思った。Javaアプレットに関する警告の明確化
構内: 私のアプレットは、信頼できるCAとしてインポートされた自己署名入りの証明書を使用して署名されています(「より安全な」警告が表示されます)。私はThawteやVerisignの本物の証明書をプロダクションで使用しますが、これは今のところ十分なはずです。 外部アクセス権は必要なく、ディスクアクセスはJNLPを介してのみ実行されます。
私はFileSaveServiceとFileOpenServiceを使用できるようにしたいので、JNLPファイルのセキュリティ部分にj2ee-application-client-permissionsタグを指定しました。
Javascriptは、アプレットのパブリック関数を呼び出すために使用されます。
これは今起こります: アプレットがロードされると、このアプレットがシステムに無制限にアクセスできるように警告するセキュリティプロンプトが表示されます。この警告は、黄色の警告ではなく、青色の情報表示を持つ信頼された種類です。なぜこの警告が出るのですか? JNLPライブラリのみを使用しても常にこれが表示されますか?この警告はどのようにして決定されますか、私のコードをスキャンするか、または私が変更できる設定を読んでいますか?この警告が表示されずに実行できるクラスの一覧はありますか?
アプレットが読み込まれ、ファイルダイアログを開こうとすると、アプリケーションが読み取り/書き込みのアクセス権を要求したというメッセージが再度表示されます。
私は、JNLPの使用を開始したときに最初に表示されたので、後の警告はJNLP警告であると仮定します。起動時と使用中の両方でプロンプトが表示されるのはなぜですか?私は両方を取得する必要がありますし、私は適切な証明書を取得した後、私は両方を取得しますか?
最も重要なのは、最初の警告を取り除きたいのですが、私のアプレットが無制限のアクセスで実行できるようにするのは怖いからです(特にこれは私の意図ではありません)。どのような警告を引き起こすのかを明らかにする文書と、それを処理する方法はありますか?
編集: ファイルはJanelaでエラーなしで検証されます。すべてのものが必要なときに起動します。私が理解したい警告です。
<script>
var attributes = {
id:'id',
codebase:'www.mydomain.com/jars/',
width:1,
height:1,
name:"Name"
};
var parameters = {
jnlp_href:"www.mydomain.com/jars/jnlp.jnlp"
}
deployJava.runApplet(attributes, parameters, '1.6');
</script>
JNLPファイル
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" href="/jars/jnlp.jnlp">
<information>
<title>Title</title>
<vendor>My Company</vendor>
<description>Description</description>
<description kind="short">Desc</description>
<offline-allowed />
</information>
<resources>
<j2se version="1.6+" />
<jar href="ext1.jar" main="false" download="eager"/>
<jar href="ext2.jar" main="false" download="eager" />
<jar href="mainJar.jar" main="true" download="eager"/>
</resources>
<applet-desc
name="name"
main-class="com.myCompany.applet.mainClass"
width="1"
height="1">
</applet-desc>
<security>
<j2ee-application-client-permissions/>
</security>
</jnlp>
1)を使用して起動ファイルを検証することを確認し、[JaNeLA](http://pscode.org/janela/)。多くの奇妙な問題は、非標準のJNLPファイルによって引き起こされます。 2)*「Javascriptはアプレットのパブリック関数を呼び出すために使用されます」* JSが使用されていない場合、アプレットはどのように動作しますか?どのようにHTMLにデプロイされますか?私たちはそれを見ることができる場所へのリンクを持っていますか? –
更新を参照してください。このページにはJavaScriptが必要で、アプレットのページが表示されるよりもずっと前に苦情を申し立てます。アプレットを起動するすべての人がJavascriptを有効にしているとみなすことができます。それがまだ開発されているので、私はあなたにそれを示すことはできません。私が警告とその理由を読むことができるドキュメンテーションはありますか? – Erik
'www.mydomain.com/..'このページはwww.mydomain.comにもありますか?その場合は、接頭辞を削除してください。JREは、リソースの「電話に電話をかける」ことを理解しています。 JREのどのバージョンがこれに表示されていますか? –