Oracle JRE에서 무제한 키 강도 정책 JAR을 외부화하려고합니다. IBM JRE 용 솔루션을 찾을 수 있었지만 Oracle JRE 용 솔루션은 찾을 수 없었습니다.Oracle JRE에 대한 무제한 키 강도 정책 파일 구체화
다음은 IBM의 솔루션입니다.
정말이 주제에 도움을 주셔서 감사합니다.
Oracle JRE에서 무제한 키 강도 정책 JAR을 외부화하려고합니다. IBM JRE 용 솔루션을 찾을 수 있었지만 Oracle JRE 용 솔루션은 찾을 수 없었습니다.Oracle JRE에 대한 무제한 키 강도 정책 파일 구체화
다음은 IBM의 솔루션입니다.
정말이 주제에 도움을 주셔서 감사합니다.
불행히도 오라클이 의도 한 바가 아닙니다. 자바 8 오라클 JCE 하나의 코드를 보면 경로가 하드 코딩 된 것을 볼 수 있습니다
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
이 처음로드 될 때 정책 파일이로드되기 때문에이 코드는 최대한 빨리 실행되어야합니다 (다른 스레드가 병렬로 실행되지 않음).
고맙습니다. Robert. 따라서 암호화에 무제한 키 강도를 사용하려면 jre/lib/security 폴더의 기본 정책 jar 파일을 덮어 써야합니다. – smallarv
업데이트 된 답변보기 그러나 이것이 해킹임을 명심하십시오. – Robert