数字签名和证书
作用
验证身份。提供encrypt(身份,私钥) 和 公钥,可以证明是 对应私钥的所有者。
pk = public key
sk = secret key
流程
比如Alice 想和 Bob建立可信通信。
Alice 让 CA第三方机构 给自己身份和Alice_pk加密。
encrypt({Alice_id, Alice_pk}, CA_sa)Bob 用rootCA.crt 验证Alice.crt
Bob 从Alice.crt中取出Alice_pk, 并用Alice_pk解密消息
1 | openssl req -newkey rsa:2048 -nodes -keyout rootCA.key -x509 -days 365 -out rootCA.crt |
所有证书和私钥
- 服务端证书
- 服务端私钥
- 客户端证书
- 客户端私钥
- 服务端 CA根证书
- 客户端 CA根证书