ホームページ > Java > &#&チュートリアル > JAR ファイルの「java.lang.SecurityException: 無効な署名ファイル ダイジェスト」エラーを修正する方法

JAR ファイルの「java.lang.SecurityException: 無効な署名ファイル ダイジェスト」エラーを修正する方法

Patricia Arquette
リリース: 2024-12-24 14:31:21
オリジナル
518 人が閲覧しました

How to Fix

Jar 実行時の無効な署名ファイル エラーの解決

.jar としてパッケージ化された Java プログラムを実行しようとすると、エラーが発生する場合があります「java.lang.SecurityException: マニフェストの主要属性の署名ファイル ダイジェストが無効です。」このエラーは通常、.jar が bouncy Castle などの外部ライブラリを使用している場合に発生します。

このエラーの根本原因は、Java 仮想マシン (JVM) の署名検証プロセスにあります。 JVM は、.jar に含まれるマニフェスト ファイルの署名をチェックして、その信頼性と整合性を確認します。ただし、使用されているライブラリに独自の署名が含まれている場合、JVM の検証プロセスと競合する可能性があります。

この問題に対する潜在的な解決策の 1 つは、特に maven-shade-plugin を使用して uber-jar を作成する場合に関連します。シェーディング プロセスから署名ファイルを除外します。次の行をプラグイン設定に追加すると、署名ファイルが除外され、エラーが解決されます:

<filters>
    <filter>
        <artifact>*:*</artifact>
        <excludes>
            <exclude>META-INF/*.SF</exclude>
            <exclude>META-INF/*.DSA</exclude>
            <exclude>META-INF/*.RSA</exclude>
        </excludes>
    </filter>
</filters>
ログイン後にコピー

uber-jar から署名ファイルを除外することで、JVM の検証プロセスとの競合が回避されます。プログラムは「無効な署名ファイル」エラーなしで実行されます。

以上がJAR ファイルの「java.lang.SecurityException: 無効な署名ファイル ダイジェスト」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート