关于https搭建过程中的一些名词及概念 - 1990bingliu/https_create GitHub Wiki

openssl生成的*.key,*.csr,*.crt都是什么,有什么用?

  • PKI PKI(Public Key Infrastructure ) 即"公钥基础设施"
  • root CAs 和intermediates CAs 、end-user CA 根证书签发中间证书,中间证书签发终端用户证书(在https中为server证书)
  • CA C(Certificate Authority)A是数字证书管理机构(权威的、公任的机构)
  • SSL证书 SSL(Secure Sockets Layer)证书是数子证书的一种,CA签发SSL证书
  • 自签证书 自己充当CA机构,签发SSL证书为自签证书
  • *.key文件 一般是openssl创建的私密或公密
  • .csr文件 csr(Certificate Signing Request)证书签名请求,用于向CA申请签名证书。csr的包含私钥信息,csr需要根据.key文件生成的。
  • *.crt文件 由CA签发的证书文件,输入csr+CA证书,输出crt(即end-used SSL证书或intermediates SSL证书)。如无CA证书签发的,则为自签ROOT证书

关于证书、单向验证、双向验证

证书(无客户端服务端之分)保存着ip信息、证书过期时间、证书所有者地址信息等。

  • 单向验证
 1、客户端保存着服务端的证书并信任该证书即可
 2、https一般是单向认证,这样可以让绝大部分人都可以访问你的站点。
  • 双向验证
 1、先决条件是有两个或两个以上的证书,一个是服务端证书,另一个或多个是客户端证书。
 2、服务端保存着客户端的证书并信任该证书,客户端保存着服务端的证书并信任该证书。这样,在证书验证成功的情况下即可完成请求响应。
 3、双向认证一般企业应用对接。