如何为所有人禁用Java便携式安全警告?

时间:2017-02-02 09:38:35

标签: java security configuration

我的W7机器上有jdk1.8.0_111可移植。

每次当我启动Java客户端并尝试连接到另一台机器上的JBoss时,Java安全警告如下所示,包含JBoss位置:

Java安全警告

enter image description here

问题:如何一劳永逸地禁用它?

文件“\ AppData \ LocalLow \ Sun \ Java \ Deployment \ security \ exception.sites”已包含警告屏幕上提到的位置,但显然不起作用。

1 个答案:

答案 0 :(得分:0)

就我而言,安全警告来自https://fqdn/somejar.jar文件。被访问的网站具有有效证书 - 但是jar应用程序文件具有代码签名证书。

这太烦人了,我花了一段时间才最终解决了这个问题。

警告: GPO更新解决方案会影响多个系统。请小心,避免恢复更新事件。

Details on Java Security Wardning (More Information Link)

以下帮助我解决了这个问题: 在Windows端,在Java和Stackoverflow站点上搜索后,我发现有两个目录:

特定于用户: C:\ users \%username%\ AppData \ LocalLow \ Sun \ Java \ Deployment \ security \

系统共享:C:\ Program Files(x86)\ Java \ jrex.x.x_xxx \ lib \ security

在用户特定目录上,我更新了trusted.cacerts,trusted.jssecacerts和trusted.certs,以获取JAR文件使用的证书。

要查找有关代码证书的详细信息,我们可以从命令行使用javasigner.exe。例如,在我的情况下,我下载* .jar文件并运行以下命令:

Command line jarsigner.exe

一旦发现有关代码签名证书的详细信息,下一步就是验证证书是否有效/未撤销,并将其添加到Java控制面板(JCP)下的受信任证书。 Add CodeSigning Certificate under JCP - Signer CA

在Active Directory组策略维护环境中,无需手动触摸每台PC即可应用此功能(假设您100%未撤销证书或未过期)。当然,当通过GPO执行此操作时,需要对其进行测试以确保每个用户维护的证书存储是相同的,并且所有用户都具有相同的JRE版本。应用于用户配置>偏好> Windows设置>文件 - 位置。

GPO Updated cert stores - Per Logged in user basis

也可以通过GPO维护更新共享系统证书存储。我能够使用Keytool.exe通过命令行添加代码签名证书。如您所见,导入选项在JCP的系统选项卡上显示为灰色。我可能会这么做,但是我无法通过JCP窗口进行系统端更新证书存储。

命令行: C:> keytool -keystore cacerts -importcert -alias yourcertcaname -file downloadedcert.cer

如果一切顺利,您应该在JCP的系统选项卡下看到证书。 Importing cert to the cacert file via keytool command

就像用户特定的证书存储一样,可以通过GPO维护cacert文件。同样,这假设您可以很好地处理环境中的JRE安装,并且网络上的PC没有不同的证书存储设置。测试,测试测试和完成测试,再次测试。应用于计算机配置>偏好> Windows设置>文件位置。

希望这可以帮助有人试图取消Java安全警告窗口。

干杯。