使用 PolicyTool 实用程序来更新策略文件。
开始之前
Java™ 2 安全性使用若干策略文件,为每个 Java 程序确定授予的许可权。Java Development Kit 提供
PolicyTool 工具来编辑这些策略文件。建议使用此工具编辑任何策略文件来验证其内容的语法。当应用程序运行(包括服务器启动)时,策略文件中的语法错误会导致
AccessControlException。确定此异常的原因并不容易,因为用户可能不熟悉有访问违例的资源。当您编辑这些策略文件时要小心。
请参阅Java 2 安全策略文件,以获取可用策略文件的列表。
![[z/OS]](../images/ngzos.gif)
要将
PolicyTool 实用程序与 WebSphere® Application Server for z/OS® 配合使用,请选择以下两个选项中的一个:
- 将策略文件复制到另一个平台(例如 Microsoft Windows),然后修改这些文件。要使用此选项,必须发出 FTP 命令以将文件传输到其他平台,调用 PolicyTool,然后以二进制方式将更新的文件传输回 z/OS 系统。
- 调用 PolicyTool,它由安装在您的 z/OS 系统上的软件开发包 (SDK) 提供。
您必须在工作站上安装 WebSphere Application Server 的客户机或插件组件才能访问 PolicyTool。它当前不受 iSeries 服务器支持。
过程
调用 PolicyTool,它由安装在您的 z/OS 系统上的软件开发包 (SDK) 提供。 - 将显示导出到支持 Xwindows 的设备。 例如,在 Open MVS™ (OMVS) 中,输入 export DISPLAY=<IP_address_of_the_Xwindows_device>:0.0
- 启用 z/OS 系统以访问支持 Xwindows 的设备的显示。 例如,在 AIX® 上,输入 xhost + address_of_the_MVS_system。
- 将策略文件转换为扩展二进制编码的十进制交换码 (EBCDIC) 格式。
- 通过输入 $JAVA_HOME/policytool 在 OMVS 上调用 PolicyTool。 JAVA_HOME 变量表示安装 SDK 的目录。
将一个驱动器映射到操作系统以通过浏览目录树找到策略文件。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
启动 PolicyTool。 ![[Windows]](../images/windows.gif)
例如,可以在 Windows 命令提示符下输入以下命令:
%{was.install.root}/java/jre/bin/policytool
PolicyTool 窗口打开。该工具在您的主目录中查找 java.policy 文件。如果它不存在,那么显示错误消息。
单击确定。
- 单击文件 > 打开。
- 在打开窗口中浏览目录树,以选取需要更新的策略文件。 在选择策略文件后,单击打开。代码库条目在窗口中列出。
- 创建或修改代码库条目。
- 通过双击代码库,或者单击代码库并单击编辑策略条目,修改现有代码库条目。 “策略条目”窗口打开,带有为所选代码库定义的许可权列表。
- 通过单击添加策略条目创建新的代码库条目。
“策略条目”窗口打开。在代码库列上,以 URL 格式输入代码库信息。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
例如,可以输入:
app_server_root/InstalledApps/testcase.ear
其中
app_server_root 变量表示安装位置。
- 修改或添加许可权规范。
- 通过双击您要修改的条目,或者选择许可权并单击编辑许可权,修改许可权规范。 “许可权”窗口打开,并带有所选许可权信息。
- 单击添加许可权,添加新的许可权。 “许可权”窗口打开。在“许可权”窗口中有四行:“许可权”、“目标名称”、“操作”和“签署者”。
- 从“许可权”列表选择许可权。显示所选许可权。选择许可权后,“目标名称”、“操作”和“签署者”字段自动显示有效的选项,或者它们在文本输入区域中启用文本输入。
- 从列表选择目标名,或在文本输入区域中输入目标名。
- 从列表选择操作。
- 如果需要,输入签署者。
要点: 在以下策略文件中不支持 Signed By 关键字:app.policy、spi.policy、library.policy、was.policy 和 filter.policy 文件。但是,在以下策略文件中支持关键字“Signed By”:#java.policy、server.policy 和 client.policy 文件。以下文件中不支持 Java 认证和授权服务 (JAAS):app.policy、spi.policy、library.policy、was.policy 和 filter.policy 文件。但是,当 Java 虚拟机 (JVM) 系统属性 java.security.auth.policy 指定了 JAAS 主体关键字时,在 JAAS 策略文件中支持该关键字。
- 单击确定关闭“许可权”窗口。 显示所指定代码库的已修改许可权条目。
- 单击完成以关闭窗口。列出已修改代码库条目。重复上述步骤,直到您完成编辑。
- 在您完成编辑文件后,单击文件 > 保存。
将策略文件从 EBCDIC 格式转换回 ASCII 格式。
结果
策略文件已更新。如果任何策略文件需要编辑,请使用
PolicyTool 实用程序。不要手动编辑策略文件。策略文件中的语法错误可潜在地导致应用程序服务器或企业应用程序无法启动或不正确运行。要使已更新策略文件中的更改生效,重新启动 Java 进程。