私は瓶の署名を確認しようとしています:
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
の使用についていくつかの提案を受けましたが、このステートメントをどこに置くべきかわかりません!
私が問題を解決するのを手伝ってくれるといいのですが。
これが解決策です:
jarsigner -keystore mykeystore -digestalg SHA1 jarfile alias
検証します:
jarsigner -verify -verbose -certs jarfile
このエラーは、jarが2回署名されたときにも発生する可能性があります。
解決策は、* .[〜#〜] sf [〜#〜]を削除してjarを「署名解除」することでした。* .[〜#〜] dsa [〜#〜]、* .[〜#〜] rsa [〜#〜] jarのファイルMETA-INFからファイルを作成し、jarに再度署名します。
これでうまくいきました。 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>