一、证书作用

证书验证的过程是使用非对称加密的,客户端对服务器端发起请求,服务器返回一个证书,客户端验证这个证书的合法性,如果这个证书是合法的,那么就生成一个随机值,利用这个随机值作为对称加密的钥匙

二、证书包含的信息

公钥;
持有者信息;
证书认证机构(CA)的信息;
数字签名及使用的算法;
证书有效期;
额外信息;

为了让服务端的公钥被大家信任,服务端的证书都是由 CA (Certificate Authority,证书认证机构)签名的,CA 就是网络世界里的公安局、公证中心,具有极高的可信度,所以由它来给各个公钥签名,信任的一方签发的证书,那必然证书也是被信任的。

之所以要签名,是因为签名的作用可以避免中间人在获取证书时对证书内容的篡改

三、数字证书签名流程

首先 CA 会把持有者的公钥、用途、颁发者、有效时间等信息打成一个包,然后对这些信息进行 Hash 计算,得到一个 Hash 值;

然后 CA 会使用自己的私钥将该 Hash 值加密,生成 Certificate Signature,也就是 CA 对证书做了签名;

最后将 Certificate Signature 添加在文件证书上,形成数字证书

四、证书验证流程

首先客户端会使用同样的 Hash 算法获取该证书的 Hash 值 H1;

通常浏览器和操作系统中集成了 CA 的公钥信息,浏览器收到证书后可以使用 CA 的公钥解密 Certificate Signature 内容,得到一个 Hash 值 H2 ;

最后比较 H1 和 H2,如果值相同,则为可信赖的证书,否则则认为证书不可信

非对称加密的算法:RSA、Elgamal、背包算法、Rabin、D-H、ECC (椭圆曲线加密算法)

Https的CA证书是如何验证其有效性的?相关推荐

  1. HTTPS中CA证书的签发及使用过程

    1,HTTPS 简单来讲,HTTPS (Secure Hypertext Transfer Protocol)安全超文本传输协议就是安全的HTTP,我们知道HTTP是运行在TCP层之上的,HTTPS在 ...

  2. https及ca证书

    非对称算法个人理解主要解决两个问题,无论是https协议中用到的还是区块链交易中使用的: 1.通过私钥加密,公钥解密,证明身份,比如证明消息是由某个网站发出的: 2.通过公钥加密,私钥解密,进行安全传 ...

  3. HTTPS及CA证书详解

    https目录 HTTPS 术语解释 1. HTTP 2. SSL/TLS(Secure sockets Layer/transport layer security) 3. HTTPS 4. 对称加 ...

  4. https原理:证书传递、验证和数据加密、解密过程解析 (转)

    http://www.cnblogs.com/zhuqil/archive/2012/07/23/2604572.html 我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取.所以很多银行网站 ...

  5. HTTP HTTPS 创建CA证书

    目录 http 1.安装apache环境依赖 2.基本设置 3.配置主文件 4.配置完重启HTTP生效 https的实现 1.安装专门的mod_ssl模块 2.申请CA证书 3.编辑.conf配置文件 ...

  6. php微信小程序项目本地调试https和CA证书问题

    项目场景: 提示:这里简述项目相关背景: 微信小程序和PHP项目本地调试 1.问题描述 "不在以下 request 合法域名列表中"导致无法进行. 解决方案: 提示:右上角详情按钮 ...

  7. nodejs中https和ca证书

    绝大部分demo和姿势都可以在nodejs官网查看到.可以多多查阅 自签名的证书生成(不推荐2333) openssl genrsa -out server.key 2048//这是秘钥 openss ...

  8. 本地局域网HTTPS解决方案 CA证书

    本地局域网HTTPS访问web站点解决方案 windows平台安装mkcert linux平台安装mkcert 使用证书 windows平台安装mkcert 安装choco powershell管理员 ...

  9. Android https 自签名和CA证书验证(基于OkHttp)

    Android HTTPS自签名和CA证书验证(基于OkHttp) HTTPS介绍 CA证书 自签名证书 问题描述 域名校验 OkHttp设置 总结 HTTPS介绍 HTTPS是一种通过计算机网络进行 ...

最新文章

  1. #ifdef __cplusplus
  2. VC++非MFC项目中使用TRACE宏
  3. Linux学习:目录遍历函数
  4. Java DES 加解密(DES/CBC/PKCS5Padding)
  5. 抖音起诉腾讯垄断 要求停止封禁并索赔9000万元
  6. 股市太火 !“牛市”搜索热度暴涨9倍:80后疯狂开户
  7. ssm医院疫情隔离室管理系统答辩PPT模板
  8. keras_contrib安装
  9. Aiseesoft Data Recovery for mac(专业数据恢复软件)
  10. elasticsearch 中文分词
  11. 动态规划经典题目_「动态规划经典算法」本周总结(二)
  12. echarts 图表数据更新方式
  13. EnableViewState和ViewStateMode差别详解
  14. 判断多边形是凹多边形还是凸多边形,以及求凹点
  15. input获取焦点vue_在Vue中输入框自动获取焦点的三种方式
  16. 敏捷ACP 常用关键词整理 敏捷ACP 常用知识点整理
  17. R语言进阶之3:数据汇总/透视/提炼
  18. mongrel cluster
  19. Altium Designer原理图的几种连接线方式
  20. Excel 2010打开两个窗口,可以分开拖动

热门文章

  1. hive 中 order by、sort by、distribute by 、cluster by 区别
  2. 【华为OD机试真题2023B卷 JS】磁盘容量排序
  3. MFC自定义右上角关闭按钮功能
  4. AndroidManifest.xml文件配置教程及相关指令详解
  5. eclipse文件比较
  6. 【牛客网-前端笔试题】——Javascript专项练习3
  7. c语言中字节 字 位 bit,bit的意思是____。
  8. 解决ValueError: Expected 2D array, got 1D array instead
  9. OpenAirInterface (OAI) 应用场景
  10. Oracle数据表误删恢复历险记