2012-06-04 34 views
11

Tôi đang cố ký một tệp .wgt (tiện ích con là tệp jar) bằng cách sử dụng jarsigner của Java 6. Nhưng khi tôi cố gắng ký, nó mang lại cho tôi lỗi sau, sau khi yêu cầu nhập cụm mật khẩu cho kho khóa.lỗi jarsigner: java.lang.RuntimeException: tải kho khóa: Keystore bị giả mạo hoặc mật khẩu không chính xác

jarsigner error: java.lang.RuntimeException: keystore load: Keystore was tampered with, or password was incorrect 

Tôi thậm chí đã thử với một cửa hàng khóa mới được tạo, Vì vậy, tôi chắc chắn rằng tôi đang nhập mật khẩu chính xác. Có điều gì khác mà có thể đã đi sai? Cảm ơn bạn trước!

Trả lời

-1

Thông báo lỗi bạn đang nhận được mô tả sự cố. Hoặc bạn đã nhập sai mật khẩu hoặc kho khóa đã bị hỏng.

Câu trả lời có khả năng nhất là bạn đã nhầm lẫn mật khẩu kho khóa với mật khẩu cho bí danh/keypass.

+2

Tôi nghĩ bạn chưa hết tất cả các nguyên nhân có thể xảy ra. Tôi nhận được như vậy, và tôi đã doublechecked tất cả mọi thứ. – rwst

+2

Tôi có cùng một vấn đề. Tôi có thể tạo ra một kho khóa mới với một mật khẩu đơn giản, có tất cả chấp nhận tốt, sau đó * vẫn * nhận được lỗi này. –

2

Kiểm tra tên bí danh của kho khóa của bạn một lần. Một số lần tên bí danh của keystore khác với tên bí danh của keytool thì nó cho cùng một lỗi ... Vì vậy, hãy kiểm tra tên bí danh một lần

3

Nếu bạn đang trích dẫn mật khẩu, hãy thử xóa dấu ngoặc kép. Tôi đã gặp phải lỗi này khi sử dụng jarsigner trong 1.7.0_25-b17 JDK trên Windows 7. Tôi thường sử dụng các phiên bản trước đó của jarsigner trên Solaris và Linux và luôn trích dẫn mật khẩu bằng cách sử dụng dấu nháy đơn vì nó thường chứa các ký tự được diễn giải bởi trình bao.

Tôi chưa xác minh, nhưng tôi đoán rằng trình thông dịch shell trên dấu * trix báo giá trước khi chuyển các tham số tới jarsigner, nhưng dấu nhắc lệnh của Windows thì không.

Ví dụ, thay vì

jarsigner -keystore /my/cert/file -storepass 'password' /my/jar/file my_alias

thử

jarsigner -keystore /my/cert/file -storepass password /my/jar/file my_alias

1

tôi đã có vấn đề ngược lại để @ Peter Tôi có ký tự đặc biệt trong mật khẩu của tôi và kịch bản ký của tôi giữ cho lỗi này cho đến khi tôi bao bọc mật khẩu trong dấu ngoặc kép "

Tôi nghĩ rằng điều này là do tôi đang chạy một tập tin thực thi để ký ứng dụng của tôi thay vì gõ trực tiếp vào dòng lệnh và cửa sổ bị nhầm lẫn về các ký tự đặc biệt trong mật khẩu.

0

Vấn đề của tôi là tôi đã đặt mật khẩu trong lệnh bằng các công tắc -storepass-keypass (dù sao cũng là một ý tưởng tồi) và trên hệ thống của tôi, Jarsigner không có gì trong đó. Một khi tôi kéo những người ra và cho phép Jarsigner nhắc tôi cho các mật khẩu nó làm việc như mong đợi.

Các vấn đề liên quan