Oracle JREで無制限のキー強度ポリシーJARを外部化しようとしています。私はIBM JREのソリューションを見つけることができましたが、Oracle JREのソリューションは見つけられませんでした。Oracle JREの無制限のキー強度ポリシーファイルの外部化
以下はIBMのソリューションです。
は本当にこのトピックに関するヘルプを感謝しています。
Oracle JREで無制限のキー強度ポリシーJARを外部化しようとしています。私はIBM JREのソリューションを見つけることができましたが、Oracle JREのソリューションは見つけられませんでした。Oracle JREの無制限のキー強度ポリシーファイルの外部化
以下はIBMのソリューションです。
は本当にこのトピックに関するヘルプを感謝しています。
残念ながら、あなたが試みていることは、Oracleによって意図されていません。
private static void setupJurisdictionPolicies() throws Exception {
String javaHome = System.getProperty("java.home");
String sep = File.separator;
String path = javaHome + sep + "lib" + sep + "security" + sep;
File localFile1 = new File(path, "US_export_policy.jar");
File localFile2 = new File(path, "local_policy.jar");
...
場所が一時的にシステムプロパティjava.home
を変更することであろう「微調整」する唯一の方法:OracleのJCEの1が、パスがハードコードされていることが確認できたJava 8のコードを見てみます。しかし、これは本当にハックです!
String javaHome = System.getProperty("java.home");
try {
System.setProperty("java.home", "C:\\Path_to_unrestricted_key_strength_policy_files");
Class.forName("javax.crypto.JceSecurity");
} finally {
System.setProperty("java.home", javaHome);
}
C:\\Path_to_unrestricted_key_strength_policy_files\lib\security
にファイルを配置します。また、JRE lib\security
フォルダーにある他のファイルもコピーする必要があります。
クラスjavax.crypto.JceSecurity
が初めてロードされたときにポリシーファイルがロードされるため、このコードは可能な限り早く実行する必要があります(他のスレッドは並行して実行しないでください)。
ありがとうロバート。つまり、無制限の鍵強度を暗号化に使用するには、jre/lib/securityフォルダ内のデフォルトのポリシーjarファイルを上書きする必要があります。 – smallarv
私の更新された回答を参照してください。しかし、これはハックであることに留意してください。 – Robert