[Java] security - local_policy.jar, US_export_policy.jar
개발환경 셋팅을 하는데
security 폴더에 local_policy.jar, US_export_policy.jar 이 두개의 파일을 덮어씌우라는 내용이 있었다.
도대체 이게 무엇이고 왜 해야하는지 궁금하여 내용을 찾아보았다.
기본적으로는 128Bit로 암호화를 하는데, 그 이상(256Bit)으로 암호화를 처리해야 하는 경우
java.security.InvalidKeyException: Illegal key size 예외가 발생 한다고 한다.
제한이 걸려있는 암호화 길이를 무시하고 위와 같은 에러가 뜨지 않도록 별도의 작업이 필요하다고 한다.
JDK 8u151 이전 버전의 경우에는
<JAVA_HOME>/jre/lib/security 디렉토리에 본인이 사용하고 있는 Java 버전에 맞는 local_policy.jar, US_export_policy.jar 파일을 다운받아서 덮어 씌운다.
<다운로드>
jdk8 (Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 8)
http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
jdk7 (Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7)
http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
jdk6 (Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 6)
http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
JDK 8u151 이상 버전에서는
아래 사진과 같이 <JAVA_HOME>/jre/lib/security/policy 폴더 안에 limited와 unlimited가 나뉘어 있는 것을 확인할 수 있다.
여기서는 따로 파일을 다운받아 덮어 씌우지 않고
<JAVA_HOME>/jre/lib/security 내의 java.security 파일 내용에서
crypto.policy=unlimited 옵션의 주석을 풀어주면 된다.
✨아래 링크 글에서 자세한 설명을 확인 할 수 있으니 한 번 읽어보는 것을 추천한다.
[Java] JDK의 암호화 알고리즘 키 제한 이슈 (Illegal key size 오류) (1004lucifer.blogspot.com)
참고
local_policy.jar, US_export_policy.jar, 다운 java.security.InvalidKeyException: Illegal key size or default parameters, java,
local_policy.jar, US_export_policy.jar java.security.InvalidKeyException: Illegal key size or ...
blog.naver.com