5

jar最新の Java アップデート以降、使用している両方のファイルが署名されているにもかかわらず、2 つのアプレットがユーザーに警告ポップアップを表示しています。jarsigner -verify MyJarFile.jarコマンドを使用して署名されていることを確認しました。以下は、私たちが見ているポップアップメッセージです...

ここに画像の説明を入力

私のアプレットは、JNI を介して C++ dll を呼び出します。C++ dll は C# ネットモジュールを呼び出します。

このポップアップを非表示にするために何ができるか知っている人はいますか? アプリケーションには署名済みコードと未署名コードの両方が含まれていると表示されていますが、jar ファイル内のすべての Java ファイル (1 つだけ) に署名しています。私がしなければならないより高いレベルの署名はありますか?

編集: これは、最新の Java 更新の時点で発生しています。このページから引用した以下の引用を参照してください。

Java アプレットまたは Java Web Start テクノロジを使用してデプロイされたアプリケーション (実行時に Web ブラウザまたはネットワーク経由でエンド ユーザーに配布されるアプリケーション) の作成者およびベンダーは、最高のユーザー エクスペリエンスを得るために、信頼できる証明書を使用してコードに署名する必要があります。特に、クライアントのブラウザ内で実行されるすべての Java コードは、ユーザーにプロンプ​​トを表示します。表示されるダイアログ メッセージのタイプは、コードが署名されているか署名されていないか、コードが昇格権限を要求しているか、JRE がセキュリティ ベースラインを上回っているか下回っているかなどのリスク要因によって異なります。リスクの低いシナリオでは、非常に最小限のダイアログが表示され、同様のダイアログを表示しないチェックボックスが含まれています。将来的には同じベンダーによって。署名されていない jar を実行するなど、リスクの高いシナリオでは、リスクが高いため、より多くのユーザー操作が必要になります。

4

1 に答える 1

7

答えがわかった。私のEclipseプロジェクトにはマニフェストファイルがなかったので、という名前のファイルを作成しmanifest.mf、次のコードを入れました。

Manifest-Version: 1.0
Trusted-Library: true

Eclipse で jar ファイルをビルドすると、3 ページ目でマニフェスト ファイルを要求されます。このオプションのデフォルトは「Create a manifest file for me」になっていると思いますが、このマニフェスト ファイルには上記の最初の行しか含まれていません。「ワークスペースから既存のマニフェストを使用する」というオプションを選択し、作成した manifest.mf ファイルを選択します。次に、通常どおり jar に署名します。

Trusted-Library問題を修正したのは属性でした。この属性およびその他の特権コード jar ファイルの詳細については、このページを確認してください。

于 2013-05-08T15:24:56.493 に答える