さまざまなコメントですでに述べたように、この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はどちらの場合も同じであることに注意してください)。