如果我在计算机上提前设置时钟,已签名的 java 小程序将不再在任何浏览器中运行
Signed java applet no longer works in any browser if I set the clock ahead on my computer
我有一个 Java Applet(用于浏览器)使用 GoDaddy 的有效代码签名证书签名并加盖时间戳。代码签名证书本身将在几周后到期。我读过的所有内容都说小程序在代码签名证书过期后仍然有效:
来自here:
If a timestamp is discovered, then the code signature is valid until the end of time, as long as the code remains unchanged
我想验证一下这是真的。如果我将计算机的时钟设置更改为较晚的日期,超过证书过期时间,我会在 IE、Firefox 和 Chrome 中收到以下 Java 异常:
java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Response is unreliable: its validity interval is out-of-date
这是否意味着小程序实际上会在代码签名证书过期的几周内失败,或者这个更改我的计算机时钟的测试只是无效?有任何参考资料吗?
代码签名证书几个月前就已经过期了,我可以确认一切正常。出现的 Java 弹出窗口(第一次访问该站点)显示:"The web site's certificate has been verified."
毕竟更改本地时间戳并不是对此的有效测试。
正如@Gabriel 在对原始问题的评论中指出的,您遇到的问题是由于吊销检查造成的。
我在使用 safari 进行测试时遇到了这个问题,并通过配置 java 来解决这个问题,即使无法验证吊销状态也允许信任证书,并且不检查证书吊销。
从 java 控制台查看以下屏幕截图。
尝试在您的设备上设置一个正确的日期
它应该有效
我有一个 Java Applet(用于浏览器)使用 GoDaddy 的有效代码签名证书签名并加盖时间戳。代码签名证书本身将在几周后到期。我读过的所有内容都说小程序在代码签名证书过期后仍然有效:
来自here:
If a timestamp is discovered, then the code signature is valid until the end of time, as long as the code remains unchanged
我想验证一下这是真的。如果我将计算机的时钟设置更改为较晚的日期,超过证书过期时间,我会在 IE、Firefox 和 Chrome 中收到以下 Java 异常:
java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Response is unreliable: its validity interval is out-of-date
这是否意味着小程序实际上会在代码签名证书过期的几周内失败,或者这个更改我的计算机时钟的测试只是无效?有任何参考资料吗?
代码签名证书几个月前就已经过期了,我可以确认一切正常。出现的 Java 弹出窗口(第一次访问该站点)显示:"The web site's certificate has been verified."
毕竟更改本地时间戳并不是对此的有效测试。
正如@Gabriel 在对原始问题的评论中指出的,您遇到的问题是由于吊销检查造成的。
我在使用 safari 进行测试时遇到了这个问题,并通过配置 java 来解决这个问题,即使无法验证吊销状态也允许信任证书,并且不检查证书吊销。
从 java 控制台查看以下屏幕截图。
尝试在您的设备上设置一个正确的日期 它应该有效