一般来说,证书中包含自己的公钥以及额外的信息,如签发机构(CA, Certificate Authority), 证书用途(比如适用的域名)和有效时间等....生成证书签名请求
证书签名请求(Certificate Signing Request)通常以.csr为后缀, 包含了请求方的公钥和主体的详细信息, 如域名,公司名,国家,城市等信息, 其完整内容可以参考这里...一般来说, 如果是自己随便生成自签名证书, 都是会被认为是不可信的, 除非对方也将其添加到信任CA证书列表中....查看和验证证书
CA对csr进行签名后, 我们就能得到对应的证书, 这里是pppan.crt, 可以用openssl查看证书的详细信息:
openssl x509 -noout -text -in pppan.crt...我想说的是, 这一切信任机制的基石是对于CA的信任, 如果说CA的私钥泻露,或者我们错误地信任了一个坏CA, 那么https的隐私性也就不复存在了, 因为其可能对无效的csr进行签名, 从而使得https