0

local_policy.jar最近、ディレクトリに存在するような JCE ファイルを含む Oracle からの JDK インストールに出くわしましたjre/lib/securityが、それらのファイルはダミーであり、無制限強度の暗号化を真に有効にしませんでした。それらをOracleからのダウンロードに置き換えた後、物事ははるかにスムーズになりました.

今、私は、システムの健全性をテストし、このような混乱を防ぐ簡単な方法があるべきだと考えています。だから、私は疑問に思っています:

keytool適切な JCE jar がインストールされ、使用されている場合にのみ成功する操作はどれですか?

そうすれば、失敗したときに local_policy.jar が利用できないか、実際のファイルと交換する必要がある役に立たないダミーファイルが配置されていることがわかります。

4

1 に答える 1

0

さまざまなコメントですでに述べたように、このgetMaxAllowedKeyLength()テストを使用して、jdk / jreが無制限の強度の暗号化をサポートしているかどうかを判断できます(私のテストでは「AES」暗号を使用しましたが、「RC5」も機能するはずです)。この機能をテストするときは、適切なjarファイルを配置する必要があります(jarファイルの内容が重要な部分です)。

私のローカルボックスから、強度が制限された暗号化のjdkには、次の内容のlocal_policy.jarファイルがあります。

// Some countries have import limits on crypto strength. This policy file
// is worldwide importable.

grant {
    permission javax.crypto.CryptoPermission "DES", 64;
    permission javax.crypto.CryptoPermission "DESede", *;
    permission javax.crypto.CryptoPermission "RC2", 128, 
                                     "javax.crypto.spec.RC2ParameterSpec", 128;
    permission javax.crypto.CryptoPermission "RC4", 128;
    permission javax.crypto.CryptoPermission "RC5", 128, 
          "javax.crypto.spec.RC5ParameterSpec", *, 12, *;
    permission javax.crypto.CryptoPermission "RSA", *;
    permission javax.crypto.CryptoPermission *, 128;
};

一方、無制限の強度を持つjdkには次の内容が含まれます。

// Country-specific policy file for countries with no limits on crypto strength.
grant {
    // There is no restriction to any algorithms.
    permission javax.crypto.CryptoAllPermission; 
};

(US_export_policy.jarはどちらの場合も同じであることに注意してください)。

于 2013-03-07T19:04:01.757 に答える