검색결과 리스트
글
LANGUAGE/!$%!% ERROR NOTE
2017. 11. 2. 11:02
Java
AES256
AES128
은 16바이트의 Key를, AES192
은 24바이트의 Key를, AES256
은 32바이트의 Key를 사용한다.
1. Error (에러)
java.security.InvalidKeyException: Illegal key size or default parameters
또는
Unsupported keysize or algorithm parameters.
2. Problem (문제)
자바는 기본적으로 암호화키를 128비트(16바이트)까지 사용할 수 있도록 제한되어있다.
그 이유는 미국 수출 통상법에 의해 제한이 걸린 것이라고 한다.
하지만, 제한을 풀 수 있다.
3. Solved (해결)
1. 사용하는 JDK의 버전에 맞춰서, 사이트에 들어가서 Accept License Agreement
를 체크하고 다운받자.
JDK1.6: http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
JDK1.7: http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
JDK1.8: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
IBM 이라면 이곳을 참조: https://www.ibm.com/support/knowledgecenter/ko/SSYMRC6.0.0/com.ibm.jazz.install.doc/topics/ckerSsosvraes256encr_java.html
2. 다운받은 파일의 압축을 해제후, 아래 경로에 덮어씌운다.
(다시 제한을 걸고 싶을 때를 대비하여 해당 폴더를 백업해도 좋다.)
{JAVA_HOME}/jre/lib/security
4. reference (참조)
- Java JCE(Java Cryptography Extension): http://kwonnam.pe.kr/wiki/java/jce