Java セキュリティ: キー サイズが不正か、デフォルト パラメータか? 質問する

Java セキュリティ: キー サイズが不正か、デフォルト パラメータか? 質問する

以前これについて質問したのですが、適切な回答が得られず、何も解決しませんでした。

そこで、問題の詳細をいくつか明らかにしましたので、どうすればこの問題を解決できるか、何を試すべきかについて、皆さんの意見をぜひ聞かせてください。

私の Linux サーバーにはJava 1.6.0.12がインストールされており、以下のコードは完璧に実行されます。

String key = "av45k1pfb024xa3bl359vsb4esortvks74sksr5oy4s5serondry84jsrryuhsr5ys49y5seri5shrdliheuirdygliurguiy5ru";
try {
    Cipher c = Cipher.getInstance("ARCFOUR");

    SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes("UTF-8"), "ARCFOUR");
    c.init(Cipher.DECRYPT_MODE, secretKeySpec);

    return new String(c.doFinal(Hex.decodeHex(data.toCharArray())), "UTF-8");

} catch (InvalidKeyException e) {
    throw new CryptoException(e);
}

今日、サーバー ユーザーにJava 1.6.0.26をインストールしましたが、アプリケーションを実行しようとすると、次の例外が発生します。最初のバージョンでは動作するものの、それ以降のバージョンでは動作しないため、Java インストール構成に関係しているのではないかと思います。

Caused by: java.security.InvalidKeyException: Illegal key size or default parameters
    at javax.crypto.Cipher.a(DashoA13*..) ~[na:1.6]
    at javax.crypto.Cipher.a(DashoA13*..) ~[na:1.6]
    at javax.crypto.Cipher.a(DashoA13*..) ~[na:1.6]
    at javax.crypto.Cipher.init(DashoA13*..) ~[na:1.6]
    at javax.crypto.Cipher.init(DashoA13*..) ~[na:1.6]
    at my.package.Something.decode(RC4Decoder.java:25) ~[my.package.jar:na]
    ... 5 common frames omitted

25行目は次のとおりです。c.init(Cipher.DECRYPT_MODE, secretKeySpec);

注:
* サーバーの1.6.0.12 java ディレクトリの java.security は、 1.6.0.26 java.security ファイルとほぼ完全に一致しています。最初のファイルには追加のプロバイダーはありません。
* 前の質問はここ

ベストアンサー1

おそらく、現在無制限強度のファイルがインストールされていません。

次のファイルをダウンロードする必要がある場合があります:

Java 暗号化拡張機能 (JCE) 無制限強度管轄ポリシー ファイル 6

Java 暗号化拡張機能 (JCE) 無制限強度管轄ポリシー ファイル 7 のダウンロード

Java 暗号化拡張機能 (JCE) 無制限強度管轄ポリシー ファイル 8 のダウンロード(Java 8 u162 より前のバージョンでのみ必要)

zip から jar ファイルを抽出し、 に保存します${java.home}/jre/lib/security/

おすすめ記事