【问题标题】:java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.security.pkcs11)java.security.AccessControlException:访问被拒绝(java.lang.RuntimePermission accessClassInPackage.sun.security.pkcs11)
【发布时间】:2017-06-25 11:20:43
【问题描述】:

我正在尝试在服务器网页中启动我的 java 小程序(版本 java 6),但是当我运行它时出现下一个错误:

    java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.security.pkcs11)
    at java.security.AccessControlContext.checkPermission(Unknown Source)
    at java.security.AccessController.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkPackageAccess(Unknown Source)
    at sun.plugin2.applet.Applet2SecurityManager.checkPackageAccess(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(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 es.inteco.applet.AppletFirmaDNIe.init(AppletFirmaDNIe.java:168)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Excepción: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.security.pkcs11)
Ignored exception: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.security.pkcs11)

使用 Eclipse,这个 Applet 可以正常工作,但是当我在服务器中尝试时,它不起作用。 我正在使用未签名的小程序 (.jar)。会不会是这个,问题??

在我的 java .policy 文件中,我添加了这些行,但仍然无法正常工作

grant {
permission java.security.AllPermission;
permission java.security.AccessControlException;
permission java.lang.RuntimePermission;
permission java.lang.RuntimePermission "accessClassInPackage.sun.security.pkcs11";
};

与这些原始 .policy 文件相同的错误:

grant {
permission java.security.AllPermission;
};

有人知道问题和解决方案吗??

提前致谢

【问题讨论】:

    标签: java eclipse applet runtime-error


    【解决方案1】:

    您需要对您的小程序进行签名,最新的 java 安全基线将阻止任何使用不受信任的证书颁发机构签名的小程序。

    如果您选择自签名小程序,您可能需要降低 Java 安全设置才能执行小程序。

    【讨论】:

      【解决方案2】:

      Oracle 最近的 Java 发行版(大约从去年夏天开始)禁止访问任何以“sun.”开头的包中的任何内容。

      这可以通过使用 policytool 添加来克服:

      权限 java.lang.RuntimePermission accessClassInPackage.sun.

      到您的本地 java.policy 文件。

      【讨论】:

        【解决方案3】:

        将此添加到您的java.policy 文件或使用policytool

        grant {
          permission java.lang.RuntimePermission accessClassInPackage.sun "com.acme.yourpackagename";
        };
        

        【讨论】:

          猜你喜欢
          • 2011-09-04
          • 2013-04-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-04-04
          • 2016-04-06
          • 2014-10-24
          相关资源
          最近更新 更多