缺省情况下,Java 应用程序不会针对 Java API 请求的活动设置安全限制。
要使用 Java 安全性防止 Java 应用程序执行潜在的不安全操作,您可以针对运行应用程序的 JVM 启用安全管理器。
关于此任务
安全管理器会强制执行一种安全策略,该策略是一组分配给代码源的许可权(系统访问特权)。Java 平台随附一个缺省的策略文件。
但是,要使 Java 应用程序能够在激活 Java 安全性的情况下在 CICS 中成功运行,您必须指定一个额外的策略文件,为 CICS 提供运行该应用程序所需的许可权。
您必须为已启用安全管理器的每种 JVM 指定此额外的策略文件。
CICS 提供了一些示例,供您创建自己的策略。
注: - OSGi 安全代理程序示例会在您包含安全概要文件的项目中创建一个名为 com.ibm.cics.server.examples.security 的 OSGi 中间件束。
本概要文件适用于安装该概要文件的框架中的所有 OSGi 束。
- example.permissions 文件包含特定于在 JVM 服务器中运行应用程序的许可权,包括一项检查,用于确保应用程序未使用 System.exit() 方法。
- CICS 必须对您部署 OSGi 束的 zFS 中的目录具有读取和执行访问权。
对于在 JVM 服务器的 OSGi 框架中运行的应用程序:
过程
- 在 CICS Explorer® SDK 中创建一个插件项目,并选择提供的 OSGi 安全代理程序示例。
- 在该项目中,选择 example.permissions 文件以编辑针对您安全策略的许可权。
- 将 OSGi 束部署到 zFS 中的适合目录内。
- 编辑 JVM 服务器的 JVM 概要文件,以将 OSGi 束添加到 OSGI_BUNDLES 选项中的任何其他束之前:
- OSGI_BUNDLES=/u/bundles/com.ibm.cics.server.examples.security_1.0.0.jar,/usr/lpp/cicsts42/lib/com.ibm.cics.db2.jcc.jar
- 将以下 Java 环境变量添加到 JVM 概要文件,以在 OSGi 框架中启用安全性:
- org.osgi.framework.security=osgi
- 保存您的更改,并启用 JVMSERVER 资源,以在 JVM 服务器中安装中间件束。
结果
当调用 Java 应用程序时,JVM 会确定该类的代码源,并在向该类授予适当的许可权之前参考安全策略。