随着网络安全形势越来越严峻,整个互联网界似乎已经达成了共识:那就是尽一切可能提高网站的安全性。安全技术有很多,其中SSL/TLS非对称加密技术及对应的PKI公钥架构体系又是最重要的技术之一.

  那么如何给网站申请SSL证书?

  在展开这个题目之前,先回顾一下PKI架构。user, server, CA,这三者是PKI中的三个角色。user方接收到server发出的证书,并通过user自身客户端(浏览器或者其他APP等程序)内含的已信任CA(根证书)列表来做校验,只有证实该server提供的https证书是已信任CA签发的,https通信才可以继续。

  所以我们的SSL证书必须是主流CA签发的才行。

  为什么强调“主流”?

  因为不同浏览器使用的已信任CA列表可能是不尽相同的。IE,firefox,chrome,都带有自己的根证书集合。大型电子商务网站必然使用最为知名的CA机构。

  申请证书时候,需要给CA机构提供证书签发申请CSR文件(certificate sigining request)。大部分支持https的web服务程序都可以生成CSR文件。

  步骤如下:

  1. 根据RSA算法生成公钥私钥对。私钥即需要机密保管的以.key为后缀名的文件,公钥则在.csr文件中。csr文件中还包括生成CSR过程中输入的组织名、域名、联系人邮箱等信息。

  2. 发送CSR文件给证书供应商。供应商对CSR文件做处理,设置有效期限等,并做最为关键的动作:用供应商自己的私钥对证书进行签名。这样就生成了一张有效的SSL证书。

  3. 用户收到证书后,在web服务器(或负载均衡等设备)上,以此前的私钥文件和收到的公钥证书为密钥对,生成SSL配置文件,并绑定到对应的web站点上。