1

fiddler原理+fiddler为什么抓chrome而不能抓curl和httpclient?fiddler为什么能篡改报文?

中的ssl pinning 本质即是双向ssl

https://zhuanlan.zhihu.com/p/60392573/有一个破解的案例

2

单向ssl破解 https://www.zhihu.com/tardis/bd/ans/1470144979

一、根证书是伪造的。如果攻击者通过黑客手段,在客户端电脑上安装了自己的根证书,那它就可以验证通过自己伪造的服务器公钥。问题在于怎么把根证书安全的交到客户端手里,目前浏览器基本都在内部预置了权威CA机构的根证书,以减少权威CA机构的根证书被篡改的可能,不过这并不能100%的解决问题, 像某些网站会使用自己的根证书,这些根证书并没有预置在浏览器中。

二、CA向服务器颁发的公钥证书是伪造的。这样黑客也可以伪装自己的服务器公钥了,也会被客户端验证通过。一般来讲,权威CA颁发的公钥证书都是可靠的,但也不是没有被黑的例子,比如曾经荷兰的DigiNotar,就因为安全漏洞被黑了,颁布了数百个伪造的公钥证书,最终导致整个公司失信,破产了。

3

有私钥可以生成公钥

有公钥不能生成私钥(https://blog.csdn.net/sn5diphone6/article/details/122881394)

https://blog.csdn.net/lxfHaHaHa/article/details/86619714里有用私钥生成公钥的实践

4 wireshark

https://www.cnblogs.com/blankicefire/p/7865096.html

https://zhuanlan.zhihu.com/p/75461564

5

浏览器的truststore,就是操作系统内置的一群CA公钥(证书)

tomcat的truststore与浏览器内置CA证书有啥区别?浏览器里面只有CA证书没有服务端公钥,CA公钥对客户端证书的数字签名解密核对

6 为什么不用bank?

因为要传递客户端证书,用bank时,客户端拿到的是bank公钥(非服务端公钥),服务端拿到的也是bank公钥(非客户端公钥),可以是另一对也可以是同一对,也可以走http,所以失去了双向的意义,连真正的客户端证书都拿不到

那为啥单向时候可以用bank,因为单向客户端本来就是验证bank公钥

由于MyFiddler和后端实验时用的相同ca,(PorxyNoHttpDecode无需),无法在浏览器上体现透明代理与明文代理,需要查看两边sha1,可以证明浏览器获得的服务端证书是不同的,此前已证明同一个CN前后两次签发的证书是不同的(根据https原理(四)双向实践(java客户端+tcp代理) 9 的结论)

总结:

1)双向中,客户端与服务端用同一个密钥对不妨碍安全性;当然也可以用不同CA的

2)服务端truststore原则上不能有客户端私钥,tomcat不允许

3)truststore可以不给,会指向jre cacerts

4)truststore应该会需要客户端CA证书

5)want+filter的形式我不能突破

6)允许透明代理

7)有客户端私钥可以明文代理

8)truststore里有CA证书就行了?还是证书链支持?

9)mkcert install会导入jre cacerts

10)同一个公钥,两次jks,sha1 一样

11)p12 jks会有多个密钥对?tomcat可以通过别名指定

12)为什么不用bank?

13)这一套东西足够安全,除非获取客户端私钥


来自https原理

来自fiddler原理+fiddler为什么抓chrome而不能抓curl和httpclient?fiddler为什么能篡改报文?

来自https原理(二)服务端公钥有没有被CA私钥加密

来自https原理(三)双向实践(curl)

来自https原理(五)双向实践(https代理)

https原理(七)其他的更多相关文章

  1. HTTPS 原理浅析及其在 Android 中的使用

    作者:曹丰斌   本文首先分析HTTP协议在安全性上的不足,进而阐述HTTPS实现安全通信的关键技术点和原理.然后通过抓包分析HTTPS协议的握手以及通信过程.最后总结一下自己在开发过程中遇到的HTT ...

  2. 网络知识杂谈 - https - 原理简述

    概述 简单描述 https 尽量介绍它的原理 实际的机制, 可能会更加复杂一些... 背景 这玩意, 困扰我好多年了 今天开始, 想做个了断 之前工作也接触过, 但从我的角度来说, 认识很浅 会配置 ...

  3. HTTPS 原理解析

    一 前言 在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议.HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全.为了保证 ...

  4. HTTPS的七个误解

    转自:http://www.ruanyifeng.com/blog/2011/02/seven_myths_about_https.html 开发网页的时候,往往需要观察HTTP通信. 我使用的工具主 ...

  5. [转]HTTPS那些事(一)HTTPS原理

    [转]HTTPS那些事(一)HTTPS原理 http://www.guokr.com/post/114121/ 楔子谣言粉碎机前些日子发布的<用公共WiFi上网会危害银行账户安全吗?>, ...

  6. https原理及其中所包含的对称加密、非对称加密、数字证书、数字签名

    声明:本文章已授权公众号Hollis转载,如需转载请标明转载自https://www.cnblogs.com/wutianqi/p/10654245.html(安静的boy) 一.为什么要使用http ...

  7. Tengine HTTPS原理解析、实践与调试【转】

    本文邀请阿里云CDN HTTPS技术专家金九,分享Tengine的一些HTTPS实践经验.内容主要有四个方面:HTTPS趋势.HTTPS基础.HTTPS实践.HTTPS调试. 一.HTTPS趋势 这一 ...

  8. [转帖]HTTPS系列干货(一):HTTPS 原理详解

    HTTPS系列干货(一):HTTPS 原理详解 https://tech.upyun.com/article/192/HTTPS%E7%B3%BB%E5%88%97%E5%B9%B2%E8%B4%A7 ...

  9. HTTPS原理解析-转

    这篇文章关于Https的讲解真的是太透彻了,转过来备忘. 来源:腾讯bugly 另附两个SSL/TLS的交互详解:一.二 基于此文章的学习总结:下一篇文章 1.HTTPS 基础 HTTPS(Secur ...

  10. OpenSSL和https原理

    https原理: 浏览器请求服务端的公钥证书,server将注冊的证书发送给client. client向办法机构验证证书的合法性,证书 包含公钥,server网址及一些信息. 验证完成,client ...

随机推荐

  1. 搭建CI环境和git使用

    部署Git+Gerrit+Jenkins 的CI环境 使用Git作为代码存储及版本控制 使用Jenkins进行自动化构建 构建测试通过后,再交给人工review 人工review通过后,自动同步到远程 ...

  2. Linux命令执行时,提示commond not found的处理办法

    执行chattr命令时,或其他命令时,若出现命令没发现,commond not found 那么就是有可能命令文件丢了,执行find / -name chattr,如果没有命令了,可以拷贝一个或yum ...

  3. 通过命令上传到GitHub

    从零开始命令行上传代码到GitHub 前情概要: ​ 要提交代码到GitHub上,本来想要通过idea上传代码,然后去网上搜索了相关的文章,按照步骤一步一步的操作,结果还是没有弄好,也会出现各种各样的 ...

  4. js通过hook拿fetch返回数据

    前言 很多情况下咱们在做浏览器插件的时候需要拿fetch的返回数据而不影响功能正常操作. 原理 hook原理咱就不讲了,跟其他hook差不多.具体来看看如何实现返回的. 用过fetch的朋友应该都知道 ...

  5. [CSS]背景图片很大,根据屏幕缩小适配后,div之间有空隙的问题

    RT.美术给的素材宽度是1080px的. 在不缩放的情况下,1080px宽度的屏幕显示div之间正常,没有空隙,但使用transform属性之后,div缩小,div之间有空隙(白线) 百度有人说给这些 ...

  6. java SE01

    目录 一.基础语言 1. 注释 a. 行内注释 b. 多行注释 c. 文档注释 2. 关键字 3. 数据类型 a.基本数据类型 b.引用数据类型 c. 类型转换 4. 变量类型 a. 类变量 b. 实 ...

  7. linux rpm 命令

    # 产看软件包信息[root@devops201 k8s_install]# rpm -qi yum-utilsName : yum-utilsVersion : 1.1.31Release : 54 ...

  8. ubuntu18.04 安装cython_bbox

    方式一: pip install cython_bbox 方式二:下载地址 https://github.com/samson-wang/cython_bbox 解压后并cd cython_bbox- ...

  9. Curl 命令举例

    curl是一个强大的网络请求lib,虽然强大,但是参数太多哈,不得不吐槽,下面列举一下常用使用方法,供大家CV POST 请求 入门: curl -X POST "http://localh ...

  10. Tooltip 文字提示,居中显示

    Tooltip 文字提示有时候在table中无法居中显示,这个可以设置一下 <a-tooltip placement="top" overlayClassName=" ...