InvalidKeyException: 不正なキー サイズ
質問:
継続的なテストの実行中TeamCity サーバーの統合で、エラーが発生しました:「java.security.InvalidKeyException:」キーのサイズが不正です。」このエラーは、MacBook Pro でテストを実行した場合には発生しませんでした。どちらの環境も Java 1.6 と BouncyCastle ライブラリを使用します。
回答:
このエラーは、Java 仮想マシンのポリシーによって課される暗号化キーのサイズの制限が原因であり、この制限は準拠しています。米国輸出の場合
解決策:
Java 9 以降:
- Unlimited Strength Jurisdiction Policy ファイルが含まれていますデフォルトでは Java 9 以降を使用します。
- エラーが解決しない場合は、確認してください。 java.security ファイルを開き、「crypto.policy=unlimited」がコメント解除されているか、または含まれていることを確認します。
Java 8 Update 161 以降:
- 無制限の強さの管轄ポリシーはデフォルトで有効になっています。
- エラーが発生した場合は、チェックしてください。ポリシー設定への変更については、java.security ファイルを参照してください。
Java 8 Update 151 以降:
- 無制限の強度管轄ポリシーは次のとおりです。含まれていますが、デフォルトでは使用されません。
- 有効にするには、コメントを解除してくださいjava.security ファイル内の「crypto.policy=unlimited」。
- 変更を有効にするために JVM を再起動します。
Java 8 Update 144 以前:
- Java 暗号化拡張機能 (JCE) をインストールするOracle からの無制限の強度の管轄ポリシー ファイル。
- ダウンロードしたファイルを解凍し、「local_policy.jar」ファイルと「US_export_policy.jar」ファイルを適切なセキュリティ ディレクトリ (例: /lib/) にコピーします。
- JVM を再起動して、新しいセキュリティを適用します。ポリシー.
BouncyCastle 解決策:
- BC プロバイダーの代わりに、BouncyCastle クラスを直接使用するように切り替えます。この方法により、キー サイズの制限が回避されます。
以上が私の Java コードが TeamCity サーバーでは「InvalidKeyException: 不正なキー サイズ」をスローするのに、MacBook Pro ではスローしないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。