https 证书和认证流程

一、证书
1.1 信息验证和加解密

信息验证和加解密需要依靠公钥和私钥,公钥和私钥是由程序生成的两端有关联的信息。

  • 信息验证:现在要验证信息A传递给B,为了防止被比人篡改,可以用私钥签名信息A(用特定的程序把私钥和信息混合在一起,生成一段新的非人类能理解的数据)A1,然后将A和A1一起传递给B,然后B用公钥验证A1,验证通过则A没有被篡改。

  • 加解密:现在要验证信息A传递给B,已经对A进行签名,随意不怕被篡改,但是仍可以被其他人看见内容,此时可以对A用公钥进行加密,生成密文A2,然后将A1,A2传递给B,B用私钥可以解密A2还原为A

功能公私钥使用
信息验证私钥签名,公钥验签
加解密公钥加密,私钥解密
1.2 证书
  1. 解释:通俗的讲,就是能证明自己身份的东西,类似身份证。
  2. 作用:作用有两个。
    • 证明身份:证明你访问的网站是对的
    • 传递公钥:证书中包含了公钥,公钥是实现安全通信的关键,后面叙述。
1.3 证书的结构

主要包含6个信息

字段说明
Public-Key公钥,用于安全通信
Signature Algorithm签名算法,颁发机构签名时用的算法
Issuer颁发机构
Subject证书拥有者信息
Validity过期时间
最后部分签名,证书本身是被颁发机构签名过的,这里记录签名信息
1.4 验证证书
  1. 如何验证证书A的真伪,就像别人给你身份证,说我就是张三,可身份证也是可以伪造的,唯一的办法就是去公安局查一下就好了。证书也是如此,需要验证它的颁发机构,上面提到证书是由颁发机构签名的,所以用颁发机构的证书B(证书中存在公钥)就可以验证证书A,但是颁发机构也需要验证,如此循环反复,就会形成如下的验证链。

    证书A
    颁发机构B证书
    颁发机构C证书
    根证书

    证书链的终点就是根证书,根证书是系统中可以被信任的证书,不需要在验证。

  2. 说明

    • 根证书有时也是不安全,有时你会受到一些网站或不法分子的蛊惑,让你安装根证书,此时凡是验证链的终点是次根证书的网站都是不安全的。
    • 颁发机构证书:颁发机构证书一般都是一些知名机构的证书,会预装到你的电脑里,还有一些可能会由网站直接和证书一起传递给你。
二、https 认证流程

客户端A和服务端B进行通信,但不想被其他人知道通信内容怎么办?办法就是对信息加密,然后A,B持有相同的密码本,用于解密。类似于战争年代的电台通信。
https 建立主要两个过程

  • 验证证书:客户端A访问服务端B的时候,B会将自己的证书传给A,A要验证证书
  • 传递通信秘钥:也就是传递‘密码本’,由客户端A传递给服务端B
A B 请求建立https 传递证书 验证证书 生成通信秘钥 为了防止秘钥被其他人知道, 用证书中的公钥加密通信秘钥 传递加密后的通信秘钥 用与证书中公钥相关的私钥 解密“被加密的通信秘钥” 之后用通信秘钥加密信息 ,然后传递给A,A也是如此 A B
三、总结
  1. 获取证书:需要两步,第一步,用程序生成公私钥,第二步,将公钥交给颁发机构,私钥自己保留,颁发机构生成证书给你。
  2. https 建立流程实际上就是常说的的TLS流程
  3. https 是建立在http之上,所以先要建立http链接
  4. 双向认证:上述所述是单向认证,客户端验证服务端的证书,在一些情况下也会有双向认证,即增加服务端验证客户端证书的流程。
四、附言
  1. 常见的证书格式
格式说明
.der二进制数据的证书
.cer二进制数据的证书
.pem一种容器格式,可以将服务端证书,中间证书,公钥,私钥包含在一个文件中 。服务端证书和中间证书也可以分别存放在 .crt 和 .cer 两个文件中。私钥可以单独在一个 .key 文件中。使用 base64 编码二进制数据
.key.pem 格式只包含 公钥或私玥 的文件
.csr证书请求文件,证书签名请求是申请人向证书颁发机构发送的一条消息,用于申请数字身份证书。csr 最终变成为证书 crt,只是在交时候需要
.pfx .p12实际上就是将证书和私钥一并打包成一个文件,并且设置“提取密码”
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值