+86 189 8218 1436Mon. - Fri. 10:00-22:00

如何购买廉价 SSL 证书

如何购买廉价 SSL 证书

经济实惠的服务器代维费用及报价,让中小企业都能用上专业的服务器代维服务!

服务器代维外包服务 让您省心又放心 小程序HTTPS配置 一键ssl全站配置 正版EV OV_SSL证书 顶级证书长期享用 DDOS/CC攻击防御 有针对性的攻击防御
木马病毒清除 彻底的清除专家 网站中毒处理 快速网站故障处理专家 服务器故障处理 一站式解决服务器问题 数据找回/恢复 重要数据秒级找回
数据库优化 提升网站访问速度神器 数据迁移 网站搬家快方法 漏洞扫描/渗透测试 网站安全检测 网站故障排查/修复 一键排查故障/修复
宝塔Linux面板安装服务 环境配置专家 WordPress代维托管 一次性收费包您满意 网站程序安装指导 多年安装经验
肉鸡处理,中毒处理
肉鸡处理,中毒处理  
 

如何购买廉价 SSL 证书

添加 GoDaddy SSL 证书到你的网站

为了信息安全,一般网站的用户注册和登录过程会使用加密的 HTTP(即HTTPS)传输用户的帐号和密码,这样可以防止“中间人”盗取帐号资料,这篇文章简述为网站添加SSL证书从而实现 HTTPS 的方法和步骤。下面假如你网站是用 Tomcat 直接搭建的,那么只需如下几个步骤即可:

  1. 购买 SSL 证书。
  2. 在你的服务器上生成一个私密钥匙(Private Key)。
  3. 在 SSL 证书销售商那里签名你的 Key。
  4. 将已签名的证书导入 Tomcat KeyStore。
  5. 修改 Tomcat 的配置并重启 Tomcat 服务。

下面详细展开每个步骤

1、购买 SSL 证书

为网站添加 HTTPS 功能第一步需要购买一个SSL认证证书,目前使用比较广泛SSL证书认证商有:VeriSignThawte。不过这些认证商的证书价格不菲,假如你的网站只是想提供加密传输,对安全要求不是非常高,则可以考虑购买 GoDaddy 的廉价SSL证书.

2、生成私密钥匙

使用OpenSSL工具可以很容易生成私钥,不过由于我们准备给Tomcat使用,所以直接使用 Java 自带的 keytool 工具。
转到一个 Tomcat 有权限访问的目录,运行

$ keytool -keysize 2048 -genkey -alias tomcat -keyalg RSA -keystore tomcat.keystore

然后它会提示你设置一个密码以及输入DN信息:

Enter keystore password:  设置一个用于保护你keystore文件的密码,例如123456
Re-enter new password: 重复上面的密码
What is your first and last name?
  [Unknown]:  yourdomain.com 输入你网站的域名,注意Godaddy的证书一个只能签名一个域名,也就是说 abc.com 和 www.abc.com 不是同一个域名,这里应该填写你准备签名的那一个域名。
What is the name of your organizational unit?
  [Unknown]:  Networking 组织单位名称(随便)
What is the name of your organization?
  [Unknown]:  yourdomain.com 组织名称(随便)
What is the name of your City or Locality?
  [Unknown]:  Shenzhen 所在城市(随便)
What is the name of your State or Province?
  [Unknown]:  Guangdong 所在省份(随便)
What is the two-letter country code for this unit?
  [Unknown]:  CN 所在国家的两位代号(随便)
Is CN=www.yourdomain.com, OU=Networking, O=yourdomain.com, L=Shenzhen, ST=Guangdong, C=CN correct?
  [no]:  yes 以上信息正确则输入yes

Enter key password for
    (RETURN if same as keystore password): 这一步直接敲回车

完成后会在当前目录产生一个 tomcat.keystore 文件。

顺便提一下,如果你的网站只在内网自己公司使用,实际上现在的这个 keystore 文件已经可以给 tomcat 使用了,直接跳到第5步即可,不过用浏览器访问你的网站时会提示证书错误(因为没有通过可靠证书销售商签名的缘故)。

回到主题,接着根据此 keystore 文件生成签名请求文件(CSR):

$ keytool -certreq -keyalg RSA -alias tomcat -file tomcat-yourdomain.csr -keystore tomcat.keystore

同样地,当它问起密码时,输入刚才设置的密码即可,完成后你会得到一个 tomcat-yourdomain.csr 文件。

3、到证书销售商签名你的私钥

登录到你购买 SSL 证书商(这里是 GoDaddy), 根据提示进入输入 CSR  的页面,用文本编辑器打开刚才生成的 tomcat-yourdomain.csr 文件,把里面的文本内容复制粘贴到页面的表单里即可。SSL 证书商会根据你的域名发送一封验证邮件到域名注册者的Email(所以你要提前注意你的域名注册的Email地址是什么,如果是错误的话需要先修正,否则 收不到验证Email)。这个过程可能需要几分钟或者几小时,收到验证Email之后点击里面的链接地址就完成私钥签名了。

4、将证书导入 Tomcat Keystore

登录到你购买 SSL 的证书商,下载你的网站已签名的证书文件,在 GoDaddy 里你下载会得到一个压缩包,里面放有你的网站证书文件 yourdomain.com.crt,另外还有 GoDaddy 自己的证书(gd_cross_intermediate.crt,gd_intermediate.crt,gd_bundle.crt),这些都需要 导入 tomcat 的 keystore 里的。
GoDaddy 的官方教程有些许错误,经过实验发现正确的过程如下:
a、到这里下载 valicert_class2_root.crt 文件,并导入到 tomcat.keystore:

$ keytool -import -alias root -keystore tomcat.keystore -trustcacerts -file valicert_class2_root.crt

b、导入 gd_cross_intermediate.crt,gd_intermediate.crt 和你网站的证书 yourdomain.com.crt:

$ keytool -import -alias cross -keystore tomcat.keystore -trustcacerts -file gd_cross_intermediate.crt

$ keytool -import -alias intermed -keystore tomcat.keystore -trustcacerts -file gd_intermediate.crt

$ keytool -import -alias tomcat -keystore tomcat.keystore -trustcacerts -file yourdomain.com.crt

5、修改 Tomcat 配置并重启服务

编辑 Tomcat 的主配置文件 server.xml,在标准的 Connector 下面增加一个 HTTPS 的 Connector,如下:

<Connector port="443″ protocol="HTTP/1.1″ SSLEnabled="true"
    scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS"
    keystoreFile="/PATH/TO/YOUR/FILE/tomcat.keystore"
    keystorePass="123456″ />

需要注意这个 Connector 只适用于JIO和NIO类型,如果你的 Tomcat 使用了 APR,则应该参考 Apache Httpd 的证书签名过程(配置方法参考这里) 重启 Tomcat 之后,访问 https://yourdomain.com 应该能看到效果了。

6、其他Web服务程序的证书生成即签名方法

假如你的网站使用了 Apache Httpd、nginx 等Web服务程序,可以参考 GoDaddy 相应的官方文档

如何购买廉价 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

 

北京 上海 天津 重庆 河北 山东 辽宁 黑龙江 吉林 甘肃 青海 河南 江苏 湖北 湖南 江西 浙江 广东 云南 福建 海南 山西 四川 陕西 贵州 安徽 广西 内蒙古 西藏 新疆 宁夏 澳门 香港 台湾