您的安全设置已阻止使用已过期或尚未生效的证书签名的应用程序运行

时间:2014-11-18 10:20:41

标签: java security applet

Application blocked by security settings error on client' Windows8 OS

我检查了上面的问题,但它没有帮助我,所以寻找其他解决方案。

几天前,我们的applet代码签名证书已过期。我们更新了它,然后我再次创建了新的jar,并用更新的证书签署了这个applet,现在我得到了例外。

com.sun.deploy.security.BlockedException: Your security settings have blocked an application signed with an expired or not-yet-valid certificate from running
    at com.sun.deploy.security.SandboxSecurity.showBlockedDialog(Unknown Source)
    at com.sun.deploy.security.TrustDecider.askUser(Unknown Source)
    at com.sun.deploy.security.TrustDecider.validateChain(Unknown Source)
    at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.isTrustedByTrustDecider(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.getTrustedCodeSources(Unknown Source)
    at com.sun.deploy.security.CPCallbackHandler$ParentCallback.strategy(Unknown Source)
    at com.sun.deploy.security.CPCallbackHandler$ParentCallback.openClassPathElement(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader.access$1000(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath$JarLoader.<init>(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
    at com.sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

我从Java控制面板中删除了所有现有证书,然后打开我们的网站,我在applet中获取了新的证书详细信息。最新的到期日,但是当我点击Run时会抛出异常。

enter image description here

我再次检查了Java控制面板,然后显示旧证书,为什么Java没有使用新证书?

enter image description here

3 个答案:

答案 0 :(得分:5)

基本上,您必须使用新的可信证书在已部署的ear / war中重新签署JAR。在那之前有一些解决方法,你可以在这里做两件事:

  1. 转到控制面板 - &gt; Java - &gt;安全 - &gt;编辑站点列表
  2. 添加应用程序网址,接受通配符。请注意,您可能必须关闭浏览器并重新开始,才能阅读新配置。

    1. 在java控制面板安全性选项卡中,将安全级别降低到中,应用,确定并重新启动浏览器。它应该工作。
    2. enter image description here

答案 1 :(得分:2)

在用户的主目录中创建文件:

/usr/home/username/.java/deployment/security/security/exception.sites

添加应该获得例外的网站。

https://192.168.70.10

但如果您更喜欢GUI应用程序,请运行JControl并创建例外站点列表。

答案 2 :(得分:1)

您只需将网站添加到JAVA的“受信任的站点”中

控制面板-JAVA-安全选项卡,或者在主屏幕上,您会看到添加网站的选项。

添加网站后,您将获得安全弹出窗口,只需选择“允许”或“是”,您的错误就会得到解决。