wil*_*ier 6 java security plugins
我有一个没有连接到Internet的Linux盒子.我已经安装上它Firefox 24.0和jre1.7.0_40(还有1.7.0_17),当我开始FF与一个Web应用程序安装在本地的盒子,我得到一个警告弹出窗口,
需要Java更新; YourJava版本已过期
我不会不喜欢Java如何知道'过时'??? 什么比较什么?我会假设检查oracle.com上的可用版本,如果系统上安装的当前版本太旧,则会丢弃此警告.
或者启动的应用程序本身带有一些关于Java版本的可用信息或编译时使用的信息?
1.7.0u10 发行说明中有解释。
JRE 依赖于对 Oracle 服务器的定期检查,以确定它 (JRE) 是否仍然被认为是最新的所有可用安全修复程序(高于安全基线)。过去,如果 JRE 无法联系 Oracle 服务器,它会在无限期的时间内继续表现得好像它仍然是安全方面的最新版本。
为了避免这个问题,JDK 7u10 中添加了不依赖外部通信的辅助机制。从此版本开始,所有 JRE 将包含硬编码的到期日期。到期日期计算为在下一个重要补丁更新的计划发布之后结束。
我相信,在线检查从https://javadl-esd-secure.oracle.com/update/baseline.version获取数据。
JRE 中硬编码的到期日期和版本存储在BuiltInProperties.class位于 deploy.jar 中
对于 1.7.0u45,我们有
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";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1319 次 |
| 最近记录: |