配置联邦信息处理标准 Java 安全套接字扩展文件
使用本主题来配置联邦信息处理标准 Java™ 安全套接字扩展文件。
有关此任务
FIPS 140-3 取代了 FIPS 140-2。 有关 FIPS 140-3 的更多信息,请参阅 IBM SDK 8 文档中的 FIPS 140-3 和 FIPS 140-3 WebSphere Application Server 文档中的 FIPS 140-3。
WebSphere Application Server 提供了一个经 FIPS 批准的 IBMJCEFIPS 提供程序, IBMJSSE2。
WebSphere Application ServerIBMJSSE2 可使用经 FIPS 批准的 IBMJCEPlusFIPS 提供商。
在 9.0.5.15 之前的版本中、 WebSphere Application Server 提供了一个经 FIPS 批准的 IBMJCEFIPS 提供程序, IBMJSSE2 可以使用。
在服务器 SSL 证书和密钥管理窗格上启用 使用美国联邦信息处理标准 (FIPS) 算法 选项时,尽管您为 SSL (IBMJSSE 或 IBMJSSE2S) 指定了 contextProvider ,但运行时始终使用 IBMJSSE2。 FIPS 需要 TLS 1.2 作为 SSL 协议,在启用 FIPS 时,运行时始终使用 TLSv1.2 ,而不考虑 SSL 指令表中的 SSL/TLS 协议设置。 这简化了 WebSphere Application Server 版本 9.0 中的 FIPS 配置,因为管理员只需在服务器 SSL 证书和密钥管理窗格上启用 使用美国联邦信息处理标准 (FIPS) 算法 选项,即可启用所有使用 SSL 的传输。
过程
下一步做什么?
- 缺省情况下,浏览器可能未启用 TLS 1.2 。 检查浏览器设置以确保其设置为使用 TLS 1.2。
- 在 SSL 证书和密钥管理窗格上选择 使用联邦信息处理标准 (FIPS) 选项时,轻量级第三方认证 (LTPA) 令牌格式与较早版本的 WebSphere Application Server不兼容。 但是,可以从先前版本的应用程序服务器导入 LTPA 密钥。
- 注: 当前的 WebSphere Application Server 限制是未针对 FIPS sp800-131a 合规性评估密钥中的密钥长度。 如果密钥库中有密钥,请使用 {WebSphere_install_dir}\java\jre\bin 目录中的 iKeyman 或其他密钥库工具来检查密钥长度。
ADMU3007E: 异常 com.ibm.websphere.management.exception.ConnectorException如果 java.security 文件中的以下条目先前已移除或注释掉,请取消对该条目的注释,然后重新启动服务器:
security.provider.2=com.ibm.crypto.provider.IBMJCEIBMJCEFIPS(证书 376)
IBMJCEPlusFIPS (证书 376)
在 9.0.5.15 之前的版本中,IBMJCEFIPS(证书 376)
- IBM Cryptography for C (IBM Content Collector) (证书 384)
- 在 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.pkcs11impl.provider.IBMPKCS11Impl security.provider.7=com.ibm.security.cmskeystore.CMSProvider security.provider.8=com.ibm.security.jgss.mech.spnego.IBMSPNEGO security.provider.9=com.ibm.security.sasl.IBMSASL security.provider.10=com.ibm.xml.crypto.IBMXMLCryptoProvider security.provider.11=com.ibm.xml.enc.IBMXMLEncProvider security.provider.12=org.apache.harmony.security.provider.PolicyProvider#security.provider.1=com.ibm.crypto.plus.provider.IBMJCEPlusFIPS 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.pkcs11impl.provider.IBMPKCS11Impl security.provider.7=com.ibm.security.cmskeystore.CMSProvider security.provider.8=com.ibm.security.jgss.mech.spnego.IBMSPNEGO security.provider.9=com.ibm.security.sasl.IBMSASL security.provider.10=com.ibm.xml.crypto.IBMXMLCryptoProvider security.provider.11=com.ibm.xml.enc.IBMXMLEncProvider security.provider.12=org.apache.harmony.security.provider.PolicyProvider
在 9.0.5.15之前的版本中,使用以下示例。#security.provider.1=com.ibm.crypto.plus.provider.IBMJCEPlusFIPS 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.i5os.jsse.JSSEProvider security.provider.7=com.ibm.crypto.pkcs11.provider.IBMPKCS11 security.provider.8=com.ibm.security.jgss.mech.spnego.IBMSPNEGO security.provider.9=com.ibm.security.cmskeystore.CMSProvider security.provider.10=com.ibm.security.sasl.IBMSASL security.provider.11=com.ibm.xml.crypto.IBMXMLCryptoProvider security.provider.12=com.ibm.xml.enc.IBMXMLEncProvider security.provider.13=org.apache.harmony.security.provider.PolicyProvider#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.pkcs11impl.provider.IBMPKCS11Impl security.provider.7=com.ibm.security.cmskeystore.CMSProvider security.provider.8=com.ibm.security.jgss.mech.spnego.IBMSPNEGO security.provider.9=com.ibm.security.sasl.IBMSASL security.provider.10=com.ibm.xml.crypto.IBMXMLCryptoProvider security.provider.11=com.ibm.xml.enc.IBMXMLEncProvider security.provider.12=org.apache.harmony.security.provider.PolicyProvider#security.provider.1=com.ibm.crypto.plus.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.i5os.jsse.JSSEProvider security.provider.7=com.ibm.crypto.pkcs11.provider.IBMPKCS11 security.provider.8=com.ibm.security.jgss.mech.spnego.IBMSPNEGO security.provider.9=com.ibm.security.cmskeystore.CMSProvider security.provider.10=com.ibm.security.sasl.IBMSASL security.provider.11=com.ibm.xml.crypto.IBMXMLCryptoProvider security.provider.12=com.ibm.xml.enc.IBMXMLEncProvider security.provider.13=org.apache.harmony.security.provider.PolicyProvider如果使用 Oracle Java SE 开发工具包 java.security 文件,则必须将第二个提供程序更改为非 FIPS 提供程序,如下例所示。
security.provider.1=com.ibm.jsse2.IBMJSSEProvider2 #security.provider.2=com.ibm.crypto.plus.provider.IBMJCEPlusFIPS security.provider.2=com.ibm.crypto.plus.provider.IBMJCEPlus security.provider.3=com.ibm.crypto.provider.IBMJCE security.provider.4=com.ibm.security.jgss.IBMJGSSProvider security.provider.5=com.ibm.security.cert.IBMCertPath security.provider.6=com.ibm.security.sasl.IBMSASL security.provider.7=com.ibm.xml.crypto.IBMXMLCryptoProvider security.provider.8=com.ibm.xml.enc.IBMXMLEncProvider security.provider.9=com.ibm.security.jgss.mech.spnego.IBMSPNEGO security.provider.10=sun.security.provider.Sun在 9.0.5.15 之前的版本中,将第二个提供程序更改为非 FIPS 提供程序,如下例所示。
security.provider.1=com.ibm.jsse2.IBMJSSEProvider2 #security.provider.2=com.ibm.crypto.plus.provider.IBMJCEFIPS security.provider.2=com.ibm.crypto.provider.IBMJCEPlus security.provider.3=com.ibm.security.jgss.IBMJGSSProvider security.provider.4=com.ibm.security.cert.IBMCertPath security.provider.5=com.ibm.security.sasl.IBMSASL security.provider.6=com.ibm.xml.crypto.IBMXMLCryptoProvider security.provider.7=com.ibm.xml.enc.IBMXMLEncProvider security.provider.8=com.ibm.security.jgss.mech.spnego.IBMSPNEGO security.provider.9=sun.security.provider.Sun
- 如果当前密码套件级别是“强”,请将其降低为“中”。注: 您可以更改环境的不同级别 (例如节点或服务器级别) 的密码套件级别。 应限制对需要更改的环境级别的更改。
要更改密码套件,请参阅保护质量设置文档中的密码套件组信息。 如果将密码套件级别更改为“中”,请保存更改并使更改同步。 如果启用了 "全局安全性" ,并且选择了 发生 SSL 配置更改时动态更新运行时 选项,那么无需重新启动服务器。 但是,如果未选择该选项,那么必须重新启动服务器才能使更改生效。 在 SSL 配置更改时动态更新运行时选项在 SSL 证书和密钥管理面板上的管理控制台中可用。 要访问该窗格,请单击。
- 为 z/OS® 操作系统安装安全级别 3 FMID JCPT3A1 。
安全级别 3 FMID JCPT3A1 是 FIPS 140-2 核准的加密提供程序的 z/OS 操作系统实现。