配置联邦信息处理标准 Java 安全套接字扩展文件
使用本主题来配置联邦信息处理标准 Java™ 安全套接字扩展文件。
关于此任务
WebSphere Application
Server 提供了已通过 FIPS 核准并且可供 IBMJSSE2 使用的 IBMJCEFIPS 提供程序。WebSphere Application Server
V9.0 中提供的
IBMJCEFIPS 提供程序支持下列 SSL 密码:
- SSL_RSA_WITH_AES_128_CBC_SHA
- SSL_RSA_WITH_3DES_EDE_CBC_SHA
- SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA
- SSL_DHE_RSA_WITH_AES_128_CBC_SHA
- SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
- SSL_DHE_DSS_WITH_AES_128_CBC_SHA
- SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA
在服务器的“SSL 证书和密钥管理”面板上启用使用美国联邦信息处理标准 (FIPS) 算法选项后,运行时将总是使用 IBMJSSE2,而不考虑您对 SSL 指定的 contextProvider 值(IBMJSSE 或 IBMJSSE2S)。并且,由于 FIPS 要求 SSL 协议是 TLS,所以,启用 FIPS 后,运行时将总是使用 TLS,而不考虑 SSL 指令表中的 SSL 协议设置。在 V9.0 中,管理员只需要在服务器的“SSL 证书和密钥管理”面板中启用使用美国联邦信息处理标准 (FIPS) 算法选项就可以使所有传输都能够使用 SSL,这简化了 FIPS 配置。
过程
下一步做什么
- 缺省情况下,Microsoft Internet Explorer 可能未启用 TLS。要启用 TLS,请打开 Internet Explorer 浏览器并单击工具 > Internet 选项。在“高级”选项卡上,选择“使用 TLS 1.0”选项。
注: Netscape V4.7.x 和早期版本可能不支持 TLS。
- 在“SSL 证书和密钥管理”面板上选择使用联邦信息处理标准 (FIPS) 选项后,轻量级第三方认证 (LTPA) 令牌格式不向后兼容前发行版的 WebSphere Application Server。但是,可以从先前版本的应用程序服务器导入 LTPA 密钥。
- 注: 当前的 WebSphere 限制是,不会评估密钥中的密钥长度是否符合 FIPS sp800-131a。如果密钥在密钥库中,那么通过使用 {WebSphere_install_dir}\java\jre\bin 目录中的 iKeyman 或使用其他密钥库工具检查密钥长度。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
ADMU3007E: Exception com.ibm.websphere.management.exception.ConnectorException
如果 java.security 文件中的以下条目先前已移除或注释掉,请取消对该条目的注释,然后重新启动服务器:
security.provider.2=com.ibm.crypto.provider.IBMJCE
注: 启用 FIPS 后,不能在 SSL 指令表中配置密码令牌设备。在使用 FIPS 的密码服务时,IBMJSSE2 必须使用 IBMJCEFIPS。
FIPS 选项支持的设备仅包括 FIPS 140-2 核准的下列密码提供程序:
- IBMJCEFIPS(证书 376)
- IBM Cryptography for C (ICC)(证书 384)
要取消对 FIPS 提供程序的配置,请撤销您在先前步骤中所作的更改。撤销更改后,验证是否对
sas.client.props、soap.client.props 和 java.security 文件作了下列更改:
- 在 ssl.client.props 文件中,必须将 com.ibm.security.useFIPS 值更改为 false。
在 java.security 文件中,必须将 FIPS 提供程序更改为非 FIPS 提供程序。
如果正在使用 IBM SDK java.security 文件,那么必须将第一个提供程序更改为非 FIPS 提供程序,如以下示例所示:#security.provider.1=com.ibm.crypto.fips.provider.IBMJCEFIPS security.provider.1=com.ibm.crypto.provider.IBMJCE security.provider.2=com.ibm.jsse.IBMJSSEProvider security.provider.3=com.ibm.jsse2.IBMJSSEProvider2 security.provider.4=com.ibm.security.jgss.IBMJGSSProvider security.provider.5=com.ibm.security.cert.IBMCertPath #security.provider.6=com.ibm.crypto.pkcs11.provider.IBMPKCS11
如果正在使用 Sun JDK java.security 文件,那么必须将第三个提供程序更改为非 FIPS 提供程序,如以下示例所示:security.provider.1=sun.security.provider.Sun security.provider.2=com.ibm.security.jgss.IBMJGSSProvider security.provider.3=com.ibm.crypto.fips.provider.IBMJCEFIPS security.provider.4=com.ibm.crypto.provider.IBMJCE security.provider.5=com.ibm.jsse.IBMJSSEProvider security.provider.6=com.ibm.jsse2.IBMJSSEProvider2 security.provider.7=com.ibm.security.cert.IBMCertPath #security.provider.8=com.ibm.crypto.pkcs11.provider.IBMPKCS11
编辑 java.security 文件,移除 FIPS 提供程序,对各个提供程序进行重新编号,如以下示例所示:
security.provider.1=sun.security.provider.Sun #security.provider.2=com.ibm.crypto.fips.provider.IBMJCEFIPS security.provider.2=com.ibm.crypto.provider.IBMJCE security.provider.3=com.ibm.jsse.IBMJSSEProvider security.provider.4=com.ibm.jsse2.IBMJSSEProvider2 security.provider.5=com.ibm.security.jgss.IBMJGSSProvider security.provider.6=com.ibm.security.cert.IBMCertPath security.provider.7=com.ibm.i5os.jsse.JSSEProvider #security.provider.8=com.ibm.crypto.pkcs11.provider.IBMPKCS11 security.provider.8=com.ibm.security.jgss.mech.spnego.IBMSPNEGO
![[z/OS]](../images/ngzos.gif)
- 如果当前密码套件级别是“强”,请将其降低为“中”。
避免故障: 可为不同的环境级别(例如节点或服务器级别)更改密码套件级别。应限制对需要更改的环境级别的更改。gotcha
要更改密码套件,请参阅保护质量设置文档中的密码套件组信息。如果将密码套件级别更改为“中”,请保存更改并使更改同步。如果选择了在 SSL 配置更改时动态更新运行时选项,那么不需要重新启动服务器。但是,如果未选择该选项,那么必须重新启动服务器才能使更改生效。在 SSL 配置更改时动态更新运行时选项在 SSL 证书和密钥管理面板上的管理控制台中可用。要访问该面板,请单击 。
- 对于 z/OS® 操作系统,请安装安全性级别 3 FMID JCPT3A1。
安全性级别 3 FMID JCPT3A1 是 FIPS 140-2 批准的密码提供程序在 z/OS 操作系统上的实现。