2009-01-12 30 views
5

Java 1.5 đã thêm enhancement để hỗ trợ dấu thời gian chữ ký. Ý tưởng, theo như tôi có thể nói, là các tệp jar đã ký sẽ không trở thành không hợp lệ chỉ vì chứng chỉ ký mã đã hết hạn, miễn là các tệp đã được ký trong khi chứng chỉ hợp lệ. Về lý thuyết, điều này có nghĩa là chúng tôi không phải ký lại và triển khai lại các ứng dụng của chúng tôi mỗi năm khi chứng chỉ hết hạn. Thật không may, có vẻ như có vấn đề trong việc thực hiện, dựa trên những chủ đề diễn đàn hai:Có ai đã sử dụng thành công dấu thời gian chữ ký trong một applet java không?

http://forums.sun.com/thread.jspa?threadID=744677
http://forums.sun.com/thread.jspa?threadID=5309004

tôi sắp bắt đầu thử nghiệm này, nhưng tôi đã tự hỏi nếu có ai đã thực hiện thành công này, mà không cần phải nhập chứng chỉ timestamping trên máy khách (sẽ đánh bại toàn bộ mục đích)?

Trả lời

4

Chứng chỉ gốc Thawte TSA đã được thêm vào tệp bản ghi JRE của Sun trong 6u10 và 5.0u18.

4

Thật không may, tính năng này có vẻ hoàn toàn vô giá trị tại thời điểm này. Nó rất dễ dàng để thêm một dấu thời gian khi ký kết một file jar, chỉ cần thêm tham số này để lệnh jarsigner:

-tsa https://timestamp.geotrust.com/tsa 

Đây là địa chỉ đến máy chủ timestamping Thawte. Thật không may, chứng chỉ CA timestamping Thawte không được bao gồm trong danh sách các chứng chỉ CA đáng tin cậy của Java runtime, vì vậy nó có hiệu quả vô nghĩa. Tức là, nếu bạn tải applet sau khi chứng chỉ ký mã đã hết hạn, bạn sẽ nhận được hộp thoại cảnh báo "không đáng tin cậy" thay vì hộp thoại "đáng tin cậy".

Có một "cách giải quyết", được phân loại, được đăng here, nhưng nó hoạt động bằng cách nhúng chứng chỉ CA timingamping Thawte vào chính applet và chạy keytool trên máy khách để nhập chứng chỉ. Tôi không thể thấy cách này sẽ làm việc mặc dù, kể từ khi người dùng sẽ đã thấy hộp thoại mã đã ký trước khi mã này có thể chạy.

Tôi sẽ tiếp tục tìm giải pháp, nhưng tôi không hy vọng. Tôi không thể tưởng tượng tại sao một chứng chỉ CA thời gian có thể sử dụng được không được bao gồm trong thời gian chạy Java sau tất cả thời gian này.

+0

Jason, Bạn nên nộp RFE trong BugParade, tương tự như http://bugs.sun.com/view_bug.do?bug_id=4212494 Sun sẽ không sửa lỗi này, trừ khi bạn làm điều này. – Gili

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