下一步,我们会创建一个自签名证书来让我们的客户机可以识别服务器(请注意这个方法对于生产环境并不是最好的选择;对于生产环境你应该考虑购买第三方可信证书机构验证的证书,例如 DigiCert)。
我们用 genkey 命令为 box1 创建有效期为 365 天的 NSS 兼容证书。完成这一步后:
# genkey --nss --days 365 box1
选择 Next:
创建 Apache SSL 密钥
你可以使用默认的密钥大小(2048),然后再次选择 Next:
选择 Apache SSL 密钥大小
等待系统生成随机比特:
生成随机密钥比特
为了加快速度,会提示你在控制台输入随机字符,正如下面的截图所示。请注意当没有从键盘接收到输入时进度条是如何停止的。然后,会让你选择:
是否发送验证签名请求(CSR)到一个验证机构(CA):选择 No,因为这是一个自签名证书。
为证书输入信息。
最后,会提示你输入之前给 NSS 证书设置的密码:
# genkey --nss --days 365 box1
Apache NSS 证书密码
需要的话,你可以用以下命令列出现有的证书:
# certutil –L –d /etc/httpd/alias
列出 Apache NSS 证书
然后通过名字删除(如果你真的需要删除的,用你自己的证书名称替换 box1):
# certutil -d /etc/httpd/alias-D -n "box1"
如果你需要继续进行的话,请继续阅读。
测试 Apache SSL HTTPS 连接最后,是时候测试到我们服务器的安全连接了。当你用浏览器打开 https://<web 服务器 IP 或主机名>,你会看到著名的信息 “This connection is untrusted”:
检查 Apache SSL 连接
在上面的情况中,你可以点击添加例外(Add Exception) 然后确认安全例外(Confirm Security Exception) - 但先不要这么做。让我们首先来看看证书看它的信息是否和我们之前输入的相符(如截图所示)。
要做到这点,点击上面的视图(View...)-> 详情(Details)选项卡,当你从列表中选择发行人你应该看到这个:
确认 Apache SSL 证书详情