问题标签 [policyfiles]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - 无法让 .NET Policy DLL 将应用程序重定向到较新的程序集
我在技术支持方面的背景可能导致我在这篇文章中提供了太多信息,导致没有人有兴趣阅读它,但恕我直言,更多信息总比更少信息好。
我缺少关于程序集绑定和重定向的一些非常基本和基本的东西。我正在尝试创建一个策略 DLL,以将针对我的程序集的旧版本编译的应用程序重定向到最新版本。我所做的一切似乎都不起作用。我在下面概述了我采取的步骤。我没有使用 Visual Studio,而只是使用了 .NET Framework 和 Windows SDK 中包含的命令行工具。谁能告诉我为什么在第十一步中,当我运行针对我的程序集的 v1.0.0 版本编译的应用程序时,该应用程序没有重定向到在 GAC 中注册的 v2.0.0 程序集?
当您按照我的操作进行操作时,您经常需要注意我在其中执行命令的目录。
如果您愿意指出我应该阅读的 TFM,我会对 RTFM 的答案感到非常满意。
提前致谢, 注册
第一步:创建一个密钥对来强命名我的程序集。
第二步:创建一个版本为 v1.0.0 的程序集
第三步:为 v1.0.0 程序集创建策略 DLL
第四步:将这两个程序集注册到 GAC
第五步:创建一个使用新的 v1.0.0 程序集的应用程序
第六步:创建 v2.0.0 stack.exchange.rdomarat.dll 程序集
第七步:为 v2.0.0 程序集创建策略 DLL
第八步:将两个 v2.0.0 程序集注册到 GAC
第九步:创建一个使用新的 v2.0.0 程序集的应用程序
第 10 步:从 GAC 注销所有内容,并确认这两个应用程序都无法正常工作
第十一步:重新注册 v2.0.0 程序集,这两个应用程序现在应该可以工作了
java - Websphere 7 中 Axis2 1.4 的 Java 2 安全性
我有一个非常复杂的应用程序(比方说企业应用程序)部署在包含多个依赖项的 Websphere 7(具有父类最后一个类加载器策略)中。我正在部署的 .ear 内部包含 4 个 .war 文件。其中之一是axis2.war。
在我打开管理安全性和 Java 2 安全性之前,一切正常。调试完所有 AccessControlExceptions 并将必要的权限添加到..\profiles\was70profile1\config\cells\AMSCNT0009Node01Cell\applications\app.ear\deployments\app\META-INF\was.policy和..\profiles\was70profile1\ installedApps\AMSCNT0009Node01Cell\app.ear\META-INF\was.policy我最终得到一个似乎不会以任何方式消失的 AccessControlException (java.io.FilePermission C:\Program Files\IBM\SDP\runtimes\base_v7 \profiles\was70profile1\installedApps\AMSCNT0009Node01Cell\app.ear\appAxis2-3.5.2.war\WEB-INF\scriptServices 读取)。
我的 was.policy 文件:
痕迹:
我已经尝试过更改axis2 1.4源代码,将axis2-kernel.jar和axis2-scripting-1.4.mar替换为自定义的,修复如下:
https://issues.apache.org/jira/browse/AXIS2-3816
我还尝试通过选择与 WEB-INF\scriptServices 不同的文件夹来更改 axis2 源代码,但 AccessControlException 仍然存在,现在位于新文件夹中。
如果有人对如何解决此问题有任何提示,将不胜感激。提前致谢!
java - 策略文件转换
如何将策略配置文本文件转换为 Policy 对象,以便在方法调用Policy.setPolicy() ( API ) 中使用?
java - 在不使用策略文件的情况下以编程方式授予权限
如何在不使用策略文件的情况下以编程方式授予 RMI 应用AllPermissions
程序?
更新:
经过一番研究,我编写了这个自定义策略类并通过Policy.setPolicy(new MyPolicy())
.
现在我收到以下错误:
无效权限:(java.io.FilePermission \C:\eclipse\plugins\org.eclipse.osgi_3.7.0.v20110613.jar 读取
flash - AS3 套接字 - 策略文件
我有一个小型服务器在端口 843 上侦听,<policy-file-request/>
然后发送以下内容:
在我的闪存方面,连接代码看起来像
我有一个单独的服务器在端口 4600 上侦听,它希望从客户端获取 char 255,但它永远不会发送。已建立端口 4600 上的连接,但从未发送数据。
端口 843 上的迷你服务器成功地从客户端获取连接并发送策略文件。
所以要么政策文件提交有问题(我不确定如何在 AS3 中检查)。或者选项 2 是由于某种原因,数据在初始连接过程中丢失。
PS 如果我不在端口 843 上运行迷你服务器,端口 4600 上的服务器将收到策略文件请求(根据 AS3 协议)。
我将不胜感激有关此处检查内容的任何提示。我不确定出了什么问题。我一直在通过闪存调试器做所有事情,直到现在才需要策略文件请求的东西。
java - AccessControlException 与同一代码库中的小程序类
我有三个类,一个叫做 Capture、AppletLogging 和 AbstractJLabel。我在 %USERPROFILE%/.java.policy 文件中设置了以下权限:
所有类都在上述授权的代码库中。当 Capture 在 AppletLogging 中调用静态方法时,一切正常。当 AbstractJLabel 在 AppletLogging 中调用相同的静态方法时,我得到
这在 Sun java plugin version 6 update 35 中运行。有人解释一下吗?即使我对授权 codeBase 块执行以下所有操作,我也会收到相同的错误:
请注意,Capture 和 AbstractJLabel 从静态块调用静态方法。
java - Applet 在 Eclipse 中运行但不在浏览器中运行 - java 安全性
下面是小程序代码,它使用 jna.jar ( https://github.com/twall/jna ) 来访问 system32 中的 DLL 文件。
我的 HTML 代码
当我尝试单击打印时,我可以看到加载的小程序和浏览器中的所有摆动元素,它不会做任何事情。在eclipse运行它工作正常。
我知道这是安全问题,所以我还添加了策略(C:\Program Files\Java\jre7\lib\security\java.policy 文件)
堆栈跟踪
但即使这样也无济于事。请指导我哪里出错了。
解决方案
坦率地说,我没有得到解决方案,而是这不是一个安全问题,所以用实际错误创建新问题
因此,要获得我启用了 java 控制台的确切错误(由 andrew 建议),您可以转到此处了解如何操作。
更新
几天后我让它工作了,问题是 jna.jar 和 platform.jar 已经签名所以每当我使用 jarsigner 签名它们时它从来没有工作过,我从来没有遇到任何错误(所以我从来没有看过它们),当我验证时它使用 jarsigner 我想通了。然后我取消签名并使用与我的 jar 相同的密钥对其进行签名(希望它会帮助其他人)
encryption - 在 openjre 中使用需要 Java 策略文件的加密
如果我想使用 java 和密钥长度超过 128 位的加密,我必须使用 Java 策略文件。如何使用 openjre 启动和运行这些应用程序?我得到与使用没有策略文件的 oracle jre 相同的错误,但我不能简单地使用 Oracle 策略文件?或者我可以吗?
或者会用 openjdk 帮助构建项目吗?
谢谢你
java - 如何在不修改 java.policy 文件的情况下授予我的小程序打印权限
嗨,我想授予
对我的 java 小程序的权限,该小程序在 java 中以编程方式在客户端计算机上运行。因为我无法更改客户端的 java.policy 类。
我的小程序就像
java - 从 java 代码设置 SecurityManager 权限
我正在运行一个执行 Socket 连接的 Applet 我得到了异常 java.security.AccessControlException: access denied (java.net.SocketPermission xxx.xxx.xxx.xxx:80 connect,resolve)
我用谷歌搜索发现这是因为 Java 的安全管理器所以我添加了
在 C:\Program Files\Java\jre6\lib\security 的 java.policy 中使用 policytool.exe 成功工作
但我希望以编程方式完成,所以我做了以下
在这里我告诉securityManager不要触摸运行中的代码这也成功但是现在我想知道是否有任何其他方法可以专门添加SocketPermission进行连接,使用Policy.setpolicy或类似setpermission或修改高于自身。提前致谢