java.security.AccessControlException:拒绝访问(java.lang.RuntimePermission accessClassInPackage.sun.security.pkcs11)
我正试图在服务器网页中启动java小程序(java 6版),但运行时出现下一个错误:java.security.AccessControlException:拒绝访问(java.lang.RuntimePermission accessClassInPackage.sun.security.pkcs11),java,eclipse,applet,runtime-error,Java,Eclipse,Applet,Runtime Error,我正试图在服务器网页中启动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.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中,这个小程序工作得很好,但是当我在服务器上尝试它时,它就不工作了。
我正在使用未签名的小程序(.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安全基线将阻止使用不受信任的证书颁发机构签名的任何小程序
如果您选择对小程序进行自签名,您可能需要降低java安全设置以使小程序能够执行。Oracle最近的java发行版(大约从去年夏天开始)已禁止访问任何以“sun”开头的包中的任何内容 这可以通过使用policytool添加以下内容来克服: 权限java.lang.RuntimePermission accessClassInPackage.sun
添加到本地java.policy文件。将其添加到
java.policy文件中,或使用:
grant {
permission java.lang.RuntimePermission accessClassInPackage.sun "com.acme.yourpackagename";
};