简介
阿里云为已实名的个人或企业每年提供20张免费的DV单域名证书,每个证书有效期一年,该配额每年12月31日重置,由知名CA机构Digicert签发。适合于部署到需要中长期使用且不方便使用acme自动证书脚本的环境中。
如果你的服务器能稳定长期运行,那么我更推荐使用自动化脚本来自动申请和部署证书。
看我的这篇文章来配置acme证书脚本:https://www.hash070.top/archives/acme-sh-note-2.html
申请证书
下单免费证书
官网链接:https://www.aliyun.com/product/cas
点击选购SSL证书,然后点击单域名证书,数量选择20,然后就可以点击购买按钮实现零元购了。
在控制台申请证书
在阿里云控制台,找到SSL证书(应用安全)
这一链接。
按如图所示点击就可以创建证书了
填写证书申请
点击证书申请按钮
然后填写你要申请的证书所覆盖的域名,验证方式一般使用DNS验证。
DNS如何设置过于简单这里就不讲了
这里着重说一下CSR生成方式
吧
CSR是Certificate Signing Request的英文缩写,即证书请求文件,也就是证书申请者在申请数字证书时由CSP(加密服务提供者)在生成私钥的同时也生成证书请求文件,证书申请者只要把CSR文件提交给证书颁发机构后,证书颁发机构使用其根证书私钥签名就生成了证书公钥文件,也就是颁发给用户的证书。
在你自己生成密钥后,你可以用自己的根证书来签名生成证书,但是这是不受其他应用认可的。想要获得权威机构颁发的证书,你就需要向CA机构递交申请,CSR相当于是一个申请表,你可以通过CSR在不泄漏自己密钥的情况下让CA机构在核实了你的身份后为你的私钥签发证书。
默认阿里云是自动为你生成密钥和CSR申请文件并自动递交申请与获取证书的。
在这种情况下,你的密钥和证书都经手并保存在阿里云,阿里云将有机会监控使用该证书加密的流量。
如果你不信任阿里云,你可以自己生成密钥后递交CSR申请书,阿里云允许通过这种方式申请证书,而在这种情况下,阿里云只有你的申请书和证书,证书离开了密钥什么都不是,所以这种情况下是最安全的。
阿里云官方文档:https://help.aliyun.com/document_detail/42218.htm
可以结合着我的OpenSSL笔记来看:https://www.hash070.top/archives/openssl-note.html
下面我就来演示一下如何生成一个证书密钥与CSR文件
自生成密钥与CSR示例
首先生成一个名为server.key
的4096位RSA密钥,4096已经是
密钥位数可以随便改变,位数越大越安全,但是会消耗更多的算力来加密和解密,会让网站变慢。
(你想搞多少位的密钥都行,只要你不嫌慢
openssl genrsa -out server.key 4096
然后用server.key
生成一个CSR申请表
openssl req -new -sha256 -key server.key \
-subj "/C=CN/ST=DEFAULT/L=DEFAULT/O=DEFAULT/CN=hash070.top" \
-reqexts SAN \
-config <(cat openssl.cnf <(printf "\n[SAN]\nsubjectAltName=DNS:要申请证书的域名")) \
-out server.csr
注意,这段命令的第四行的DNS:
后面写的域名一定要和证书绑定域名
一致。
第二行的CN=
后面的文字是该证书的名称,可以随便改。
然后使用cat命令获取该csr文件的内容,提交给阿里云就可以了。
审核通过后点击下载证书,解压压缩包就可以看到里面的证书文件了。