AlphaSSL免费泛域名证书签发(现已不可用)

以下方法现已不可用,仅为留存参考


本地环境:macOS

AlphaSSL一年免费域名证书签发步骤

1、SSL证书申请

① 制作CSR

本地操作

$ openssl req -new -nodes -newkey rsa:2048 -keyout [your.server].key -out [your.server].csr

your.server改为自定义文件名,推荐改为域名如congm.in

运行上述命令后,将会填写域名信息:

  • Country Name:国家代号,中国填写 CN
  • State or Province Name:省份,比如填 Chongqing
  • Locality Name:城市,比如填 Chongqing
  • Organization Name:组织单位,比如填写公司或个人名称的拼音
  • Organizational Unit Name:领域(可不填)
  • 【重要】Common Name (eg, your websites domain name):需要签发的域名,泛域名则填写 *.[your.server],如 *.congm.in
  • Email Address:邮件地址(可不填)
  • A challenge password:(可不填)
  • An optional company name:(可不填)

若上述命令就会生成两个文件[your.server].key[your.server].csr。请妥善保存这两个文件,并且请不要泄露[your.server].key私钥文件。

② 提交CSR
$ cat [your.server].csr

打开 https://assl.loovit.net ,复制上一命令显示出的csr内容填入签发证书的表单中(Paste your CSR below);

然后填写用于接受证书的邮箱地址Email Address);

最后点击验证Verify按钮。

③ 验证域名

选择域名验证方式,一般是可选择购买域名whois中填写的邮箱。

若未出现whois填写的邮箱,则需要对类似admin@[your.server]的邮箱进行验证(可配置企业邮箱进行验证)

系统将对上述选择的邮箱发送验证邮件,验证成功后签发的证书将会发送至填写表单时的邮箱

④ 生成证书文件

编辑一个空的文件

$ vim [your.server].crt
获取证书的公钥:

将接受证书的邮件最底部的SSL CERTIFICATE粘贴至[your.server].crt

获取中间证书

进入 https://www.alphassl.com/support/install-root-certificate.html ,获取SHA-256版的中间证书,同样将其粘贴至[your.server].crt最后面,实现公钥和中间证书的合并。

最后证书文件[your.server].crt的格式为:

-----BEGIN CERTIFICATE-----
MIIHP...【证书公钥】已省略...M/wU=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIET...【中间证书】已省略...ZUw==
-----END CERTIFICATE-----

接下来就是将[your.server].crt[your.server].key
文件配置进服务器,并开启SSL。

2、配置服务器SSL

举例nginx,在nginx目录/etc/nginx中创建ssl文件夹用于存放[your.server].crt公钥、[your.server].key私钥、[your.server].ssl.conf配置文件,然后可进行如下配置:

server {
    listen 443 ssl;
    server_name [your.server];

    include ssl/[your.server].ssl.conf;
    # 将ssl.conf提出,更适合泛域名证书的通用
    # ...
}
# ssl/[your.server].ssl.conf
ssl on;
ssl_certificate ssl/[your.server].crt;
ssl_certificate_key ssl/[your.server].key;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
ssl_prefer_server_ciphers on;

最后,让配置生效:

$ nginx -s reload

Then. Enjoy it!