I have been trying to verify the Jar signing:
jarsigner -verify -verbose -certs example.jar
I got the following problem:
Here is the solution:
jarsigner -keystore mykeystore -digestalg SHA1 jarfile alias
To verify:
jarsigner -verify -verbose -certs jarfile
This error can also happen when the jar is signed twice.
The solution was to 'unsign' the jar by deleting *.SF, *.DSA, *.RSA files from the jar's META-INF and then signing the jar again.
This worked for me. I had to change my ANT to version 1.8.3 and add DIGESTALG attribute:
<!-- 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>