即使对于签名的小程序,允许的特权操作是否存在某种限制?这是堆栈跟踪:
线程“AWT-EventQueue-2”中出现异常 java.security.AccessControlException:访问被拒绝 (java.lang.RuntimePermission loadLibrary.skype)
在 java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
在 java.security.AccessController.checkPermission(AccessController.java:546)
在 java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
在 java.lang.SecurityManager.checkLink(SecurityManager.java:818)
在 java.lang.Runtime.loadLibrary0(Runtime.java:817)
在 java.lang.System.loadLibrary(System.java:1045)
在 com.skype.connector.ConnectorUtils.loadLibrary(ConnectorUtils.java:321)
在 com.skype.connector.osx.SkypeFramework.init(SkypeFramework.java:44)
在 com.skype.connector.osx.OSXConnector.initializeImpl(OSXConnector.java:107)
在 com.skype.connector.Connector.initialize(Connector.java:485)
在 com.skype.connector.osx.OSXConnector.isRunning(OSXConnector.java:86)
在 com.skype.Skype.isRunning(Skype.java:172)
最佳答案
发现问题了。特权操作位于我的小程序中,并且我的小程序的 jar 已签名,但需要特权的代码位于另一个未签名的 jar 中。签署其他 jar 解决了问题。另一件事是,即使我从特权操作包装器中取出调用,只要 jar 已签名,它仍然可以工作。
关于java - 运行 PrivilegedAction 的签名小程序仍然失败并出现 AccessControlException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5868100/