AES-256を使用して暗号化を実行するJavaアプリケーションがあります。ご存知のように、これにはJCE Unlimited Strength JurisdictionPolicyFilesが必要です。ただし、アプリケーションが配布されているすべてのマシンにこれらをインストールする必要はありません。それで、いくつか掘った後、私はこれに出くわしました:
http://docs.oracle.com/javase/1.5.0/docs/guide/security/jce/JCERefGuide.html#ExemptApps
これは、JAR内にポリシーファイルを含める方法のようです。その記事から、これを達成するためのステップは次のとおりです。
ステップ1:アプリケーションコードを記述してコンパイルする
手順2:適切な暗号化アクセス許可を付与するアクセス許可ポリシーファイルを作成する
ステップ3:テストの準備
ステップ3a:制限を義務付ける政府からの政府承認を申請します。
ステップ3b:コード署名証明書を取得する
ステップ3c:アプリケーションとアクセス許可のポリシーファイルをJARファイルにバンドルする
ステップ3d:JARファイルに署名します
ステップ3e:制限された国のユーザーのような環境を設定する
手順3f:(免除メカニズムを使用するアプリの場合のみ)アクセス許可ポリシーファイルで指定された免除メカニズムを実装するプロバイダーをインストールする
ステップ4:アプリケーションをテストする
ステップ5:必要に応じて米国政府の輸出承認を申請する
ステップ6:アプリケーションをデプロイする
私が疑問に思っているのは、ステップ3b〜3dです。このJARファイルにどのように署名すればよいですか?誰がそれに署名する必要がありますか?クライアントが持っていない署名に自己署名証明書を使用できますか?この署名に対して行われた認証はありますか?
誰かがこれを経験したことがありますか?