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
452 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!

sumber:php.cn
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