InvalidKeyException: 잘못된 키 크기
질문:
연속 키 크기에서 테스트를 실행하는 동안 통합 TeamCity 서버에서 오류가 발생했습니다: "java.security.InvalidKeyException: 키 크기가 잘못되었습니다." MacBook Pro에서 테스트를 실행할 때는 이 오류가 발생하지 않았습니다. 두 환경 모두 Java 1.6 및 BouncyCastle 라이브러리를 사용합니다.
답변:
오류는 Java Virtual Machine 정책에 따라 부과된 암호화 키 크기 제한으로 인해 발생합니다. 미국 수출로 법률.
솔루션:
Java 9 이상:
- 무제한 권한 관할권 정책 파일이 포함되어 있습니다. 기본적으로 Java 9 이상을 사용합니다.
- 오류가 발생하는 경우 지속되면 java.security 파일을 확인하고 "crypto.policy=unlimited"가 주석 해제되었거나 포함되어 있는지 확인하십시오.
Java 8 업데이트 161 이상:
- 무한한 힘의 관할권 정책은 다음과 같이 활성화됩니다. 기본값.
- 오류가 발생하면 java.security 파일에서 정책 구성에 대한 변경 사항을 확인하세요.
Java 8 업데이트 151 이상:
- 무제한 강도 관할권 정책이 포함되어 있지만 사용되지는 않습니다. default.
- 이를 활성화하려면 java.security 파일에서 "crypto.policy=unlimited"의 주석 처리를 제거하세요.
- 변경 사항을 적용하려면 JVM을 다시 시작하세요.
Java 8 업데이트 144 및 이전:
- Oracle에서 JCE(Java Cryptography Extension) Unlimited Strength Jurisdiction Policy Files를 설치합니다.
- 다운로드한 파일의 압축을 풀고 "local_policy.jar" 및 " US_export_policy.jar" 파일을 적절한 보안 디렉터리(예: /lib/security).
- JVM을 다시 시작하여 새 정책을 적용합니다.
BouncyCastle 솔루션:
- BC 공급자 대신 BouncyCastle 클래스를 직접 사용하도록 전환하세요. 이 방법은 키 크기 제한을 우회합니다.
위 내용은 Java 코드가 TeamCity 서버에서는 'InvalidKeyException: Illegal Key Size'를 발생시키지만 MacBook Pro에서는 발생하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!