本指南将逐步指导您如何在 IBM HTTP Server (IHS) 上安装 SSL 证书。IHS 将证书存储在一个 CMS 密钥数据库文件(.kdb 文件)中,您可以使用 IKEYMAN 图形工具或 gsk8capicmd_64 命令行工具来管理它。
我们还录制了一段视频,为您演示整个流程。您可以观看视频、阅读说明,或者两者结合。您可以在下方观看视频。
在 IBM HTTP Server 上生成 CSR 代码
证书签名请求(CSR)是一段包含您联系信息的编码文本。要申请 SSL 证书,您需要生成 CSR 代码,并将其发送给证书颁发机构(CA)进行验证。在生成 CSR 的同时,您还会生成私钥,这是 SSL 证书的重要组成部分。在安装过程中,您需要用到私钥,在 IHS 中它存放在密钥数据库内。
您有两种选择:
- 使用我们的CSR 生成器自动创建 CSR。
- 按照我们的在 IBM HTTP Server 上生成 CSR 的分步教程操作。
您可以使用任何文本编辑器(包括记事本)打开您的 CSR 文件,并在向供应商下单 SSL 证书的过程中复制并粘贴其内容。
在 IBM HTTP Server 上安装 SSL 证书
在您通过验证并通过电子邮件收到 SSL 文件后,即可开始安装。在 IBM HTTP Server 上,安装过程分为两部分:首先将证书导入密钥数据库,然后让 httpd.conf 指向该密钥数据库并重启服务器。您可以使用 IKEYMAN 图形工具或 gsk8capicmd_64 命令行工具完成导入操作。下面将介绍这两种方法。
第 1 步:准备您的 SSL 证书文件
从 CA 发送给您的 ZIP 压缩包中,提取以下文件:
- 根证书
- 中间证书
- 主证书(例如 your_domain.crt)
您还需要生成 CSR 时创建的密钥数据库文件(.kdb 文件)及其密码。已签名的证书只能被导入到生成该证书请求的同一个密钥数据库中。
第 2 步:安装根证书和中间证书(IKEYMAN)
签名者证书(根证书和中间证书)为您的主证书构建信任链。请先添加它们:
- 启动 IKEYMAN。在 UNIX 系统上,从命令提示符运行
ikeyman。在 Windows 系统上,从 IBM HTTP Server 程序文件夹中启动密钥管理工具。 - 在主窗口中,选择密钥数据库文件,然后点击打开。
- 选择您的密钥数据库(.kdb 文件),然后点击确定。
- 输入您的密码,然后点击确定。
- 在下拉菜单中,选择签名者证书,然后点击添加。
- 浏览并选择您要添加的证书,然后点击确定。先添加根证书,然后再添加中间证书。为每个证书标注清晰的标签,方便日后识别。
第 3 步:安装主 SSL 证书(IKEYMAN)
现在接收您已签名的主证书。接收该证书会将 CA 签发的已签名证书与密钥数据库中已存在的私钥关联起来:
- 在 IKEYMAN 中,进入下拉菜单,选择个人证书,然后点击接收。
- 选择您的主 SSL 证书(例如 your_domain.crt),然后点击确定。
此时您的证书已存入密钥数据库。请继续第 5 步,让 IBM HTTP Server 实际使用这些证书。
第 4 步(备选方案):使用 gsk8capicmd_64 命令行工具导入证书
如果您更喜欢使用命令行,或者您的服务器没有图形环境,可以使用 IHS 安装目录下 bin 目录中的 gsk8capicmd_64,而不是使用 IKEYMAN。使用 -cert -add 操作将根证书和中间证书添加为签名者证书:
gsk8capicmd_64 -cert -add -db /opt/IBM/HTTPServer/key.kdb -pw password -file root.cer -label "Root CA"
gsk8capicmd_64 -cert -add -db /opt/IBM/HTTPServer/key.kdb -pw password -file intermediate.cer -label "Intermediate CA"
然后使用 -cert -receive 操作将已签名的主证书接收到同一个密钥数据库中:
gsk8capicmd_64 -cert -receive -db /opt/IBM/HTTPServer/key.kdb -pw password -file your_domain.crt
请根据您的实际环境调整密钥数据库路径、密码和文件名。此处所示的二进制文件 gsk8capicmd_64 是 64 位版本;在 32 位系统上,其名称为 gsk8capicmd。它位于 GSKit 的 bin 目录中(例如 /opt/IBM/HTTPServer/gsk8/bin),因此请使用完整路径运行,或将该目录添加到您的 PATH 中。您可以使用以下命令确认证书已成功导入:
gsk8capicmd_64 -cert -list -db /opt/IBM/HTTPServer/key.kdb -pw password
第 5 步:配置 httpd.conf 并重启 IHS
仅导入证书是不够的:您还需要告知 IBM HTTP Server 使用该密钥数据库并在 HTTPS 端口上监听。编辑 httpd.conf(位于 IHS 安装目录中的 conf 目录内),确保已加载 SSL 模块,然后为 443 端口配置虚拟主机:
LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
Listen 443
<VirtualHost *:443>
ServerName www.yourdomain.com
SSLEnable
SSLServerCert "your-certificate-label"
</VirtualHost>
KeyFile "/opt/IBM/HTTPServer/key.kdb"
SSLDisable
- KeyFile:您密钥数据库(.kdb)文件的完整路径。相应的 stash 文件(.sth)必须与其放在同一目录下,这样 IHS 才能读取该数据库而无需提示输入密码。
- SSLEnable:为该虚拟主机启用 SSL。
- SSLServerCert:要提供服务的个人证书的标签。仅当该证书在密钥数据库中未被标记为默认证书时,才需要设置此项。
保存文件后,使用 IHS bin 目录中的 apachectl 重启 IBM HTTP Server。重启操作会在应用配置之前先检查配置,因此拼写错误不会在您不知情的情况下导致网站宕机:
/opt/IBM/HTTPServer/bin/apachectl restart
恭喜,您的 SSL 证书现已在 IBM HTTP Server 上安装并生效。
在 IBM Domino 服务器上安装 SSL 证书
要在 IBM Domino 服务器上安装 SSL 证书,您需要将所有的 SSL 证书文件合并到生成 CSR 时使用的同一个密钥环(Key Ring)文件中。
第 1 步:准备您的 SSL 证书文件
请确保您拥有以下文件:
- 根证书
- 中间证书
- 主证书
第 2 步:安装证书
- 在您的 Domino 管理面板中,转到系统数据库,找到Domino Server Certificate Administration(CERTSRV.NSF)文件。
- 点击将受信任的根证书安装到密钥环,并输入您在生成 CSR 时创建的密钥环文件名。
- 从三个可用选项中选择一个方式上传您的根证书。最简单的方法是浏览到文件所在位置。
- 点击将证书合并到密钥环。
- 对您的中间证书重复上述三个步骤。
- 点击将证书安装到密钥环,并输入您的密钥环文件名(即您在生成 CSR 时创建的那个文件)。
- 指定主证书的路径,然后点击将证书合并到密钥环。
恭喜,您已在 IBM Domino Web 服务器上安装了 SSL 证书。
测试您的 SSL 安装
在您为 IBM HTTP Server 安装 SSL 证书后,请对您的 SSL 配置进行诊断测试,以确认没有 SSL 错误影响您的网站。使用我们的SSL 检测工具,您可以立即获得针对 SSL 证书的扫描和报告,包括证书链顺序和到期日期。
常见问题解答
IBM HTTP Server 将证书和私钥存储在一个扩展名为 .kdb 的 CMS 密钥数据库文件中,而不是像标准 Apache 那样使用单独的 PEM 文件。您可以使用 IKEYMAN 图形工具或 gsk8capicmd_64 命令行工具来管理该密钥数据库,并通过 httpd.conf 中的 KeyFile 指令让 IHS 指向该数据库。
两个工具管理的是同一个 .kdb 密钥数据库。IKEYMAN 是一个图形化(Java)界面,适合在桌面环境或带显示器的服务器上使用。gsk8capicmd_64 工具则通过命令行完成相同的工作,对于无显示环境的服务器和脚本编写来说是更好的选择。您可以使用其中任意一种工具来添加签名者证书并接收您的主证书。
将证书导入密钥数据库只完成了一半工作。除非您让 KeyFile 指令指向该 .kdb 文件,在 443 端口的虚拟主机中添加 SSLEnable(如果该证书不是默认证书,还需添加 SSLServerCert),并重启 IHS,否则 IBM HTTP Server 不会提供该证书。同时请确认服务器正在 443 端口监听,并且 stash(.sth)文件与密钥数据库位于同一目录。
使用 -cert -receive 操作,并将其指向生成 CSR 时使用的同一个密钥数据库。例如:gsk8capicmd_64 -cert -receive -db /opt/IBM/HTTPServer/key.kdb -pw password -file your_domain.crt
请先使用 -cert -add 添加根证书和中间证书,否则证书链将不完整。
从您的 IHS 安装目录的 bin 目录中运行 apachectl restart,例如 /opt/IBM/HTTPServer/bin/apachectl restart。这是重启 IHS 的官方支持方式,它会在应用配置之前先验证配置是否正确。请不要直接调用 httpd 二进制文件,因为它将找不到所需的 GSKit 库。


