>Java >java지도 시간 >Java 코드가 TeamCity 서버에서는 'InvalidKeyException: Illegal Key Size'를 발생시키지만 MacBook Pro에서는 발생하지 않는 이유는 무엇입니까?

Java 코드가 TeamCity 서버에서는 'InvalidKeyException: Illegal Key Size'를 발생시키지만 MacBook Pro에서는 발생하지 않는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-03 02:52:09511검색

Why Does My Java Code Throw an `InvalidKeyException: Illegal Key Size` on My TeamCity Server but Not My MacBook Pro?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.