前言
IBM HTTP SERVER,简称IHS。目前可以支持SHA256算法的最低版本要求是IHS 8.5,而可以支持SHA256的iKeyman版本是8.0。如果您还在使用旧版的IHS或者iKeyman,请尽快升级到最新的版本,旧版只支持SHA1的证书,SHA1证书到2016年12月31日后就彻底被禁用了。
制作JKS文件
JKS(Java Keystore)文件是我们后面用来导入iKeyman密钥对的中间文件。我们首先需要制作完成JKS文件。您在递交订单时,会采用以下两种方式,请按照不同的说明制作JKS文件。
情况一:系统自动生成CSR(证书请求文件)
如果您在递交订单时,选择“系统自动生成CSR(证书请求文件)”:在您递交订单时,会要求您下载并保存server.key文件;在订单完成后,请在“控制台→订单查询→订单详细页”下载“CRT文件”,保存为server.crt。请到 JKS在线合成工具 ,使用server.key和server.crt文件合成一个新的JKS文件。在这里需要设置2个参数:
- 别名:导入到JKS中的密钥对的索引名称(que)。
- 密码:访问JKS的密码,需要在Tomcat配置文件中写入。
情况二:手工上传CSR(证书请求文件)
如果您在递交订单时,选择“我手工上传CSR(证书请求文件)”:您的CSR文件应该是根据JAVA文档,使用KeyTool.exe制作的。在订单完成后,请在“控制台→订单查询→订单详细页”下载“P7B文件”,保存为server.p7b,运行命令,将P7B文件导入原来的jks文件:
keytool -import -keystore server.jks -alias ssl -file server.p7b
用iKeyman制作KDB文件
1、打开iKeyman,新建一个KDB文件。
2、为KDB文件设定密码,并选择“将密码存储到文件中”

3、在工具的中间下拉框选择“个人证书”,然后点击右边的“导入”,将密钥文件类型,选择为“JKS”:

4、选择前面合成好的server.jks文件,会出现证书选择框,这里我们选刚才合成密钥时,设定的密钥对别名“ssl”:

5、我们可以设置导入的密钥对的标签,当然也可以沿用"ssl",然后点击确定:

6、密钥对已经导入成功,我们在个人证书下,双击这个密钥对:

7、在密钥对的详细信息的最后,选择“将该证书设置为缺省证书”:

8、这个密钥对前,会出现一个*号。整个KDB文件制作完毕。

配置IBM HTTP SERVER
请打开IHS的Httpd.conf文件,最简单的SSL配置如下:LoadModule ibm_ssl_module modules/mod_ibm_ssl.so Listen 443 <virtualhost *:443> SSLEnable </virtualhost> SSLDisable KeyFile "c:/Program Files/IBM HTTP Server/key.kdb" SSLStashFile "c:/Program Files/IBM HTTP Server/key.sth"如果我们需要禁用SSL2 、SSL3,并且支持PFS,可以在上面的配置中增加一些参数:
LoadModule ibm_ssl_module modules/mod_ibm_ssl.so Listen 443 <virtualhost *:443> SSLEnable SSLProtocolDisable SSLv2 SSLv3 SSLCipherSpec ALL NONE SSLCipherSpec TLSv12 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 SSLCipherSpec TLSv12 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 SSLCipherSpec TLSv12 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 SSLCipherSpec TLSv12 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 SSLCipherSpec ALL TLS_RSA_WITH_AES_128_GCM_SHA256 SSLCipherSpec ALL TLS_RSA_WITH_AES_256_GCM_SHA384 SSLCipherSpec ALL TLS_RSA_WITH_AES_128_CBC_SHA256 SSLCipherSpec ALL TLS_RSA_WITH_AES_256_CBC_SHA256 SSLCipherSpec ALL TLS_RSA_WITH_AES_128_CBC_SHA SSLCipherSpec ALL TLS_RSA_WITH_AES_256_CBC_SHA SSLCipherSpec ALL SSL_RSA_WITH_3DES_EDE_CBC_SHA </virtualhost> SSLDisable KeyFile "c:/Program Files/IBM HTTP Server/key.kdb" SSLStashFile "c:/Program Files/IBM HTTP Server/key.sth"如果需要查询IBM HTTP SERVER关于SSL详细的指令说明请参见:IBM官方文档。
最新修订日期:2017年10月30日