证书配置说明
由于音视频使用webrtc,而chrome仅仅需要支持https的网站使用webRTC.因为web端需要支持https.本文主要说明如何利用证书文件生成jks
.
免费泛域名域名证书申请
note
以下使用unbutu18.04进行申请
安装Certbot
- 添加软件源
- 安装 Certbot
签发泛域名证书
note
注意,以上命令需要全部复制,在终端中一起执行
certonly
,获取或更新证书,但是不安装到本机--email
,接收有关账户的重要通知的邮箱地址,非必要,建议最好带上--agree-tos
,同意 ACME 服务器的订阅协议--preferred-challenges dns
,以 DNS Plugins 的方式进行验证--server https://acme-v02.api.letsencrypt.org/directory
,指定验证服务器地址为 acme-v02 的,因为默认的服务器地址是 acme-v01 的,不支持通配符验证--manual
,采用手动交互式的方式验证--d lattecloud.cc
,指定要验证的域名。注意,不带 www 的一级域名 lattecloud.cc和通配符二级域名 .lattecloud.cc 都要写,如果只写 .lattecloud.cc ,生成的证书是无法识别 lattecloud.cc 的
命令执行后终端返回信息如下,询问是否同意记录申请证书服务器的 IP ,输入 Y
,回车
回车后终端中返回信息如下,要求创建一条 TXT 记录,以验证域名归属。在域名服务商处添加相应的 TXT 记录,并验证是否解析成功。可以在另一个 SSH 窗口中执行 dig -t txt _acme-challenge.lattecloud.cc @8.8.8.8
命令查看域名解析情况,如果 ANSWER SECTION 中有 _acme-challenge.lattecloud.cc. 299 IN TXT "73kvVAMvFGenzJE_spiVbDV2Ivpz3tGnDJT8UObQxdE" ,说明解析生效。解析生效后回车,进行下一步:
回车后终端返回信息如下,要求再添加一条 TXT 记录。因为我们实际要为 lattecloud.cc
和 *.lattecloud.cc
两个域名签发证书,因此需要添加两条 TXT 记录。添加完记录后验证是否生效,生效后回车进行域名验证和证书签发。注意,添加此条 TXT 记录时不要修改、删除之前的 TXT 记录,两条记录都要保持生效状态:
签发的泛域名证书有效期为三个月,证书到期前需要续签证书。证书路径如下
申请证书
note
这里采用的是开源项目进行申请,避免操作dns.注意au.sh
要填写绝对路径
- cert-apply
- cert-apply-result
域名续期
校验续期
脚本续期
note
这里采用一个开源项目提供的脚本续期,避免手动添加dns解析,具体配置参见certbot-letencrypt-wildcardcertificates-alydns-au
Dry-Run
- dry-run
- dry-run-result
正式续期
- renew
- renew-result
生成JKS
warning
服务端证书更新 当刷新了证书,服务端Jks也需要更新,使用KeyManager
,使用格式转换工具,导入fullchain.pem,private.key即可
KeyManager通过Cert生成jks
- keytool 显示jks详细信息
- 生成truststore.jks
note
公钥证书即为certbot生成的路径如下: /etc/letsencrypt/live/comsince.cn/cert.pem