2016-11-06 1 views
0

나는 256 비트 AES 암호화를 사용하기 위해 노력하고있어,하지만 다음과 같은 예외가 점점 오전 : 나는 128을 사용하는 경우 java.security.InvalidKeyException: Illegal key size자바 "잘못된 키 크기"JCE 무제한 강도 관할 정책 파일

을 비트 키, 그럼 모든게 잘 작동합니다.

.jar 파일을 대체하여 JCE 무제한 강도 관할 정책 파일을 설치했습니다. $JAVA_HOME$\jre\lib\security. 나는이 파일의 다른 버전을 시도했다. 새로운 버전의 Java 8을 다시 설치하고 PATH 환경 변수를 업데이트했습니다. 아무것도 작동하지 않습니다. 나는 여전히 오류가 발생하고 Cipher.getMaxAllowedKeyLength("AES/CBC/NoPadding")은 여전히 ​​128을 반환합니다.

+0

문제가 해결되었습니다. 나는 2 일 안에 나의 대답을 받아 들일 수있다. – SpiritFryer

답변

2

저는 Windows 8에 있습니다. 원래 Java 1.8.0_25가 설치되어 있고 인 하나의 폴더가 jdk1.8.0_25이었습니다. jar 파일을 C:\Program Files\Java\jdk1.8.0_25\jre\lib\security으로 대체했습니다. 그것은 작동하지 않았다.

최신 jdk 폴더 jdk1.8.0_111을 제외하고 최신 버전 (1.8.0_111)을 설치하면 jre1.8.0_111이라는 새 폴더가 나타납니다.

두 개의 jar 파일을 C:\Program Files\Java\jre1.8.0_111\lib\security으로 바꾸면 문제가 해결됩니다. 나는 또한 C:\Program Files\Java\jdk1.8.0_111\jre\lib\security 아래에있는 것들을 바꿨다. 나는 그것이 필요한 것인지 아닌지는 확실하지 않지만 작동한다.

관련 문제