zoukankan      html  css  js  c++  java
  • HTTPS加密通信原理及数字证书系统

    https加密通信原理:

      公钥私钥成对,公钥公之于众,私钥只有自己知道。

      用公钥加密的信息只能由与之相对应的私钥解密。

      甲给乙发送数据时,甲先用乙的公钥加密这段数据,再用自己的私钥对这段数据的特征数据(数字指纹,通过HASH函数生成)进行RSA运算形成签名。乙接到数据后,先用自己的私钥解密数据,并用甲的公钥对甲的签名进行验证(解出数字指纹,与接收到的数据的数字指纹做对比)。如此,可保证发信人无法抵赖曾发过该信息,也确保报文在传递过程中不会被篡改。

    CA证书:

      CA证书是指CA颁发给用户的证书,其中包含用户信息、用户公钥、CA的签名。

      网上公众用户都信任CA(签证机关),也知道CA公钥(下载CA自己的证书,其中包含有CA信息和CA公钥)。

      用户想得到一个CA证书时,向CA申请。CA判明申请者身份后,为他分配一个公私钥对,并且将该公钥与申请者的身份信息绑在一起,用CA私钥为之签名,便形成证书发给申请者。申请者自己保管私钥,不对外公开。

      CA证书实际是CA签发的对用户公钥的认证。

      用户收到一个证书,想确认是不是CA证书,就使用CA公钥验证该证书的签名,验证通过,就认为该证书是CA证书,证书中的用户信息和用户公钥是经过CA认证的,是可信的。

    根证书:

      CA自己的证书,其中包含CA自己的公钥。用户因信任这个证书,信任其有中的公钥,才信任使用此公钥验证的签名。

      这个证书是信任链的根,是自证明的。

  • 相关阅读:
    mysql 中只能使用 localhost 登录,用ip不能登陆
    在springboot 和 mybatis 项目中想要显示sql 语句进行调试
    从一张表数据导入到另一张表
    mysql 中 delete 子查询的限制
    配置eureka 老是报错connected time out 或者 refused connected
    Linux-TCP 出现 RST 的几种情况
    MySQL-优化之 index merge(索引合并)
    Python-Mac 安装 PyQt4
    PHP-PHP-FPM的max_children一些误区
    Linux-磁盘及网络IO工作方式解析
  • 原文地址:https://www.cnblogs.com/sekon/p/6497879.html
Copyright © 2011-2022 走看看