免费的泛域名证书申请,以及证书格式转换

免费的泛域名证书申请,以及证书格式转换,第1张

本博客针对的是泛域名证书申请(三个月)以及申请后的证书格式转换。申请的证书只有三个月有效期,到期可以续期。泛域名证书会包含一个主域名以及其所有的二级域名,或者某个二级域名对应的所有三级子域名,如:example.com 以及 .example.com或者xxx.example.com与 .xxx.example.com。

如果你只是想要一个单域名证书,可以选择华为或阿里提供的证书服务(1年)。以华为为例:在证书管理中–购买证书类型(DV Basic)–证书品牌(DigiCert) –证书类型(单域名证书) ;接着在证书列表里点击”申请证书”绑定你的域名,绑定过程中需要你添加一条TXT解析记录,用于域名所有权的验证。单域名的申请此处不做详细介绍。

找一台linux系统的主机,在上面执行:

该脚本需要访问github,由于国内的网络原因,可能需要执行多次才能成功,直到执行结果出现,如下图所示表示成功:

安装完后执行以下脚本申请证书:

执行后会拿到两条Domain&TXT value,将其添加到你的域名TXT解析中。

两条TXT解析添加完成后,将acme.sh脚本再次执行,这次在脚本后添加 --renew 参数:

申请完成的证书放置在~/.acme.sh/example.com/目录下:

申请完成后将证书配置到nginx服务:

在nginx.conf中配置启用ssl

在工作中经常会遇到的两类证书:jks与(pem/crt)。jks是JAVA KeyStore缩写,可以被java/tomcat等可识别的证书。而pem/crt则是apache、nginx、openssl可识别的证书。很多时候需要在两种格式之间转换。

需要用到epenssl以及java自带的keytool工具:

example.com.jks就是我们想要的能被java直接识别的证书啦~

将上面的段落另外为jks2crt.sh,并授予执行权限,chmod +x jks2crt.sh

./jks2crt.sh [证书路径] [证书自定义密码]

其他证书格式

PEM – Privacy Enhanced Mail,打开看文本格式,以”—–BEGIN…”开头, “—–END…”结尾,内容是BASE64编码,Nginx和Apache偏向于使用。

DER – Distinguished Encoding Rules,打开看是二进制格式,不可读,Java和Windows偏向于使用

CRT – CRT应该是certificate的三个字母,其实还是证书的意思,常见于类UNIX系统,有可能是PEM编码,也有可能是DER编码,大多数应该是PEM编码,可读的(cat)。

CER – 还是certificate,还是证书,常见于Windows系统,同样的,可能是PEM编码,也可能是DER编码,大多数应该是DER编码。

Let’s Encrypted的证书只有三个月的免费期, 使用acme.sh脚本可实现自动更新https证书。以阿里云为例,申请域名为 me2you.online泛域名

1、安装curl https://get.acme.sh | sh

2、运行命令后在当前用户目录下生成目录.acme.sh,并自动增加crontab内容。

3、acme.sh建议使用DNS验证方式,在阿里云的账户配置ID和Secret。

不同DNS的证书配置方式见 ~/.acme.sh/dnsapi/README.md

以阿里云为例

在登陆界面的命令行输入

[root@demo ~]$ export Ali_Key="xxx"

[root@demo ~]$ export Ali_Secret="xxx"

信息会在~/.acme.sh/account.conf 文件记录, 以备下次使用。

4 生成泛域名证书

acme.sh --issue --dns dns_ali -d me2you.online -d *.me2you.online

5\查看证书

[ngx@demo .acme.sh]$ acme.sh --list

5、安装证书

acme.sh --install-cert -d me2you.online \

--key-file /application/nginx/certs/me2you.online/me2you.online.key \

--fullchain-file /application/nginx/certs/me2you.online/me2you.online.cer \

--reloadcmd "/application/nginx/sbin/nginx -s reload"

命令的参数会被记录下来, 下次证更新的时候会自动运行。

6、 nginx成功测试

其它说明:

7、删除证书

acme.sh --remove -d *domain.com

8、目前由于acme协议和Let’s Encrypt CA都在频繁的更新,因此acme.sh也经常更新以保持同步,如果需要更新acme.sh版本的话,通过以下方式即可更新版本:

1.手动更新: acme.sh --upgrade

2.自动更新: acme.sh --upgrade --auto-upgrade ,之后acme.sh就会自动保持更新。

3. 关闭自动更新: acem.sh --upgrade --auto-upgrade 0

1、首先,没有永久的证书,CA规定所有证书不能超过3年!EV、OV不能超过2年,就必须要重新进行核验,因为CA无法确保一个正规的网站,永远都正规!

2、免费SSL证书本身存在问题,比如根证书的不信任,滥发的情况很严重!

3、SSL公网加密信息是公开的,拿到后只是看起来有这样的效果,却没有加密的真正意义!

4、在谷歌、必应对应滥发验证的证书根或者中级证书,对应域名将进行不收录或降低收录的惩罚!

5、对于滥发验证的证书根,里面的网站那可是五花八门,对你网站本身的信任度就已经降低!

6、注:如果您是企业或者商用,请选择机构或淘宝选择正规CA签发!个人可以作为学习作用,不过对于SEO优化的朋友不适合。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/403096.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存