2012-05-01 31 views
5

Tôi đã đăng jar của tôi theo những cách khác nhau, nhưng tôi tiếp tục nhận được thông báo lỗi trên khi tôi sử dụng lệnh:jar này có chứa các mục mà người ký giấy chứng nhận sẽ hết hạn trong vòng sáu tháng

jarsigner -verify -verbose [my jar] 

Có cách nào để loại bỏ lỗi này? Mã của tôi có ngừng hoạt động sau sáu tháng không nếu nó không được chứng nhận lại?

Dưới đây là toàn bộ các lệnh được sử dụng để tạo ra các phím & ký Jar:

keytool -genkey -keystore [keystore] -alias [alias] -validity 2000 
keytool -selfcert -keystore [keystore] -alias [alias] -validity 2000 
jarsigner -keystore [keystore] [jar] [alias] 

Trả lời

12

Có cách nào để thoát khỏi lỗi này?

Nó không phải là lỗi mà là cảnh báo. Để làm thế nào để tránh nó, hãy chắc chắn rằng giấy chứng nhận có một ngày hiệu lực dài hơn 6 tháng. Đối với chứng chỉ tự ký, đó là vấn đề cung cấp các thông số chính xác khi tạo khóa. Đây là số keytool Example.

keytool -genkeypair -dname "cn=Mark Jones, ou=Java, o=Oracle, c=US" 
    -alias business -keypass <new password for private key> -keystore /working/mykeystore 
    -storepass <new password for keystore> -validity 180 

Phần quan trọng là -validity 180. 180 ngày, hoặc khoảng 6 tháng, cho ví dụ đó. Sử dụng 1800 trong khoảng 5 năm.

Mã của tôi sẽ ngừng hoạt động sau sáu tháng nếu mã không được chứng nhận lại?

Không chính xác.

  • Người dùng trên một số hệ thống sẽ được cảnh báo rằng chứng chỉ đã hết hạn và được cung cấp lựa chọn chấp nhận chứng chỉ. Nếu có, nó sẽ hoạt động như bình thường. ví dụ. của "chữ ký đã hết hạn":
  • Các hệ thống khác có thể được định cấu hình để tự động từ chối chứng nhận ngày. Trên những máy đó, mã sẽ hầu như không bao giờ bắt đầu, hoặc trong những trường hợp hiếm hoi, được nạp nhưng có một hộp cát được áp dụng.

tôi nghĩ rằng tôi đã biến tất cả java bộ nhớ đệm tắt mặc dù, vì nó là khó chịu khi cố gắng phát triển.

Lưu bộ nhớ cache trong quá trình thử nghiệm là một vấn đề lớn. Tôi cố gắng tránh thử nghiệm các applet trong trình duyệt cho đến khi cần thiết. Có 3 cách tôi biết để kiểm tra các applet sẽ không cache các classes.

  1. appletviewer
  2. Một Applet lai/ứng dụng
  3. Appleteer (tốt hơn một chút so với người xem applet trong một số khía cạnh, tôi đã phát triển nó một thời gian trước)
+0

Ok. Vâng, chúng tôi có toàn quyền kiểm soát các hệ thống mà phần mềm này sẽ được triển khai, vì vậy nó có thể sẽ không là một vấn đề. Tuy nhiên, tôi sẽ cảm thấy tốt hơn nếu tôi có thể loại bỏ cảnh báo ngay từ đầu. Tôi đã sử dụng lập luận hợp lệ, nhưng nó dường như không làm gì cả.Dưới đây là chính xác những gì tôi đã làm để ký vào các jar: http://pastie.org/3846104 – David

+0

Xin lỗi, tôi không thường xuyên đăng bài trên SO, và tôi đã không nhận ra nhập gửi một chỉnh sửa/bình luận. Tôi đã chỉnh sửa bài đăng của mình để sửa lỗi đó. – David

+1

Các mẹo khác 1) Các câu hỏi có thể được chỉnh sửa sau khi chúng được đăng. 2) Không đăng liên kết đến thông tin được chỉnh sửa tốt hơn vào câu hỏi. 3) Khi bạn thêm đầu vào/đầu ra, HTML/XML hoặc nguồn trong các câu hỏi, hãy sử dụng định dạng mã. 4) Bình luận có thể bị xóa. - 4) có liên quan vì tôi đã theo liên kết, sao chép văn bản và chỉnh sửa câu hỏi để thêm các lệnh nhập (sử dụng định dạng mã). –

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