Rumah > Java > javaTutorial > Mengapa Kod Java Saya Membuang `InvalidKeyException: Saiz Kunci Haram` pada Pelayan TeamCity Saya tetapi Bukan MacBook Pro Saya?

Mengapa Kod Java Saya Membuang `InvalidKeyException: Saiz Kunci Haram` pada Pelayan TeamCity Saya tetapi Bukan MacBook Pro Saya?

Susan Sarandon
Lepaskan: 2024-12-03 02:52:09
asal
555 orang telah melayarinya

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

InvalidKeyException: Saiz Kunci Haram

Soalan:

Semasa menjalankan ujian secara berterusan penyepaduan pelayan TeamCity, ralat berlaku: "java.security.InvalidKeyException: Saiz kunci yang tidak sah." Ralat ini tidak berlaku semasa menjalankan ujian pada MacBook Pro. Kedua-dua persekitaran menggunakan Java 1.6 dan perpustakaan BouncyCastle.

Jawapan:

Ralat disebabkan oleh sekatan pada saiz kunci kriptografi yang dikenakan oleh dasar mesin maya Java, yang mematuhi dengan eksport AS undang-undang.

Penyelesaian:

Java 9 dan Lebih Tinggi:

  • Fail Dasar Bidang Kuasa Kekuatan Tanpa Had disertakan dengan Java 9 dan lebih tinggi secara lalai.
  • Jika ralat berterusan, semak fail java.security dan pastikan "crypto.policy=unlimited" tidak dikomen atau disertakan.

Kemas Kini Java 8 161 dan Lebih Tinggi:

  • Dasar Bidang Kuasa Kekuatan Tanpa Had didayakan secara lalai.
  • Jika ralat berlaku, semak fail java.security untuk sebarang perubahan pada konfigurasi dasar.

Kemas Kini Java 8 151 dan Lebih Tinggi:

  • Dasar Bidang Kuasa Kekuatan Tanpa Had disertakan tetapi tidak digunakan secara lalai.
  • Untuk mendayakannya, nyahkomen "crypto.policy=unlimited" dalam fail java.security.
  • Mulakan semula JVM untuk perubahan berkuat kuasa.

Kemas Kini Java 8 144 dan Terdahulu:

  • Pasang Java Cryptography Extension (JCE) Unlimited Fail Dasar Bidang Kuasa Kekuatan daripada Oracle.
  • Nyahmampatkan fail yang dimuat turun dan salin fail "local_policy.jar" dan "US_export_policy.jar" ke direktori keselamatan yang sesuai (cth., /lib/security ).
  • Mulakan semula JVM untuk menggunakan yang baharu dasar.

Penyelesaian BouncyCastle:

  • Beralih kepada menggunakan kelas BouncyCastle secara langsung, bukannya penyedia BC. Kaedah ini memintas had saiz utama.

Atas ialah kandungan terperinci Mengapa Kod Java Saya Membuang `InvalidKeyException: Saiz Kunci Haram` pada Pelayan TeamCity Saya tetapi Bukan MacBook Pro Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan