Tôi đã đập đầu của tôi chống lại điều này trong một vài ngày và hoàn toàn stumped. Dưới đây là tóm tắt:jarsigner -verify hoạt động trong Java 6 nhưng không phải Java 7
- Tôi đã có một dự án Eclipse plugin sử dụng Tycho để xây dựng qua Maven 3
- Trong Maven tôi đã có maven-jarsigner-plugin thiết lập để ký lọ sử dụng keystore của tôi (xem dưới đây để biết chi tiết keystore)
- tôi đã có một mã ký cert đó được ký bởi Thawte trong keystore của tôi
tôi có thể lấy bất kỳ file jar ký từ mục tiêu/* và chạy 'jarsigner -verify' vào nó . Đây là những gì sẽ xảy ra:
#java 6 on a VM
[email protected]:/vagrant/com.example.plugins.eclipse/target$ jarsigner -verify com.example.eclipse-0.1.3-SNAPSHOT.jar
jar verified.
Tiếp theo:
#java 7 on a completely different vm
[email protected]:/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.
Tôi đã chăm sóc không sử dụng một máy tính với cả hai Java6 và Java7 cài đặt, vì vậy nó không this issue
Tôi cũng don' Tôi tin rằng đó là thuật toán dựa trên, như được mô tả trong this issue, vì tôi có thể ký dự án bằng cách sử dụng Java 6 hoặc Java 7 và nó luôn luôn xác minh trong Java6 và không bao giờ xác minh trong Java7, bất kể môi trường nào tôi đã ký các lọ bằng.
Dưới đây là đầu ra của keytool -list
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,
tôi phải tin rằng đây là một vấn đề chuỗi chứng chỉ bởi vì tôi có thể xác minh jar bằng cách sử dụng lệnh sau trên Java 7:
jarsigner -verify -keystore keystore com.example.eclipse-0.1.3-SNAPSHOT.jar
Rõ ràng là tôi không thể có mọi người dùng plugin của mình bằng cách sử dụng tệp kho khóa của tôi, vì vậy đó không phải là giải pháp. Nó tuy nhiên, củng cố rằng tôi có một vấn đề chuỗi cert trong Java 7. Suy nghĩ?
Bạn có thể chạy lại bằng các tùy chọn -truy cập và tùy chọn và đăng đầu ra không? – sErVerdevIL