JDK 1.7.0_80のThawteルート証明書が取り消されたようです。 https://www.thawte.com/roots/retired.htmlJDK 1.7 jarsigner with https tsaが動作しなくなった
7u80 jarsignerを使用しても機能しなくなり、ちょうど数日前に正常に機能しました。
/usr/java/jdk1.7.0_80/jre/../bin/jarsigner -keystore /home/build/keystore.p12 -storepass storepass -storetype pkcs12 -tsa https://timestamp.geotrust.com/tsa /home/build/jenkins/workspace/my-gui/target/my-gui-3.0.29-SNAPSHOT.jar comp
jarsigner: unable to sign jar: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
古いものを削除した後で、Thawtes Timestamping CA証明書をcacertsにインポートしようとしました。 JDK 8u60からjarsignerのを使用して
wget https://www.thawte.com/roots/Thawte_Timestamping_CA.pem
/usr/java/jdk1.7.0_80/bin/keytool -import -trustcacerts -alias verisigntsaca -file Thawte_Timestamping_CA.pem -keystore jre/lib/security/cacerts
Enter keystore password:
Trust this certificate? [no]: yes
Certificate was added to keystore
は動作しますので、私はJDK7にそのcacerts鍵をコピーしようとしたが、それはどちらか動作しませんでした。
Javadocのエラーのため、Java 8でまだコンパイルできません。私が見る唯一の解決策は、JDK7からJDK8 jarsignerへのシンボリックリンクを作成することです。
/usr/java/jdk1.8.0_60/jre/../bin/jarsigner -keystore /home/build/keystore.p12 -storepass storepass -storetype pkcs12 -tsa https://timestamp.geotrust.com/tsa /home/build/jenkins/workspace/my-gui/target/my-gui-3.0.29-SNAPSHOT.jar comp
jar signed.
私はdigicertするジオトラストからTSAを切り替えると、彼らは、HTTPSを使用していないので、それは、JDK 7で正常に動作します。 http://timestamp.digicert.com/
セットアップをパッケージ化するときにADTで同じ問題が発生しました。デフォルトでは、同じtsa URLを使用します。私はJava 1.6.0_31を使用していますが、6時間前には大丈夫でした。あなたは、Java 7または8が使用されている場合、それは正常に動作すると言っていますか? – Nemi
"tsaをgeotrustからdigicertに切り替えると、httpsを使用しないため、JDK 7でうまく動作します。http://timestamp.digicert.com/" FWIW、私はあなたが "http "、すなわち' http:// timestamp.geotrust.com'である。 – JonBrave