jarsigner -verify работает в Java 6, но не в Java 7
Я несколько дней бился об это, и я в полном недоумении. Вот'S краткое изложение: я
у нас есть проект плагина Eclipse, использующий Tycho для сборки через Maven 3В Maven I 'у меня настроен плагин maven-jarsigner-для подписи jars с использованием моего хранилища ключей (подробности о хранилище ключей см. ниже) I 'у нас есть сертификат для подписи кодаподписано Thawte в моем хранилище ключейЯ могу взять любой подписанный JAR-файл из target / * и запустить 'jarsigner -verify ' в теме. Вот что происходит:
#java 6 on a VM
vagrant@test2:/vagrant/com.example.plugins.eclipse/target$ jarsigner -verify com.example.eclipse-0.1.3-SNAPSHOT.jar
jar verified.
Далее: я
#java 7 on a completely different vm
vagrant@test1:/vagrant$ jarsigner -verify com.example.eclipse-0.1.3-SNAPSHOT.jar
jar verified.
Warning:
This jar contains entries whose certificate chain is not validated.
Re-run with the -verbose and -certs options for more details.
мы стараемся не использовать машину с установленными Java6 и Java7, поэтомунеЭта проблема
Я тоже нене верю в этона основе алгоритма, как описано вЭта проблема, так как я могу подписать проект, используя либо Java 6 или Java 7, и этовсегда проверяет в Java6 иникогда проверяет в Java7, независимо от того, с какой средой я подписал фляги.
Вот'с выводомсписок ключей
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 3 entries
root, Aug 11, 2013, trustedCertEntry,
Certificate fingerprint (SHA1): 91:C6:D6:EE:3E:8A:C8:63:84:E5:48:C2:99:29:5C:75:6C:81:7B:81
intermediate, Aug 11, 2013, trustedCertEntry,
Я должен верить, что это проблема цепочки сертификатов, потому что я могу проверить jar, используя следующую команду на Java 7:
jarsigner -verify -keystore keystore com.example.eclipse-0.1.3-SNAPSHOT.jar
Очевидно, я могучтобы каждый пользователь моего плагина использовал мой файл хранилища ключей, так чтоЭто не решение. Это, однако, подтверждает, что у меня есть проблема цепочки сертификатов в Java 7. Мысли?