博主的网站近期进行了重建,原有的证书因为失效,今天刚重新申请了一年的免费证书,就顺便记录下申请过程,需要的朋友可以看看。
证书是通过萌咖杂货商店(https://shop.moeclub.org)的AlphaSSL接口申请的,价格仅仅24.99RMB
相比官方的价格确实很划算了!
准备
前往萌咖杂货商店注册账号,并购买SSL证书的Token(Token只能使用一次,不要乱折腾),然后在我的服务中找到购买的AlphaSSL Apply Token
并记录下得到的Token
建立domain.com
(即:你的域名)
的域名邮箱,方法很多,这里就不多做介绍了!
为了确保证书的成功申请及下发,你的domain.com
解析中如果存在CNAME
和CAA
解析,请务必先暂停或者删除,MX
解析不要暂停或者删除哦,不然域名邮箱收不到邮件了!
注意:建好域名邮箱后,请先测试你的 admin@domain.com
是否能够正常收到邮件
申请证书
一、生成CSR及KEY
打开CSR在线生成工具(我这里用的是下面第一个,注意:*.domain.com
一定要在域名处,domain.com
应在备用域名处),按照提示填写好后点击生成
。
- 在线工具一:https://myssl.com/csr_create.html
- 在线工具二:https://api.moeclub.org/SSL/CSR
- 在线工具三:https://www.chinassl.net/ssltools/generator-csr.html
- 在线工具四:https://www.sslaaa.com/tools/csr-generator.php
成功生成后将CSR文件
和KEY文件
下载保存到本地。其中KEY文件
就是之后网站部署时的密钥KEY
,我们可以将其保存并更名为server.key.pem
生成CSR后建议通过 https://myssl.com/csr_decode.html 进行检测,确认申请的域名包涵domain.com
。
二、申请证书
打开证书申请API接口:https://api.moeclub.org/SSL,填写刚才生成得到的CSR
内容和在萌咖商店购买的Token
,点击Get AlphaSSL!
申请,然后等待返回 Success!...
的提示结果
三、邮箱验证
申请完成后你的admin@domain.com
邮箱会受到一封验证邮件。注意:确认邮件有可能延时送到,不要着急多等一会
打开邮件正文中的链接,点击I APPROVE
确认
验证完成后稍等一会,证书就会发送到你的域名邮箱,记录下其中SSL证书的PEM
信息即可。
补全证书链
说明:现在我们已经有了证书的KEY
和PEM
虽然已经可以使用了,但证书链是不完整的,在一些浏览器中依然会提示证书不受信任,无法验证的链接之类的,所以我们还需要补全一下证书再使用。补全证书链也很简单;
注意:KEY不用修改,我们只要补全PEM的证书信息即可
方法一(推荐使用)
仍然是使用证书申请API接口:https://api.moeclub.org/SSL,在填CSR
的框框内填上VIEW
,Apply Token
框内填上你购买及申请时使用的Token
,点击Get AlphaSSL!
, 即可看到申请的证书(已补全证书链)。
注意:此项操作如果未查询到证书,将会自动重发确认邮件
将获取的已补全证书链,粘贴到刚才邮件中收到的SSL证书的PEM
信息之后,保存为server.cert.pem
。至此server.key.pem
与server.cert.pem
就是domain.com
的一组完整配套的KEY与证书了。
方法二
将以下内容全部添加到PEM
信息后面即可;
-----BEGIN CERTIFICATE-----
MIIETTCCAzWgAwIBAgILBAAAAAABRE7wNjEwDQYJKoZIhvcNAQELBQAwVzELMAkG
A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv
b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw0xNDAyMjAxMDAw
MDBaFw0yNDAyMjAxMDAwMDBaMEwxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i
YWxTaWduIG52LXNhMSIwIAYDVQQDExlBbHBoYVNTTCBDQSAtIFNIQTI1NiAtIEcy
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2gHs5OxzYPt+j2q3xhfj
kmQy1KwA2aIPue3ua4qGypJn2XTXXUcCPI9A1p5tFM3D2ik5pw8FCmiiZhoexLKL
dljlq10dj0CzOYvvHoN9ItDjqQAu7FPPYhmFRChMwCfLew7sEGQAEKQFzKByvkFs
MVtI5LHsuSPrVU3QfWJKpbSlpFmFxSWRpv6mCZ8GEG2PgQxkQF5zAJrgLmWYVBAA
cJjI4e00X9icxw3A1iNZRfz+VXqG7pRgIvGu0eZVRvaZxRsIdF+ssGSEj4k4HKGn
kCFPAm694GFn1PhChw8K98kEbSqpL+9Cpd/do1PbmB6B+Zpye1reTz5/olig4het
ZwIDAQABo4IBIzCCAR8wDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8C
AQAwHQYDVR0OBBYEFPXN1TwIUPlqTzq3l9pWg+Zp0mj3MEUGA1UdIAQ+MDwwOgYE
VR0gADAyMDAGCCsGAQUFBwIBFiRodHRwczovL3d3dy5hbHBoYXNzbC5jb20vcmVw
b3NpdG9yeS8wMwYDVR0fBCwwKjAooCagJIYiaHR0cDovL2NybC5nbG9iYWxzaWdu
Lm5ldC9yb290LmNybDA9BggrBgEFBQcBAQQxMC8wLQYIKwYBBQUHMAGGIWh0dHA6
Ly9vY3NwLmdsb2JhbHNpZ24uY29tL3Jvb3RyMTAfBgNVHSMEGDAWgBRge2YaRQ2X
yolQL30EzTSo//z9SzANBgkqhkiG9w0BAQsFAAOCAQEAYEBoFkfnFo3bXKFWKsv0
XJuwHqJL9csCP/gLofKnQtS3TOvjZoDzJUN4LhsXVgdSGMvRqOzm+3M+pGKMgLTS
xRJzo9P6Aji+Yz2EuJnB8br3n8NA0VgYU8Fi3a8YQn80TsVD1XGwMADH45CuP1eG
l87qDBKOInDjZqdUfy4oy9RU0LMeYmcI+Sfhy+NmuCQbiWqJRGXy2UzSWByMTsCV
odTvZy84IOgu/5ZR8LrYPZJwR2UcnnNytGAMXOLRc3bgr07i5TelRS+KIz6HxzDm
MTh89N1SyvNTBCVXVmaU6Avu5gMUTu79bZRknl7OedSyps9AsUSoPocZXun4IRZZ
Uw==
-----END CERTIFICATE-----
方法三
使用在线工具:https://www.sslaaa.com/tools/get_chain 补全证书链,打开链接后将PEM
内容粘贴进去,点击补全证书链即可。
检查证书
使用OpenSSL校验证书文件与密钥文件是否匹配
注意:windows上需安装OpenSSL:http://slproweb.com/products/Win32OpenSSL.html ,并将安装位置bin
目录的文件路径添加到系统环境变量,使用CMD
输入openssl version
查看是否安装成功。
# 密钥文件 server.key.pem
# 证书文件 server.cert.pem
# 在证书目录中使用CMD,运行下面两行命令,结果输出一致则为匹配的证书
openssl x509 -in server.cert.pem -pubkey -noout -outform pem |openssl md5
openssl pkey -in server.key.pem -pubout -outform pem |openssl md5