1

Is there some sort of limit to what privileged actions are permitted even for signed applets? Here is the stack trace:

Exception in thread "AWT-EventQueue-2" java.security.AccessControlException: access denied (java.lang.RuntimePermission loadLibrary.skype) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323) at java.security.AccessController.checkPermission(AccessController.java:546) at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) at java.lang.SecurityManager.checkLink(SecurityManager.java:818) at java.lang.Runtime.loadLibrary0(Runtime.java:817) at java.lang.System.loadLibrary(System.java:1045) at com.skype.connector.ConnectorUtils.loadLibrary(ConnectorUtils.java:321) at com.skype.connector.osx.SkypeFramework.init(SkypeFramework.java:44) at com.skype.connector.osx.OSXConnector.initializeImpl(OSXConnector.java:107) at com.skype.connector.Connector.initialize(Connector.java:485) at com.skype.connector.osx.OSXConnector.isRunning(OSXConnector.java:86) at com.skype.Skype.isRunning(Skype.java:172)

4

2 回答 2

1

发现了问题。特权操作在我的小程序中,并且我的小程序的 jar 已签名,但需要特权的代码在另一个未签名的 jar 中。签署另一个罐子解决了这个问题。另一件事是,即使我从特权操作包装器中取出调用,只要对罐子进行签名,它仍然可以工作。

于 2011-05-04T07:21:43.953 回答
-1

即使对于签名的小程序,允许哪些特权操作是否有某种限制?

我希望如此,因为受信任的小程序(不涉及任何 JS)无法调用某些方法(例如System.exit(int))。尽管受信任的 applet 或 JWS 应用程序具有更宽松的安全管理器,但它们仍然具有安全管理器。

System.setSecurityManager(null)您可以尝试在代码到达该点之前调用以测试该理论。如果它现在可以工作,请不要将其用作生产代码,而是安装一个SecurityManager允许当前权限以及特定兴趣权限的自定义。

于 2011-05-03T10:41:00.210 回答