0x01 前言

很不幸,因为过多的违规,wosign和被他收购的startcom旗下的中级证书已经不受信任了。具体请通过以下地址进行查阅:

为了安全起见,我将所有由StartCom签发的数字证书都更换为Let’s Encrypt项目签发的数字证书。但是对于一些服务还是希望使用一个有效期更长的数字证书。为此我选择Encryption Everywhere这个项目。

Encryption Everywhere项目,这个项目的证书是由symantec签发的一年有效期的证书。

0x02 获取证书

国内的朋友可以通过阿里云获取一张或多张由symantec签发的免费数字证书。也可以自行通过API获取数字证书,详情请关注项目网站:

Encryption Everywhere

其实我找了很久,只找到阿里云可以在线签发相关证书,其他网站要么是需要申请名额,要么根本没有任何相关信息。

通过以下地址进入阿里云的证书购买页面:

云盾证书服务-阿里云

下面是购买页面,每个证书仅支持一个域名,相比Let’s Encrypt项目是有点逊色。每次购买数量最大为10张,但购买后可以留存到日后使用,购买时并不绑定域名。

购买完成后即可通过云盾证书管理界面进行管理与申请签发证书:

补全信息需要提供CSR,完成后要等待几分钟,记得回来查看并选择验证方式。根据验证方式配置好后,大概2小时左右就会收到symantec发过来的邮件,有时会因为网络问题导致收不到邮件,但这个并不影响证书的签发。4到6小时之后即可回到阿里云云盾的管理界面查收证书。

0x03 配置

配置strongswan需要用到以下三个文件:

  1. 由symantec签发的证书
  2. symantec的中级证书
  3. 证书的私钥

证书的私钥在生成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一样便捷。