관리 메뉴

평범한개발자노트

AES256 암호화시 java.security.InvalidKeyException: Illegal key size 해결방안 본문

그 외 ... (정리해야함)/오류사전

AES256 암호화시 java.security.InvalidKeyException: Illegal key size 해결방안

초보개발자 깡냉스 2019. 3. 6. 13:06

AES256 암호화시, Exception이 발생

암호화 확장 정책과 관련된 exception으로 아래 같은 이슈가 존재한다.

[자바 암호화 확장 정책 설정 이유]

Java의 기본 정책으로 JCE가 128비트만 지원하여 16바이트(128bit)키가 넘어갈 시 오류가 발생 

(미 통상법에 의해 자국내에서만 AES256 방식 허용)

오류내용

Unsupported keysize or algorithm parameters.
또는,
Illegal key size or default parameters.

AES256를 사용하기 위해선 무제한 강도 정책(Unlimited Strength Jurisdiction Policy)을 설정해줘야함

[자바 암호화 확장 정책 설정 방법]

jdk 1.6

첨부된 jce_policy-6.zip 파일 다운로드 후 ${JAVA_HOME}/jre/lib/security 폴더에 아래 2개 파일 추가(기존 파일 백업)

US_export_policy.jar

local_policy.jar

jdk 1.7

첨부된 UnlimitedJCEPolicyJDK7.zip 파일 다운로드 후 ${JAVA_HOME}/jre/lib/security 폴더에 아래 2개 파일 추가(기존 파일 백업) US_export_policy.jar local_policy.jar

jdk 1.8

첨부된 jce_policy-8.zip 파일 다운로드 후 ${JAVA_HOME}/jre/lib/security 폴더에 아래 2개 파일 추가(기존 파일 백업) US_export_policy.jar local_policy.jar

jdk 1.8u151 이상 버전
1.8u151 이상 버전부터는 cryypto.policy 프로퍼티를 이용하여 crypto 정책이 수정가능하게 됨
${JAVA_HOME}/jre/lib/security 폴더 아래 java.security 파일 오픈 후, crypto.policy=unlimited 로 수정(주석이 되어있다면 주석을 품)


1 Comments
댓글쓰기 폼