2013-12-11 13 views
6

Tôi có một hộp linux không được kết nối với Internet. Tôi đã cài đặt trên nó Firefox 24.0jre1.7.0_40 (và cũng 1.7.0_17) Khi tôi bắt đầu FF với một ứng dụng web được cài đặt cục bộ trên hộp tôi nhận được một popup cảnh báo rằngCách kiểm tra Java đã lỗi thời

Java Update cần thiết; Phiên bản YourJava của bạn đã lỗi thời

Tôi không hiểu cách Java biết 'đã cũ' ??? Điều gì so sánh với cái gì? Tôi sẽ giả định rằng kiểm tra các phiên bản có sẵn tại oracle.com và nếu phiên bản hiện tại được cài đặt trên hệ thống quá cũ thì hãy giảm cảnh báo này.

Hoặc bản thân ứng dụng được bắt đầu mang một số thông tin về phiên bản Java có sẵn hoặc những gì đã được sử dụng tại thời gian biên dịch của nó?

+1

tôi tin rằng nó sẽ kiểm tra phiên bản Java và KHÁCH HÀNG so sánh với phiên bản ĐƯỢC ĐỀ XUẤT cho ứng dụng của bạn. – iWumbo

+0

Trong trường hợp này, chúng ta không thể nói về kiến ​​trúc client-server, ý tôi là client chính là host. – wildfrontier

+0

bản thân ứng dụng không được phát triển bởi tôi và Firefox cùng với jre và ứng dụng này cũng được cung cấp bởi một công ty bên thứ 3 – wildfrontier

Trả lời

4

Có giải thích trong số 1.7.0u10 release notes.

Các JRE dựa vào kiểm tra định kỳ với một máy chủ Oracle để xác định nếu nó (JRE) vẫn được coi là up-to-date với tất cả các sẵn sửa lỗi bảo mật (trên đường ranh giới an ninh). Trong quá khứ, nếu JRE không thể liên lạc với Oracle Server, nó vẫn tiếp tục hoạt động như mặc dù nó vẫn là phiên bản mới nhất liên quan đến an ninh, trong một khoảng thời gian không xác định.

Để tránh sự cố này, cơ chế phụ, không phụ thuộc vào thông tin liên lạc bên ngoài , đã được thêm vào JDK 7u10. Từ bản phát hành trở đi này, tất cả các JRE sẽ chứa ngày hết hạn được mã hóa cứng. Ngày hết hạn được tính để kết thúc sau khi bản phát hành được lên lịch của Bản cập nhật vá quan trọng tiếp theo.

Séc trực tuyến nhận dữ liệu từ https://javadl-esd-secure.oracle.com/update/baseline.version, tôi tin tưởng.

Ngày hết hạn và các phiên bản hardcoded trong JRE được lưu trữ trong các BuiltInProperties.class nằm ở deploy.jar

Đối 1.7.0u45, chúng tôi có

public static final boolean JRE_BASELINE_CHECKS_ENABLED = true; 
public static final String JRE_EXPIRATION_DATE = "02/14/2014"; 
public static final String BASELINE_VERSION_131 = "1.3.1_21"; 
public static final String BASELINE_VERSION_142 = "1.4.2_43"; 
public static final String BASELINE_VERSION_150 = "1.5.0_55"; 
public static final String BASELINE_VERSION_160 = "1.6.0_65"; 
public static final String BASELINE_VERSION_170 = "1.7.0_45"; 
public static final String BASELINE_VERSION_180 = "1.8.0"; 
public static final String CURRENT_VERSION = "1.7.0_45"; 
public static final String CURRENT_NODOT_VERSION = "170"; 
public static final String DEPLOY_VERSION = "10.45.2.18"; 
public static final String DEPLOY_NOBUILD_VERSION = "10.45.2"; 
public static final String DEPLOY_NODOT_VERSION = "10452"; 
public static final String JAVAWS_NAME = "javaws-10.45.2.18"; 
public static final String JAVAWS_VERSION = "10.45.2.18"; 
+0

Cảm ơn bạn! Tôi đã có thể chứng minh điều này cho bản thân mình: xem trong BuiltInProperties.class và thấy: 12/10/2013. Nếu tôi đặt ngày tháng 12 năm 2013 và bắt đầu trình duyệt bằng ứng dụng web đó, cảnh báo bảo mật sẽ không xuất hiện nữa. Nhưng khi tôi đặt lại ngày thành hiện tại (hôm nay), tôi sẽ cảnh báo rằng cảnh báo bảo mật sẽ bị xóa một lần nữa, nhưng không phải – wildfrontier

+0

Câu hỏi của tôi: 1. Tại sao tôi không thể sao chép lại theo thứ tự ngược lại? Thiết lập trước ngày ghi đè ngày được mã hóa cứng trong lớp BuiltInProperties.class. Tôi cũng cố gắng xóa cahe của trình duyệt nhưng không nhận được cảnh báo bảo mật 2.Có cách nào để tránh poping up cảnh báo bảo mật whithout hack này để thiết lập ngày hệ thống trở lại? Tôi có nghĩa là ở đây để thiết lập một số tập tin cấu hình bằng tay mà tôi có thể làm với một kịch bản ví dụ? – wildfrontier

+0

Có một tệp được gọi là deployment.properties (ít nhất là trên Windows). Tệp này chứa các thuộc tính (deployment.expiration.decision. *) Liên quan đến việc kiểm tra hết hạn. Có thể xóa tệp này giữa thử nghiệm của bạn có thể hữu ích. – RealHowTo

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