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. 【转载】Python(cx_oracle)的DPI-1047错误

    转自:https://blog.csdn.net/weixin_45158749/article/details/124800132 Python(cx_oracle)的DPI-1047错误 步步 F ...

  2. 524. 通过删除字母匹配到字典里最长单词 (Medium)

    问题描述 524. 通过删除字母匹配到字典里最长单词 (Medium) 给你一个字符串 s 和一个字符串数组 dictionary ,找出并返回 dictionary 中最长的字符串,该字符串可以通过 ...

  3. 实验五Elasticsearch+Kibana展示爬虫数据

    安装elasticsearch-rtf Elasticsearch-rtf相比于elasticsearch而言多加了一些插件,因此我们选择安装Elasticsearch-rtf是一个不错的选择.在安装 ...

  4. Spanve:一种检测大规模空间转录组学数据中空间变异基因的有效统计方法

    文章题目 Spanve: an Effective Statistical Method to Detect Spatially Variable Genes in Large-scale Spati ...

  5. Appium元素选择 滑动 通知栏

    一.根据ID  包名可省略 1.元素的resource id属性 2.唯一标志该元素的值 3.一般最优先根据它来定位 driver.find_element_by_id('io.manong.deve ...

  6. Linux 部署apache2.4

    apache httpd-2.4.46.tar.gz部署环境 Linux6.5 依赖包: apr-1.6.3.tar.gz apr-util-1.5.2.tar.gz 先部署apr 1.tar -xf ...

  7. Pycharm 2022.2激活码到2023年7月,亲测有效

    33MEHOB8W0-eyJsaWNlbnNlSWQiOiIzM01FSE9COFcwIiwibGljZW5zZWVOYW1lIjoiUG9saXRla25payBNZXJsaW1hdSBNZWxha ...

  8. 第1关—print()函数与转换

    Print()函数的用法有以下几种:单枪匹马--不带引号.搭配单引号.搭配双引号.搭配三引号,我们逐个见识下吧!  1.无引号       注意,这里的括号一定要用[英文括号],不然会报错 impor ...

  9. kubernetes 集群部署问题点统计

    1.安装网络插件报错 error unable to recognize "calico.yaml": no matches for kind "DaemonSet&qu ...

  10. MYSQL启动:'服务没有相应控制功能'问题解决

    启动 MySQL 服务,此处若是显示错误'服务没有相应控制功能' 尝试解决方法:访问如下网站: https://cn.dll-files.com/vcruntime140_1.dll.html  下载 ...