【问题标题】:Your security settings have blocked an application signed with an expired or not-yet-valid certificate from running您的安全设置已阻止使用过期或尚未生效的证书签名的应用程序运行
【发布时间】:2014-11-18 10:20:40
【问题描述】:

Application blocked by security settings error on client' Windows8 OS

我检查了上述问题,但它并没有帮助我寻找其他解决方案。

几天前,我们的小程序代码签名证书已过期。我们更新了它,我再次创建了新的 jar 并用更新的证书签署了这个小程序,现在我遇到了一个异常。

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 控制面板中删除了所有现有的证书,并打开了我们的网站,我在小程序中获取了新的证书详细信息。最新到期日期,但是当我点击 Run 时,它会抛出异常。

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

【问题讨论】:

  • 从控制面板中删除旧的,然后添加新的..
  • 我从控制面板中删除并再次启动小程序但没有工作。在控制面板中显示旧证书。

标签: java security applet


【解决方案1】:

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

  1. 转到控制面板 -> Java -> 安全 -> 编辑站点列表

添加您的应用程序 url,接受通配符。请注意,您可能必须关闭浏览器并重新启动才能读取新配置。

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

【讨论】:

    【解决方案2】:

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

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

    添加应给予例外的网站。

    https://192.168.70.10
    

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

    【讨论】:

      【解决方案3】:

      您只需要在 JAVA 中的 Trusted sites 中添加网站

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

      添加网站后,您将看到安全弹出窗口,只需选择允许或是,您的错误将得到修复。

      【讨论】:

        猜你喜欢
        • 2023-03-08
        • 1970-01-01
        • 2014-11-13
        • 1970-01-01
        • 1970-01-01
        • 2013-04-18
        • 2018-06-03
        • 2016-05-19
        • 1970-01-01
        相关资源
        最近更新 更多