Sun Java System Application Server Enterprise Edition 8.2 管理指南

配置 JCE 提供者

J2SE 1.4.x 中包含的 Java 加密扩展 (JCE) 提供者不支持RSA 加密。由于由 WS-Security 所定义的 XML 加密通常是基于 RSA 加密,因此为了使用 WS-Security 来加密 SOAP 消息,您必须下载并安装支持 RSA 加密的 JCE 提供者。


注 –

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 环境的一部分,如下所示。

  1. 下载并安装 JCE 提供者 JAR(Java 归档)文件。

    通过以下 URL 可以获得支持 RSA 加密的 JCE 提供者的列表:http://java.sun.com/products/jce/jce14_providers.html

  2. 将 JCE 提供者 JAR 文件复制到 java-home/jre/lib/ext/ 中。

  3. 停止 Application Server。

    如果未停止 Application Server 而后来又在这一过程中重新启动了 Application Server,则 Application Server 将无法识别 JCE 提供者。

  4. 在任何一种文本编辑器中编辑 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
  5. 保存并关闭文件。

  6. 重新启动 Application Server。