0x01 前言
很不幸,因为过多的违规,wosign和被他收购的startcom旗下的中级证书已经不受信任了。具体请通过以下地址进行查阅:
- Google旗下产品不再信任WoSign和StartCom所签发的数字证书(请自备梯子)
- mozilla旗下产品不再信任WoSign和StartCom所签发的数字证书
- Apple旗下产品不再信任WoSign和StartCom所签发的数字证书
为了安全起见,我将所有由StartCom签发的数字证书都更换为Let’s Encrypt项目签发的数字证书。但是对于一些服务还是希望使用一个有效期更长的数字证书。为此我选择Encryption Everywhere这个项目。
Encryption Everywhere项目,这个项目的证书是由symantec签发的一年有效期的证书。
0x02 获取证书
国内的朋友可以通过阿里云获取一张或多张由symantec签发的免费数字证书。也可以自行通过API获取数字证书,详情请关注项目网站:
其实我找了很久,只找到阿里云可以在线签发相关证书,其他网站要么是需要申请名额,要么根本没有任何相关信息。
通过以下地址进入阿里云的证书购买页面:
下面是购买页面,每个证书仅支持一个域名,相比Let’s Encrypt项目是有点逊色。每次购买数量最大为10张,但购买后可以留存到日后使用,购买时并不绑定域名。
购买完成后即可通过云盾证书管理界面进行管理与申请签发证书:
补全信息需要提供CSR,完成后要等待几分钟,记得回来查看并选择验证方式。根据验证方式配置好后,大概2小时左右就会收到symantec发过来的邮件,有时会因为网络问题导致收不到邮件,但这个并不影响证书的签发。4到6小时之后即可回到阿里云云盾的管理界面查收证书。
0x03 配置
配置strongswan需要用到以下三个文件:
- 由symantec签发的证书
- symantec的中级证书
- 证书的私钥
证书的私钥在生成CSR的时候是一并生成的,而1和2则需要下载nginx数字证书:
打开下载下来的证书会看到两端证书内容:
-----BEGIN CERTIFICATE----- ...服务器证书... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ...中级证书... -----END CERTIFICATE-----
如果你是按照我的安装配置方法配置strongswan(配置基于StrongSwan 的IKEv2),那么可以继续往下操作:
1.删除caCert.crt:
[root@hk1 ~]# rm -f /usr/local/ipsec/etc/ipsec.d/cacerts/caCert.crt
2.修改私钥,将内容替换掉原来的内容:
[root@hk1 ~]# vim /usr/local/ipsec/etc/ipsec.d/private/serverKey.key #先按两次g,回到文件顶部 #然后按dG,删除所有内容 #再然后按i并粘贴入私钥,然后按ESC退出编辑模式 #最后输入:wq保存退出
3.修改服务器证书,将内容替换掉原来的内容:
[root@hk1 ~]# vim /usr/local/ipsec/etc/ipsec.d/certs/serverCert.crt #先按两次g,回到文件顶部 #然后按dG,删除所有内容 #再然后按i并粘贴入私钥,然后按ESC退出编辑模式 #最后输入:wq保存退出
4.修改中级证书,将内容替换掉原来的内容:
[root@hk1 ~]# vim /usr/local/ipsec/etc/ipsec.d/cacerts/caCert_Intermediate.crt #先按两次g,回到文件顶部 #然后按dG,删除所有内容 #再然后按i并粘贴入私钥,然后按ESC退出编辑模式 #最后输入:wq保存退出
最后重启ipsec:
[root@hk1 ~]# ipsec restart
0x04 结语
虽然Encryption Everywhere项目不像Let’s Encrypt那样可以即时拿到证书、支持多域名,但Encryption Everywhere的有效期长达一年,这也是一个吸引人的因素。
另外,这两个项目所签发的证书都支持吊销,但我没试过Encryption Everywhere的吊销操作,不知道是否和Let’s Encrypt一样便捷。