【发布时间】:2016-07-08 13:38:41
【问题描述】:
我有一个旧的 java web 应用程序。客户端机器正在使用 JRE 6 访问此应用程序,但我需要将它们迁移到 JRE 8。
在客户端(Windows)上安装 JRE 8 后,当我第一次运行该应用程序时,我收到与名为 jacob.jar 的文件相关的安全警告消息:发布者名称未经验证,因此列为 UNKNOWN...
我可以勾选复选框并单击运行,然后警告不会出现在该浏览器会话中,但如何完全摆脱警告消息,使其不会甚至在会话中首次启动时出现?
我尝试过的事情
将Permissions、Codebase 和Application-Name 属性添加到MANIFEST.MF 并制作了我自己的证书:
keytool -genkey -alias webutil2 -keystore example.keystore
<Entering data is omitted>
keytool -export -keystore example.keystore -alias webutil2 -file cert3.csr
使用我的自制证书手动签名jacob.jar:
> sign_webutil.bat jacob.jar
Signature verified OK jarsigner -verify jacob.jar jar verified.
Warning: This jar contains entries whose certificate chain is not validated. This jar contains signatures that does not include a timestamp. Without a timestamp, users may not be able to validate this jar after the signer certificate's expiration date (2017-05-14) or after any future revocation date.
Re-run with the -verbose and -certs options for more details.
我还将我的证书添加到Signer CA 列表并确认是通过Control Panel > Java > Security > Manage Certificates > System 添加的:
C:\Program Files\Java\jre1.8.0_66\lib\security> keytool -import -trustcacerts -alias root -file cert3.csr -keystore cacerts
- 在Java 控制面板中添加了例外列表的 URL
- 在兼容性视图设置和弹出窗口拦截设置中添加了 URL(+ IE 重启)
但在我从 Java 控制面板重置警告提示后,警告仍然出现。
【问题讨论】:
标签: java certificate