去freessl.org申请免费ssl服务器证书

去freessl.org申请免费ssl服务器证书

来源: 本文链接 来自osnosn的博客
写于: 2019-03-30.

以下是正文。
访问 freessl.org,它会跳到 freessl.cn,这两站是一样的:


填入你要申请的域名,比如test.org,选择一个免费产品。(我为了偷懒,选了个最长的,一年)



填入你的邮箱,似乎没什么用。我猜,可能快到期了,会发封邮件提醒你吧。
选择证书类型:

  • RSA,传统算法。优点,支持好,老的客户端也支持。缺点,2048以下的都不算安全。密钥比较大,加密计算慢点(对比ECC)。
  • ECC,新算法,椭圆曲线。优点,密钥小,计算快。缺点,老客户端可能不支持。不过这年头,没什么老客户端了。

选择验证类型:

  • DNS,要把验证字符串,写入指定域名的TXT记录。
  • 文件验证,把验证字符串,写入你的web服务器的,指定的路径的,文件中。

CSR生成:

  • 离线生成,你的浏览器需要装个插件(KeyManager 1.2.14以上版本),我没装,所以没用过。
  • 浏览器生成,edge,chrome,safari,ie11,都支持。唯独Firefox不支持。其他版本的ie,我不知道。但ie6肯定不支持。
  • 我有CSR,自己用openssl生成一个证书请求,上传给它。这个请求有什么要求,不清楚,没试过。

"点击创建",不会跳出新页面。下拉当前页面,在底下。



如果你选择DNS验证,就是这个页面。
就是给域名 _dnsauth.test.org 创建一个TXT记录。
用linux命令 dig _dnsauth.test.org txt 能显示那个验证字符串。
如何设置DNS的TXT记录,可以参考别人的文章
配置好TXT记录之后,可能生效需要一点时间(好几分钟)。不要着急点中间的"点击验证",先点页面右下角的"配置完成,检测一下"
因为,"检测一下" 可以多次检测。中间的"点击验证" 失败的话,似乎又要重头搞一遍。



验证结果,不需要全绿,只要有一个绿的(匹配),你就可以去点之前那个页面中间的"点击验证",生成证书了。




如果你选择文件验证,就是这个页面。
去你的网站,按照要求建立目录,文件,然后把验证字符串写入文件fileauth.txt中。
图片中的例子中,文件路径是 /.well-known/pki-validation/fileauth.txt,第一个目录是开头。
你的网站可以是运行在80口(http),
也可以是运行在443口(https),先自己搞个自签名证书用着 ,不影响验证。
网站运行在其他非标准端口的,验证不支持
验证前,可以自己用浏览器访问一下,看能否成功。



同样,"检测一下"的页面,只要有一行绿的(匹配),就OK。你就可以去点击"点击验证",去生成证书了。

最终,你会得到三个内容(PEM格式),CA证书服务器证书服务器密钥
你可以把它们分别保存为三个文本文件: ca.pem , server.pem, private.key
"下载证书" 会得到一个 full_chain.pem,其实就是 server.pem+ca.pem,server在上(前),ca在下(后)。

如需要,参考以下证书格式转换的指令:

查看/打印 pem 证书
openssl x509 -in ca.pem -text -noout
openssl x509 -in server.pem -text -noout
把 pem 转为 der 格式,(证书,密钥)
openssl x509 -outform der -in server.pem -out server.cer 服务器证书。
openssl rsa -in private.key -outform der -out server_key.cer 服务器密钥。
把 pem 转为 P12 格式(pfx),(证书,密钥),友好名称不支持utf8中文
openssl pkcs12 -export -out server.p12 -inkey private.key -in serverpem -certfile ca.pem -caname"ca friendly name" -name "friendly name"
把 p12 转 jks,
用java的 keytool 工具转换/导入
把 pem 转 pkcs#7 格式,(证书)
openssl crl2pkcs7 -nocrl -certfile server_cert.pem -out server.p7b

至于怎么配置到你的web站上(apache,nginx,iis,tomcat,...),不在本文范围。请自行搜索。

freessl.org 官网上有"常见问题"的链接,各种说明比较详细。

如果你的证书暂时不能成功验证,可以登陆之后找到未验证成功的订单。
其中TrustAsia的订单有效期为1天,Let‘s Encrypt的订单有效期为30分钟

转载请注明来源。
来源: 本文链接 来自osnosn的博客
-------------end----------------

原文地址:https://www.cnblogs.com/osnosn/p/10627969.html