高い権限を持つアプレットを展開したい場合は、署名する必要があります。そのために、証明書が作成され、jar ファイルが jarsigner で署名されます。その後、HTML コードで、以前に署名したコード、コードベース、およびアーカイブ (jar) を指定する必要があります。
ただし、次の 2 つの機能を果たすサーブレットを作成しました。
- これは、コードベースが指す URL にあり、クラス バイトコードをアプレットに提供します。
- 同じサーブレットもシリアライゼーションを使用してアプレットと通信します。これにより、アプレットがクラスを取得するたびに、サーブレットに戻るコードベースに移動することがわかりません。
残念ながら、署名付きアプレットの場合、アーカイブが必要です。これで、サーブレットも Certificate オブジェクトをロードして、アプレットにも送信できるようになりました。セットアップは次のとおりです。ある時点で、アプレットはクラスのバイトコードを受け取り、証明書も持っています。アプレットがその証明書を使用して受信したすべてのクラスをインスタンス化できると便利です (そうしないと、jar からのコードは署名されており、外部はユーザーに不快なメッセージを表示するものではありません)。
Java 愛好家の皆さんへの質問です。 バイトコード データと証明書を使用してクラスを署名付きオブジェクトとしてインスタンス化し、プラグインが [セキュリティ] ダイアログを表示し、証明書を受け入れ、オブジェクトの権限を昇格させる方法はありますか? 私が見つけたのは、コードベース URL と証明書を受け入れ、署名プロセスに不可欠なクラス CodeSource があることです。私が確信していないのは、アプレット内のクラスのロードを傍受して、アーカイブを介して JAR ファイルを介して取得されていない追加の証明書をインストールする方法です。
あなたは何を言っていますか?本当にありがとう。