数字证书是什么?

ECC证书和RSA证书有什么区别?ECC证书里的ECC是什么?数字证书跟HTTPS有什么关系?数字证书有什么用?HTTPS有什么用?HTTPS为什么离不开数字证书?下面几篇文可能会对你有帮助:

传输层安全协议

随处可见的公钥证书

Example Handshake Traces for TLS 1.3

Using TLS 1.3 with HTTP/2

The Transport Layer Security (TLS) Protocol Version 1.2

HTTPS 温故知新(一)

HTTPS权威指南在服务器和Web应用上部署SSL TLS和PKI

ECC证书和RSA证书

Keyless SSL: The Nitty Gritty Technical Details

开始使用 ECC 证书


申请数字证书

1.安装 curl 。不使用standalone模式,不用安装socat

1
apt install curl -y

2.安装 acme.sh

1
curl https://get.acme.sh | sh

3.将DNS解析商的 API KEY 加入临时系统变量 如何获取 API key ?

1
2
3
4
export GD_Key="****"   # 填写GoDaddy的KEY

export GD_Secret="****" # 填写GoDaddy的Secret


4.开始获取通配符证书

1
~/.acme.sh/acme.sh --issue -d xyz.com -d *.xyz.com --dns dns_dg --log -k ec-256 --server letsencrypt

要把 xyz.com 替换成你的域名。--server letsencrypt 表示证书颁发机构(CA)是letsencrypt,你也可以换成别的。-k ec-256 代表公钥的产生过程与椭圆曲线密码学(Ellipse Curve Cryptography)有关,公钥的长度是256位。


证书成功签发后,你能看见以下内容

1
2
3
4
5
6
-----END CERTIFICATE-----
[Sun Jul 5 02:35:19 UTC 2020] Your cert is in /root/.acme.sh/xyz.com/xyz.com.cer
[Sun Jul 5 02:35:19 UTC 2020] Your cert key is in /root/.acme.sh/xyz.com/xyz.com.key
[Sun Jul 5 02:35:19 UTC 2020] The intermediate CA cert is in /root/.acme.sh/xyz.com/ca.cer
[Sun Jul 5 02:35:19 UTC 2020] And the full chain certs is there: /root/.acme.sh/xyz.com/fullchain.cer

站点证书、证书密钥 、中间证书(CA证书)和完整证书链均保存在 /root/.acme.sh/xyz.com/ 目录下


xyz.com.cer 是站点证书, 站点证书能证明证书上的公钥属于 xyz.com 这个网站 ,它只适合用在 xyz.com 一个网站上。xyz.com.key 是私钥(证书密钥 )。ca.cer 是中间证书和根证书。fullchain.cer 是完整证书链,它包含了 ca.cerxyz.com.cer ,它对几个不同的网站都有效。


吊销数字证书

无用的证书可手动吊销

1
acme.sh --revoke -d xyz.com -d *.xyz.com --ecc