消息安全性使服务器可以在消息层执行 Web 服务调用和响应的端对端验证。Application Server 使用 SOAP 层上的消息安全性提供者来实现消息安全性。消息安全性提供者提供了请求和响应消息所需的验证类型等信息。支持的验证类型包括:
该版本附带了两个消息安全性提供者。可以为 SOAP 层的验证配置消息安全性提供者。可以配置的提供者包括 ClientProvider
和 ServerProvider
。
以(可插入)验证模块的形式将消息层安全性支持集成到 Application Server 及其客户机容器中。默认情况下,将禁用 Application Server 中的消息层安全性。
要启用和配置消息层安全性,请执行以下步骤:
配置 JCE 提供者中说明了如何配置 JCE 提供者。
编辑区域中说明了如何配置用户数据库。
关于证书文件中说明了如何管理密钥库和信任存储文件。
启用消息安全性提供者中说明了如何指定消息安全性配置。
配置消息安全性提供者中说明了如何配置消息安全性提供者。
启用客户机应用程序的消息安全性中说明了如何配置应用程序客户机容器的消息安全性。
另请参见:
当 Application Server 提供者配置不能满足您的安全性需求并且您需要覆盖默认保护时,可以在 Web 服务中应用特定于应用程序的消息安全性。
通过将消息安全性绑定添加到 Web 服务端点(不管该端点是 EJB 还是 Servlet Web 服务端点)来实现特定于应用程序的安全性。修改 Sun 特定的部署描述符文件以添加消息绑定信息。
有关详细信息,请参阅 Developer's Guide 的“Securing Applications”一章。详细信息中有指向该章的链接。
Developer's Guide 的“Securing Applications” 一章说明了如何启用特定方法的消息安全性。详细信息中有指向该章的链接。
J2SE 1.4.x 中包括的 Java 加密扩展 (JCE) 提供者不支持 RSA 加密。由于许多 WSS 应用程序都使用 RSA 加密,因此您必须下载并安装支持 RSA 加密的 JCE 提供者,以便运行使用了 RSA 加密的 WSS 应用程序。
注:RSA 是 RSA Data Security, Inc. 开发的公共密钥加密技术。RSA 缩略词分别代表该技术的三位发明者:Rivest、Shamir 和 Adelman。
如果是在 1.5 版的 Java SDK 中运行 Application Server,则已正确配置了 JCE 提供者。如果是在 1.4.x 版的 Java SDK 中运行 Application Server,请执行以下步骤以静态方式将 JCE 提供者添加为 JDK 环境的一部分。
<
JAVA_HOME>/jre/lib/ext/
中。<
JAVA_HOME>/jre/lib/security/java.security
属性文件。将刚才下载的 JCE 提供者添加到此文件。java.security
文件包含添加该提供者的详细说明。通常,您需要在具有类似属性的某个位置处添加一行,其格式如下:
security.provider.<n>=<provider class name>
在本示例中,<n> 是 Application Server 评估安全性提供者时使用的优先级顺序。将刚才添加的 JCE 提供者的 <n> 值设置为 2
。
例如,如果下载的是 Legion of the Bouncy Castle JCE 提供者,则应添加以下行。
security.provider.2=org.bouncycastle.jce.provider.
BouncyCastleProvider
确保将 Sun 安全性提供者保持在最高优先级,值为 1。
security.provider.1=sun.security.provider.Sun
将其他安全性提供者的优先级调低,从而使每个优先级上只有一个安全性提供者。
以下是提供所需 JCE 提供者并将现有提供者保持在正确位置的 java.security
文件的示例。
security.provider.1=sun.security.provider.Sun
security.provider.2=org.bouncycastle.jce.provider.
BouncyCastleProvider
security.provider.3=com.sun.net.ssl.internal.ssl.Provider
security.provider.4=com.sun.rsajca.Provider
security.provider.5=com.sun.crypto.provider.SunJCE
security.provider.6=sun.security.jgss.SunProvider