StartSSL证书过期更新方法

  1. 1. 重新注册
  2. 2. 验证域名
  3. 3. 申请证书
  4. 4. 合并证书
  5. 5. 重启Nginx

前天我的StartSSL证书到期,不想每次看到那烦人的安全警告,必须去更新证书

我的证书主要是用来加密Twitter API的,如果不加密,那个域名很快就会“不能访问”了

虽然用自己颁发个证书也能加密,不过还是能得到浏览器认证的证书感觉比较好

StartSSL Class 1的证书是免费一年的,并且当前所有浏览器都加入了他的根证书,不过一年到了后怎么办呢,这次折腾了下,把更新证书的过程记录下

重新注册

StartSSL登录管理界面是用证书的方式登录,而整个证书也是去年申请的,也过期了,根本无法登陆,提示更换一个New Client或者重新申请

我就一台电脑,重新申请比较靠谱,其实打开StartSSL,进入sign up,这里chrome不支持,必须用IE或者FireFox

填写你的资料,需要填写真实信息,至少相对比较真实吧,

确认提交后,需要等待审核,StartSSL的客服会邮件与你核对信息,我开始由于填写的名字是平常用的ID昵称,要我从新提供了名字和地址

由于我是晚上两点多弄的,美国应该还在下午,客服回复速度非常快,在确认完资料后马上邮件通知我账户已经开通,点击邮件里的链接进入,并输入验证码后,浏览器会导入你的证书,也就可以登录后台了

验证域名

进入后台后首先验证域名,这个不废话了,如果你之前安装过StartSSL的证书应该知道怎么操作

申请证书

完成后就开始申请域名证书了,首先自己vps上生成一个证书申请文件csr,我以前的去哪不知道了,可以用下面命令重新生成

1
openssl req -new -newkey rsa:2048 -nodes -out ssl.csr -keyout ssl.key

输入该指令后会询问你的地址,邮箱等信息,最后会要求你输入一个密码,如果不想每次重启nginx还要输入密码的话,建议这里直接回车,不要密码
Certificate
生成好后,你会得到两个文件,ssl.csr和ssl.key,vi ssl.csr这个证书申请文件,把里面的内容复制到StartSSL的Submit Certificate Request (CSR)框里,不过前面需要跳过私钥创建,因为我们已经自己创建了一个

下一步后,输入自己要申请的域名,也就之前认证域名的二级域名,申请到的证书同样适用于根域名

合并证书

证书申请成功后,把证书内容复制保存到vps上的ssl.crt里,StartSSL的证书还需要把它的根证书合并进去才能用

1
2
3
4
wget http://cert.startssl.com/certs/ca.pem
wget http://cert.startssl.com/certs/sub.class1.server.ca.pem
cat ca.pem sub.class1.server.ca.pem >> ca-certs.crt
cat ca-certs.crt >> ssl.crt

重启Nginx

Nginx的配置也很简单,加上下面三行就好,当然证书地址自己改

1
2
3
ssl on;
ssl_certificate /etc/nginx/certs/ssl.crt;
ssl_certificate_key /etc/nginx/certs/ssl.key;

搞定后reload nginx就行,然后重新打开开证书是否已经不会再弹警告了,有效日期已经改变
Certificate
其实StartSSL更新证书就是全新走一遍申请流程,他并不会限制你申请,虽然你去年已经申请过,所以证书到期直接注册新账户申请证书就行

声明: 除非注明,小峰网络遨游记文章均为原创,转载请以链接形式标明本文地址

本博客原创文字只代表本人某一时间内的观点或结论,与本人所在公司没有任何关系。

本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。

第三方若用于商业用途的转载,须取得本人授权。

本文作者:

本文地址:http://xfeng.me/startssl-cert-expired-renew-method/

你可能还对下面文章感兴趣: