InvalidKeyException: 잘못된 키 크기
문제:
지속적인 통합 테스트를 실행할 때 TeamCity 서버, "java.security.InvalidKeyException: 잘못된 키 크기" 오류 발생합니다. 코드는 AES 암호화를 위해 BouncyCastle을 사용하며 Java 1.6이 설치된 개발용 MacBook Pro에서 올바르게 작동합니다.
원인:
Java Virtual Machine은 미국 수출로 인해 키 크기를 제한합니다. 법.
해결책:
Java 9 이상
- 무제한 권한 관할권 정책 파일은 다음에 포함됩니다. 기본값이고 활성화되어 있습니다. 오류가 지속되면 더 제한적인 정책 구성을 의미합니다.
Java 8 이하
Java 8 업데이트 161 이상
- Java 8의 기본값은 무제한 강도입니다. 관할권 정책. 오류가 발생하면 제한적으로 변경되었을 수 있으므로 구성을 확인하세요.
Java 8 Update 151 이상
- Java 편집 .security 파일의 주석 처리를 제거하거나 "crypto.policy=unlimited" 행을 추가하여 무제한 강도 관할권을 활성화합니다. 정책.
- 변경 후 JVM을 다시 시작합니다.
Java 8 업데이트 151 이전
- Java 암호화 확장( JCE) 무제한 권한 관할권 정책 파일 제공: Oracle.
- 원래의 "강력한" 정책 파일을 무제한 강도 버전으로 교체합니다.
- 설치 후 JVM을 다시 시작합니다.
추가 고려 사항:
- BouncyCastle을 사용하면 이러한 제한을 피할 수 있지만, BC 공급자를 통하지 않고 맞춤형 BC 클래스를 직접 사용하는 경우에만 가능합니다.
- 무제한 강도 관할권 정책을 사용하면 미국 수출법을 위반할 수 있습니다. 도움이 필요하면 현지 법률 고문이나 오라클에 문의해 보세요.
위 내용은 Java에서 'java.security.InvalidKeyException: 잘못된 키 크기' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!