web-dev-qa-db-ja.com

無効なSHA1署名ファイルダイジェスト

私は瓶の署名を確認しようとしています:

    jarsigner -verify -verbose -certs example.jar

次の問題が発生しました:

jarsigner: Java.lang.SecurityException: invalid SHA1 signature file digest for o
rg/Apache/log4j/net/DefaultEvaluator.class

-digestalg SHA-1の使用についていくつかの提案を受けましたが、このステートメントをどこに置くべきかわかりません!

私が問題を解決するのを手伝ってくれるといいのですが。

18
Nasser

これが解決策です:

jarsigner -keystore mykeystore -digestalg SHA1 jarfile alias

検証します:

jarsigner -verify -verbose -certs jarfile
16
Nasser

このエラーは、jarが2回署名されたときにも発生する可能性があります。

解決策は、* .[〜#〜] sf [〜#〜]を削除してjarを「署名解除」することでした。* .[〜#〜] dsa [〜#〜]、* .[〜#〜] rsa [〜#〜] jarのファイルMETA-INFからファイルを作成し、jarに再度署名します。

30
rzymek

これでうまくいきました。 ANTをバージョン1.8.3に変更し、DIGESTALG属性を追加する必要がありました。

<!-- VLS2014 ADDED digestalg="SHA1" -->
<signjar keystore="${security.keystore}"
         storepass="${security.storepass}"
         keypass="${security.keypass}"
         alias="${security.alias}"
         jar="${basedir}/temp/tj/${justfname}"
         signedjar="${real.signed.jar}"
     digestalg="SHA1"
        />

<delete file="${basedir}/temp/tj/${justfname}" />
</target>
2
user3389098