IBM HTTP SERVER,简称IHS。目前可以支持SHA256算法的最低版本要求是IHS 8.5,而可以支持SHA256的iKeyman版本是8.0。如果您还在使用旧版的IHS或者iKeyman,请尽快升级到最新的版本,旧版只支持SHA1的证书,SHA1证书到2016年12月31日后就彻底被禁用了。由于IBM机器必须需要本机自带的iKeyman工具进行KDB文件的生成,才能配置SSL证书。此教程对于IBM HTTP SERVER 6.0版本到IBM HTTP SERVER 8.5版本同样适用。
iKeyman是IBM厂商开发且自带的工具,可用于管理 IHS 的证书密钥文件,必须要在图形化界面上执行操作。Windows下可以直接执行;而Linux下需要进入到桌面或图形化下进行,一般可以选择命令行安装vnc进行虚拟图形化远程操作(vnc操作略)。
一、Windows下运行ikeyman
点击”开始”–“所有程序”—“IBMHTTPServer “—“StartKeyManagementUtility”,运行IkeyManager。
二、Linux下运行ikeyman
1、进入IBM/httpserver/bin下
2、执行命令:./ikenyman
一、申请证书
在获得数安时代证书后,进入Apache_IIS_Tomcat_Server包,准备公钥证书.crt,中级证书issuer.crt以及填写csr时候提示下载的私钥key文件。根据官网链接https://www.trustauth.cn/SSLTool/tool/export_keystore.jsp合成jks文件。
注:Keystore密码个人设置,六位以上。
二、查看别名
说明:需要在Java\jdk\bin下使用命令查看,示例:
keytool -v -list –keystore? test.jks
备注:test.jks是合成后的示例证书文件,复制到Java\jdk\bin下,执行上述命令即可查看别名。
一、进入服务器运行iKeyman,新建一个KDB文件。
二、为KDB文件设定密码,并选择“将密码存储到文件中”。
三、为新建的kdb文件导入根证书及中级证书,选择颁发者证书然后选择添加。
四、浏览添加上级证书至kdb文件,注意一点,添加时按照顶级根证书的顺序从上级至下级依次添加,如示例中的证书是四级证书,则需要添加前三级证书才可制作。
例如下面:
五、顶级根证书获取(第一级证书),进入Apache_IIS_Tomcat_Server包,双击公钥证书.crt,如示例操作:
顶级根证书命名,点击下一步,导出,完成即可。
六、中级根证书获取(第二级证书)
注意:这个要看证书的阶级,如果是四级证书 ,如上的话就要一级级把证书导出来。如三级证书,只需要将顶级根证书导出与issuer.crt证书准备好为后续的导入即可。
中级根证书命名,下一步,导出,完成即可。
七、证书链文件获取(第三级证书),进入Apache_IIS_Tomcat_Server包,找到issuer.crt备用。或如下方法直接导出:
证书链命名,下一步,导出,完成即可。
八、将所需的证书文件上传到服务器。进行上述导出的顶级根证书root,中级证书CA,证书链issuer分别按顺序导入到服务器。
顶级根证书导入,这里添加证书的标号名称,自定义命名以区分。
导入的根证书都会在这里列出。然后分别如此,接着将中级证书,证书链issuer.crt导入,命名自定义。
确保上述阶级证书都导入完毕后,开始导入服务器证书。
九、导入服务器证书,将下拉菜单选至个人。
选择导入
上传jks文件,浏览到要导入的jks文件,选择OK。
确认证书后出现选择框,选择要导入的证书别名(证书别名合成jks的时候填写查看,IBM也会自动识别,需选择正确的默认别名)。
设置密钥对别名,也可以继续沿用之前填写的ssl。
在双击导入的密钥对(ssl)的详细信息的最后,选择“将该证书设置为缺省证书”:
操作完毕后密钥对签名会出现一个*号,整个kdb文件制作完毕。
注:密钥对前面标记*号,代表制作kdb成功。一般出现*号可不需要再复述操作前步骤(选择“将该证书设置为缺省证书”),请视实际情况而操作。
一、进入IBM/httpserver/目录下,编辑配置文件httpd.conf,参考修改如下:
备注:此修改针对IBM HTTP SERVER 6版本,具体按实际情况部署。
二、备选方案。
进入IBM/httpserver/目录下,打开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 8版本,具体按实际情况部署。
三、保存配置,完成退出,重启IHS服务。
Linux:
进入IBM/httpserver/bin下
执行 ./apachectl restart
Windows:
转至控制面板中的服务-双击 IBM HTTP Server 选择重启动服务器。
四、确认是否成功启动 IBM HTTP Server,请打开浏览器并在 URL 框中输入正确的域名进行访问。