Rumah >Java >javaTutorial >Bagaimana untuk Membetulkan Ralat 'java.lang.SecurityException: Digest fail tandatangan tidak sah' dalam Fail JAR Saya?

Bagaimana untuk Membetulkan Ralat 'java.lang.SecurityException: Digest fail tandatangan tidak sah' dalam Fail JAR Saya?

Patricia Arquette
Patricia Arquetteasal
2024-12-24 14:31:21525semak imbas

How to Fix

Menyelesaikan Ralat Fail Tandatangan Tidak Sah dalam Pelaksanaan Jar

Setelah mencuba untuk melaksanakan program Java yang dibungkus sebagai .jar, pengguna mungkin menghadapi ralat "java.lang.SecurityException: Ringkasan fail tandatangan tidak sah untuk atribut utama Manifes." Ralat ini biasanya berlaku apabila .jar menggunakan pustaka luaran seperti bouncy castle.

Punca ralat ini terletak pada proses pengesahan tandatangan Mesin Maya Java (JVM). JVM menyemak tandatangan fail Manifes yang disertakan dalam .jar untuk memastikan ketulenan dan integritinya. Walau bagaimanapun, jika pustaka yang digunakan termasuk tandatangannya sendiri, ia boleh bercanggah dengan proses pengesahan JVM.

Satu penyelesaian yang berpotensi untuk isu ini sangat relevan kepada mereka yang menggunakan maven-shade-plugin untuk mencipta uber-jars ialah dengan kecualikan fail tandatangan daripada proses teduhan. Dengan menambahkan baris berikut pada konfigurasi pemalam, fail tandatangan akan dikecualikan, menyelesaikan ralat:

<filters>
    <filter>
        <artifact>*:*</artifact>
        <excludes>
            <exclude>META-INF/*.SF</exclude>
            <exclude>META-INF/*.DSA</exclude>
            <exclude>META-INF/*.RSA</exclude>
        </excludes>
    </filter>
</filters>

Dengan mengecualikan fail tandatangan daripada uber-jar, konflik dengan proses pengesahan JVM dielakkan, dan atur cara akan dilaksanakan tanpa ralat "Fail tandatangan tidak sah".

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'java.lang.SecurityException: Digest fail tandatangan tidak sah' dalam Fail JAR Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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