13

署名されたJavaアプレットは、Java Update 19まで正常に実行されています。JavaUpdate19のすべてではありませんが、一部のユーザーが、アプレットに署名されたコードと署名されていないコードの両方が含まれていることを示すJavaセキュリティメッセージを報告します。

アプレットを作成するプロセスは次のとおりです。

  1. NetbeansIDEでアプレットプロジェクトをクリーンアップしてビルドします。
  2. WinRARでアプレットjarファイルを開き、必要なmysqlJDBCドライバーの.classファイルをjarファイルに追加します。
  3. アプレットjarファイルに署名します。

アプレットで署名されているコードと署名されていないコードを判別する方法を教えてもらえますか?jarファイルの内容をアプレットjarファイルにコピーする以外に、mysql JDBCドライバーのjarファイルをアプレットに含めるためのより良い方法はありますか?

ありがとう

4

3 に答える 3

14

編集:Java 7 Update 45のバグのため、Trusted-Libraryをマニフェストファイルに追加しないでください。新しい属性Caller-Allowable-Codebaseを追加するだけです。詳細については、この質問を参照してください。Javaアプレットマニフェスト-すべてのCaller-Allowable-Codebaseを許可する

Java 7 Update 21は2013年4月16日にリリースされ、アプレットにこの警告ダイアログの表示を開始させました。

リリースノートによると:JDK 7u21以降、特権アプレット内のコードを呼び出すJavaScriptコードは混合コードとして扱われ、署名されたJARファイルがTrusted-Library属性でタグ付けされていない場合は警告ダイアログが表示されます。

これを修正するには、manifest.mfファイルを編集して、次のような行を追加します。

Trusted-Library: true

ただし、これを行う前に十分に注意する必要があります。署名されたアプレットをjavascriptから呼び出すことができる場合、悪意のあるユーザーがユーザーのコンピューターに有害なことを行う可能性があります。

アプレットを保護する簡単な方法の1つは、アプレットが他のWebサイトで実行されないようにすることです。これを行うには、サイトに一致しない場合に例外を調べてスローするコードをinit()メソッドに配置します。getCodeBase().getHost()

Java 7 Update 25では、アプレットを実行できるサイトを制限する別の方法が導入されています。マニフェストファイルで次のようにCodebase属性を設定できます。

Codebase: test.example.com www.example.com

Java 7 Update 45(2013年10月16日リリース)では、LiveConnectシステム(javascript-to-appletブリッジ)にさらに変更が加えられ、別のプロンプトが表示される可能性があります。この記事では、7u45の変更について説明しています:https ://blogs.oracle.com/java-platform-group/entry/liveconnect_changes_in_7u45

基本的に、プロンプトを回避するために、マニフェストファイルに以下を追加することもできます。

Caller-Allowable-Codebase: test.example.com www.example.com

アプレットを含む製品を販売していて、それを展開できるドメインがわからない場合は、ここにデータを入力できます*。

于 2013-04-18T17:14:09.230 に答える
11

試すべきいくつかのこと:

  • javaプラグインのコントロールパネル($ JAVA_HOME / bin / ControlPanel)に移動します。
  • タブに移動しAdvancedます。
  • 拡大Debug
  • チェックEnable tracing、、、Enable logging_Show applet lifecycle exceptions
  • 拡大Java console
  • 小切手Show console
  • クリックOK(またはClose、OSによっては)

アプレットがロードされると、Javaコンソールが開きます。それをクリックして、すぐに「5」を押します。アプレットを実行するためにフェッチされているjarとクラスをログに記録します。このどこかに、どのjarまたはクラスが「署名されていない」と見なされるかを示すメッセージがあるはずです。初めて見逃した場合は、ウィンドウをリロードして再試行してください。

于 2010-04-11T03:32:32.737 に答える
2

信頼できるコードと信頼できないコードを混在させることは、6u19(執筆時点での現在のCPU / SSRリリース)で修正された脆弱性です。ドキュメントを参照してください。ミックスをブロックするか、デバッガーを使用すると、問題がどこにあるかがわかります。

于 2010-04-09T14:54:24.637 に答える