1

署名されたアプレットに対しても許可される特権アクションに何らかの制限はありますか?スタックトレースは次のとおりです。

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内にあります。他のjarファイルに署名すると、問題が修正されました。もう1つは、特権アクションラッパーから呼び出しを取得した場合でも、jarが署名されている限り機能することです。

于 2011-05-04T07:21:43.953 に答える
-1

署名されたアプレットに対しても許可される特権アクションに何らかの制限はありますか?

信頼できるアプレット(JSが関与していない)が一部のメソッド(例)を呼び出すことができないことを考えると、そうなると思いますSystem.exit(int)。信頼できるアプレットまたはJWSアプリケーションには、はるかに寛容なセキュリティマネージャーがあります、それでもセキュリティマネージャーがあります。

System.setSecurityManager(null)コードがそのポイントに到達する前に呼び出して、その理論をテストしてみてください。これで機能することが判明した場合は、それを本番コードとして使用せず、代わりにSecurityManager、現在のアクセス許可と特定のアクセス許可を許可するカスタムをインストールしてください。

于 2011-05-03T10:41:00.210 に答える