2016-10-12 2 views
2

Я искал экстернализацию политики неограниченного ключевого уровня JAR в Oracle JRE. Я смог найти решение для IBM JRE, но не для Oracle JRE.Внешние файлы политики неограниченной ключевой силы для Oracle JRE

Ниже приведено решение для IBM.

https://stackoverflow.com/questions/25158921/externalizing-us-export-policy-jar-and-local-policy-jar-from-jre/40000513#40000513

Действительно ценим помощь по этой теме.

ответ

2

К сожалению, вы не используете Oracle. Глядя на код Java 8 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. Однако это действительно взломать!

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 загружен в первый раз.

+0

Большое спасибо Роберту. Таким образом, это означает, что мы должны перезаписать файлы jar политики по умолчанию в папке jre/lib/security, чтобы использовать неограниченную силу ключа для шифрования. – smallarv

+0

См. Мой обновленный ответ. Однако имейте в виду, что это взломать. – Robert

 Смежные вопросы

  • Нет связанных вопросов^_^