1. ホーム
  2. java

[解決済み】Javaセキュリティ。不正なキーサイズまたはデフォルトのパラメータ?

2022-02-03 11:31:10

質問

以前、この件で質問したのですが、うまく答えられず、どこにもたどり着けませんでした。

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

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

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);

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

解決方法は?

Unlimited strength ファイルがインストールされていない可能性が高いです。

このファイルをダウンロードする必要があるかもしれません。

Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 6

Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7 ダウンロード

Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 8 ダウンロード (Java 8 u162 以前のバージョンでは必要です。)

ZIPからjarファイルを解凍して ${java.home}/jre/lib/security/ .