Loading
0

如何购买廉价SSL证书

技术小学生微信公众号
腾讯云服务器大促销。
华为服务器

网上有不少廉价甚至免费的 SSL 证书服务商,而比较方便快捷的应该是通过 namecheap.com 购买 Comodo Positive SSL 和 RapidSSL,两者都是 $10 左右一年,一般在 10 来分钟之内就能完成。

下面是购买的详细步骤:

1、首先确定你 Web Server 的类型

一般来说,除了 Java Tomcat Web Server 之外的其他 Web Server(比如 Apache Httpd)都是使用 OpenSSL 实现其加密层的,所以在购买证书时先选定你的 Web Server 加密程序为 OpenSSL。(注:Tomcat 结合 APR 使用的话也是用 OpenSSL 的哦,如果你需要为 Tomcat 购买 SSL 证书,则转到本文第一段提到的那篇旧文。)

2、生成私钥和签名请求文件

使用如下命令可以产生一个私钥以及一个签名请求文件

  • $ openssl req -nodes -newkey rsa:2048 -keyout my.key -out my-request.csr

这条命令的 rsa:2048 用于指定加密算法的名称以及密钥的长度,最终生成的 my.key 为私钥(要保管好)和一个签名请求文件。

运行这个命令时会询问关你的网站的信息,如果是个人网站,那么大部分资料都是可以随便填的,只要 “Common Name” 这一项准确填写你的域名即可,比如 abc.com,xyz.org,注意不用加 www 前缀,namecheap 代理销售的 SSL 证书会自动额外签名你的 www 二级域名,即付一份价钱,可以同时认证 abc.com 和 www.abc.com。

3、检查一下你域名登记的 email 地址

因为证书服务商会验证你的域名,而验证方法则是发送一封 email 到你域名注册时所填写的联系 email 地址,如果你注册域名时是乱填的,记得现在要更正过来了。

4、把签名请求文件发送给证书服务商

根据购买流程当中的指引,把第 2 步产生的 my-request.csr 发送给证书服务商。大概等十几分钟(也有时要几个小时)服务商会发送一封 email 给你,一般来说里面包含一个验证码,把这个验证码输入购买流程的页面当中就完成域名验证了。

5、获取签名证书

上一步完成之后,大概再等几分钟,你就会收到一封邮件(或者出现在购买流程当中),里面包含有你的证书和证书链。具体来说可能会有这 3 个证书文件:

yourDomainName.crt

PositiveSSLCA2.crt

AddTrustExternalCARoot.crt

一般来说我们要把后两者合并为一个文件,用记事本打开然后复制粘贴形成一个新文件即可,需要注意 *Root.crt 这个文件的内容要放在最后,对于 linux 系统用户,用这行搞定:

  • $ cat PositiveSSLCA2.crt AddTrustExternalCARoot.crt > yourDomainName.ca-bundle.crt

6、使用证书

这里以 Apache Httpd 为例,一般的设置如下:

  • SSLEngine on
  • SSLCertificateKeyFile /etc/ssl/ssl.key/my.key
  • SSLCertificateFile /etc/ssl/ssl.crt/yourDomainName.crt
  • SSLCertificateChainFile /etc/ssl/ssl.crt/yourDomainName.ca-bundle

如果你的 apache 配置了多个虚拟主机,则配置如下:

  • # make sure add these lines in somewhere else
  • #NameVirtualHost *:80
  • #NameVirtualHost *:443
  • <VirtualHost *:80>
  • ServerName www.your-domain.com
  • DocumentRoot /var/www/your-domain
  • ServerAlias your-domain.com
  • <VirtualHost>
  • <VirtualHost *:443>
  • SSLEngine on
  • SSLCertificateKeyFile /etc/ssl/ssl.key/my.key
  • SSLCertificateFile /etc/ssl/ssl.crt/yourDomainName.crt
  • SSLCertificateChainFile /etc/ssl/ssl.crt/yourDomainName.ca-bundle
  • ServerName www.your-domain.com  
  • DocumentRoot /var/www/your-domain
  • ServerName your-domain.com
  • <VirtualHost>

对于使用了 APR 的 Tomcat 服务器,配置如下:

  • <Connector port="443" protocol="HTTP/1.1"
  • address="198.74.59.36"
  • SSLEnabled="true"
  • scheme="https" secure="true"
  • enableLookups="false"
  • SSLCertificateFile="/etc/ssl/my/yourDomainName.crt"
  • SSLCertificateChainFile="/etc/ssl/my/yourDomainName.ca-bundle.crt"
  • SSLCertificateKeyFile="/etc/ssl/my/my.key"/>

证书设置完毕。

7、补:SSL 证书的格式转换

如果你已经根据上面的流程购买了一个 SSL 证书,而碰巧使用的时候要求是 Java Keystore 格式,那么需要将 OpenSSL 的证书转换一下:

首先将密钥和证书转为 pkcs12 格式:

  • $ openssl pkcs12 -export -in yourDomainName.crt -inkey my.key > my.p12

然后将 pkcs12 格式转换为 Java keystore 格式:

  • $ keytool -importkeystore -srckeystore my.p12 -destkeystore my.jks -srcstoretype pkcs12

延伸阅读:

  • CloudFlare SSL和Wosign沃通SSL申请开通和安装使用
  • WoSign沃通SSL证书免费申请及账户设置教程
  • Startssl SSL 证书申请图解
  • 在Nginx上配置NameCheap免费SSL
技术小学生微信公众号
华为服务器
腾讯云服务器大促销。

声明:站长码字很辛苦啊,转载时请保留本声明及附带文章链接:https://blog.tag.gg/showinfo-36-15907-0.html
亲爱的:若该文章解决了您的问题,可否收藏+评论+分享呢?
上一篇:资深网管教你如何打造SSL加密的HTTPS站点
下一篇:手机抓包的两种方法:wireshark抓包和fiddler抓包