java 암호화/복호화 관련 작업 수행시,
Unsupported keysize or algorithm parameters 나 Illegal key size or default parameters 에러가 발생할 경우,
JCE(Java Cryptographic Extension)의 정책(policy) 파일 문제일 경우가 많다.
JCE의 기본 정책으로 인해 제한된 사항(ex: AES에서 128bit(16byte)를 초과하는 길이의 key 사용불가)을
해제하기 위해서는 jre의 암호화 정책 파일(local_policy.jar 와 US_export_policy.jar)을 무제한(unlimited)
버전으로 덮어써 줘야 한다.
문제는 JDK의 벤더 및 종류에 따라 정책 파일이 다르다는 것인데...
여러가지가 있지만, 일단 경험했던 것들만 올려 본다.
아래 링크에서 다운로드 받은 파일들(local_policy.jar 와 US_export_policy.jar)을
각 서버의 JAVA_HOME/jre/lib/security 폴더에 overwrite 해 주면 된다.
* SUN(Oracle) JDK 용
v1.4 : Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 1.4.2
v1.5 : Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 5.0
v1.6 : Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 6
* IBM JDK 용
https://www14.software.ibm.com/webapp/iwm/web/reg/pick.do?source=jcesdk&lang=en_US
- 로그인 한 유저만 페이지에 진입할 수 있으므로, IBM 계정이 없으면 회원가입을 하자 (ㅠ_ㅠ )
- 두 가지 버전이 있는데, 설명이 있으므로 각자 환경에 맞게 판단해서 적용하자