首页 > 其他分享 >(bp代理)证书--->证书概念和工作流程

(bp代理)证书--->证书概念和工作流程

时间:2023-07-30 10:45:40浏览次数:33  
标签:公钥 end 证书 CA --- bp user certificates

问题:在浏览器和bp中分别设置代理后(此时bp正在监听此浏览器代理端口),用浏览器访问百度网站出现连接不安全问题

原因:没有在浏览器安装证书

解决:

安装bp证书方法:

way1.bp代理软件proxy中options选项export cetificate,再到浏览器中(设置中搜证书选证书颁发机构)再import 

way2:开了浏览器代理后搜http://后下载certificate再导入(同上)浏览器中

 

 

  • 基本概念
    • 证书
    • CA
    • Signing & Verification
  • 证书链
    • end-user certificates & intermediates certificates
    • root certificates
  • 其他

证书是用来认证公钥持有者的身份的电子文档,防止第三方进行冒充。一个证书中包含了公钥、持有者信息、证明证书内容有效的签名以及证书有效期,还有一些其他额外信息

由证书中心(Certificate authority,简称CA)签发的

这两个过程也是基于公钥与私钥的,签发和认证的过程跟传输信息过程中的加密解密过程非常类似

签发证书的步骤:

  1. Signing阶段,首先撰写证书的元信息:签发人(Issuer)、地址、签发时间、过期失效等;当然,这些信息中还包含证书持有者(owner)的基本信息,例如owner的DN(DNS Name,即证书生效的域名),owner的公钥等基本信息。
  2. 通过Issuer(CA)的证书指定的Hash算法将信息摘要提取出来;
  3. Hash摘要通过Issuer(CA)私钥进行非对称加密,生成一个签名密文;
  4. 将签名密文attach到文件证书上,使之变成一个签名过的证书。

验证证书的步骤:

  1. Verification阶段,浏览器获得之前签发的证书;
  2. 将其解压后分别获得“元数据”和“签名密文”;
  3. 将Issuer(CA)的证书指定的Hash算法应用到“元数据”获取摘要A;
  4. 将"签名密文"通过Issuer(CA)的公钥解密获得摘要B。
  5. 比对摘要A和摘要B,如果匹配,则说明这个证书是被CA验证过合法证书,里面的公钥等信息是可信

 

在Verification阶段,解密Signature获得摘要需要通过签发者(Issuer)的公钥,又该如何获得这个公钥,同时确保这个公钥是有效的呢?--->证书链

实例:

我们探究baidu使用的HTTPS证书,除了HTTPS使用的 baidu.com 证书,向上还有两级证书,证书有3类:

  • end-user :baidu.com 包含用来加密传输数据的公钥的证书,是HTTPS中使用的证书
  • intermediates:CA用来认证公钥持有者身份的证书,即确认HTTPS使用的end-user证书是属于baidu.com的证书。这类intermediates证书甚至可以有很多级。
  • root:用来认证intermediates证书是合法证书的证书。

简单来说,end-user证书上面几级证书都是为了保证end-user证书未被篡改,保证是CA签发的合法证书,进而保证end-user证书中的公钥未被篡改。

end-user certificates & intermediates certificates

我们使用end-user certificates来确保加密传输数据的公钥(public key)不被篡改,而又如何确保end-user certificates的合法性呢?这个认证过程跟公钥的认证过程类似,首先获取颁布end-user certificates的CA的证书,然后验证end-user certificates的signature。一般来说,root CAs不会直接颁布end-user certificates的,而是授权给多个二级CA,而二级CA又可以授权给多个三级CA,这些中间的CA就是intermediates CAs,它们才会颁布end-user certificates。

但是intermediates certificates的可靠性又如何保证呢?这就是涉及到证书链,Certificate Chain ,链式向上验证证书,直到Root Certificates,如下图:

 

就是下面的证书链的内容

root certificate来源

device(例如浏览器,操作系统)都会内置一些root certificates,称之为trusted root certificates,https://support.apple.com/en-us/HT202858 ,在Apple的官网上可以看到这个列表,有各个操作版本直接内置的Root Certificates

最后一个问题,为什么需要证书链这么麻烦的流程?Root CA为什么不直接颁发证书,而是要搞那么多中间层级呢?找了一下,godaddy官方给了一个答案,为了确保root certificates的绝对安全性。我们可以想想,如果根证书的私钥泄露了,所有使用该证书认证的设备都将变得不安全,影响太大,所以通过intermediates certificates给网站颁发证书,假如某个intermediates certificates的私钥泄露了,只会影响这一个intermediates certificates颁发的证书的信用,影响要小很多

 

标签:公钥,end,证书,CA,---,bp,user,certificates
From: https://www.cnblogs.com/betty-123/p/17591051.html

相关文章

  • 用bp代理抓取手机app包
    需要一个模拟器(夜神模拟器)配置代理,bp配置代理,贴别的是模拟器需要代理的证书1.获取bp证书,再bp中proxy选项中可export然后保存好代证书(原本是der格式的)2.再模拟器中配置代理(ip为本机wlan的ip)3.模拟器中添加代理证书,把bp的代理证书导入到用户凭据中(注意!!!der后缀改为cer)......
  • 国产MCU-CW32F030开发学习-BH1750模块
    国产MCU-CW32F030开发学习-BH1750模块硬件平台CW32_48F大学计划板CW32_IOT_EVA物联网开发评估套件BH1750数字型光照强度传感器BH1750BH1750是一款数字型光照强度传感器,能够获取周围环境的光照强度。其测量范围在0~65535lx。lx勒克斯,是光照强度的单位。BH1750可用于调节......
  • 国产MCU-CW32F030开发学习--移植rtthread-nano
    国产MCU-CW32F030开发学习--移植rtthread-nano硬件平台CW32_48F大学计划板CW32_IOT_EVA物联网开发评估套件RT-ThreadNanoRT-ThreadNano是一个极简版的硬实时内核,它是由C语言开发,采用面向对象的编程思维,具有良好的代码风格,是一款可裁剪的、抢占式实时多任务的RTOS。......
  • STM32案例学习 GY-39环境监测传感器模块
    STM32案例学习GY-39环境监测传感器模块硬件平台野火STM32F1系列开发板正点STM32F1系列开发板STM32F103ZET6核心板GY-39环境监测传感器模块GY-39环境监测传感器模块GY-39是一款低成本,气压,温湿度,光强度传感器模块。工作电压3-5v,功耗小,安装方便。其工作原理是,MCU......
  • 国产MCU-CW32F030开发学习-圆形GC9A01_LCD模块
    国产MCU-CW32F030开发学习-圆形GC9A01_LCD模块硬件平台CW32_48F大学计划板CW32_IOT_EVA物联网开发评估套件1.28寸圆形彩色TFT显示屏高清IPS模块240X240SPI接口GC9A01产品介绍1.28寸圆形IPS彩屏,支持RGB65K色显示,显示色彩丰富240X240分辨率,显示清晰IPS全视角面板,超......
  • mybatis-puls的使用
    MyBatisPlus简介无侵入:只做增强不做改变,不会对现有工程产生影响强大的CRUD操作:内置通用的Mapper,少量配置即可实现CRUD操作支持Lambda:编写查询条件无需担心字段写错支持主键自动生成内置分页插件所需的依赖<dependency><groupId>com.baomidou</groupId><a......
  • PHP8的数据类型-PHP8知识详解
    在PHP8中,变量不需要事先声明,赋值即声明。不同的数据类型其实就是所储存数据的不同种类。在PHP8.0、8.1中都有所增加。以下是PHP8的15种数据类型:1、字符串(String):用于存储文本数据,可以使用单引号或双引号来定义字符串。2、整数(Integer):用于存储整数值,可以是正数、负数或零。3、浮点数(F......
  • 大学生用一周时间给麦当劳做了个App(iOS-SwiftUI版)
    背景有个大学生粉丝最近私信联系我,说基于我之前开源的多语言项目做了个仿麦当劳的项目,虽然只是个样子货,但是收获颇多,希望把自己写的代码开源出来供大家一起学习进度。这个小伙伴确实是非常积极上进,很多大学生,即使是计算机专业的,到毕业时都写不出一行代码,这个小伙伴是学历史的,竟然能......
  • 快速上手Webpack打包指南:用简单的步骤掌握Webpack的使用技巧
    目录概念:1.webpack打包简介1.0多个JS文件打包:1.1webpack数组形式1.2webpack对象形式总结Webpack的打包过程可以总结为以下几个步骤:1.入口点配置:在Webpack的配置文件中,我们需要指定一个或多个入口点(entrypoints),这些入口点是我们应用程序的起点,Webpack会从这些入口点开始......
  • 【每日随笔】关于 “ 择偶 “ ③ ( 男性视角 - 错过优秀的人 | 跟你在一起是否吃亏 |
    文章目录一、男性视角-错过优秀的人1、跟你在一起是否吃亏2、权衡算计的过程3、高额彩礼是怎么来的4、男人要有自知之明5、不要做舔狗6、雌竟与雄竟应该做的事7、奶头乐-爱情与消费一、男性视角-错过优秀的人1、跟你在一起是否吃亏女人是否愿意和你在一起,做出这个......