我想编码一个小程序需要一个特殊的安全权限,即:网络访问做一个http获取到一个网站。
我亲自签署了applet,并用这个结果做了一个简单的测试:
java.security.AccessControlException:拒绝访问("java.net.SocketPermission“"www.google.com:80”“连接,解决”)
我还尝试在清单文件中添加安全策略,但没有成功。
我真的不明白什么是正确的生产,
谢谢
发布于 2014-01-28 20:47:09
这种行为取决于java版本。从java 7u51开始,jws和applet都需要使用有效的证书(而不是自签名)进行签名。http://www.oracle.com/technetwork/java/javase/7u51-relnotes-2085002.html#newft只有两个安全级别沙箱和所有权限。属性权限必须在清单和jnlp文件中指定。要执行http请求,沙箱就足够了。阅读本文http://docs.oracle.com/javase/tutorial/deployment/applet/security.html
发布于 2014-09-17 17:11:58
我在这里回答类似的问题:Warning on Permissions attribute when running an applet with JRE 7u45
您需要创建一个正确的清单文件。或者使用命令行
jar ufm jarfile.jar confmanifest.txt
或者使用maven。(Simpliest way to add an attribute to a jar Manifest in Maven)
在清单中,您将编辑它所需的权限(套接字、文件等)及其codBase。(跨源和安全目的)
如果要在本地运行而没有真正的CA签名证书,则需要使用java.policy编辑jvm policytool文件
JNLP用于签名的jars/applet。但是你可以使用它,它只是一个小程序描述符,你可以从任何地方导出它,就像你的桌面。
对于HTML5,您应该使用<object>标记。我更喜欢通过javascript部署applet,并使用javascript方法调用applet方法。
请参阅http://docs.oracle.com/javase/tutorial/deployment/applet/invokingAppletMethodsFromJavaScript.html
cy@.
https://stackoverflow.com/questions/21415861
复制相似问题