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. MATH026th: 《古今算学丛书》目录

    http://aiguji.net/2202.html 出版时间: 光绪二十四年(1898)上海算学书局据微波榭本等石印 <古今算学丛书>,刘铎辑,有光绪二十四年(1898)上海算学书局石 ...

  2. IIS部署WGCMS

    一.下载所需的微软程序文件 安装插件:下载后直接安装就可以了,没有什么好说的. 安装1:点击下载 安装2:点击下载 二.在IIS上添加应用程序池 打开IIS,按照图片所示:在"应用程序池&q ...

  3. No.3.1

    JavaScript是什么? JavaScript是一种运行在客户端(浏览器)的编程语言,实现人机交互效果. 作用:网页特效(监听用户的一些行为让网页作出对应的反馈)     表单验证(针对表单数据的 ...

  4. DataGridView添加新一行数据可添加到最后一行或第一行

    整体代码如下: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data; ...

  5. rancher 修改域名

    rancher 修改域名 rancher 修改ingress.nginx 对应的域名后 cattle-system 名称空间下的pod 依然是连接旧环境的rancher 域名 解决办法 1. 需要登录 ...

  6. tp save()的用法

    save()方法可以新增数据,也可以修改数据 但是要注意,在第二次save()的时候会默认修改 需 model('Keyword')->isUpdate(false)->save($dat ...

  7. KMP 算法实现

    # coding=utf-8 def get_next_list(findding_str): # O(m) # 求一个字符串序列每个位置的最长相等前.后缀 j = 0 # 最长相等前缀的末位 nex ...

  8. 微信带参数的小程序码生成并上传到七牛云(java)

    在大家看正式内容之前请耐心的听我把这段话说完:我冒昧的猜一下,你为了解决问题估计已经看了很多文章了,如果这边文章能给你带来帮助,不胜荣幸,如果有错误也请批评指正,共同进步,我之前在完成这个功能之前,从 ...

  9. WPF-序列化

    public class SerializeHelper { #region 二进制格式 /// <summary> /// Binary 序列化使用前需要标记类可序列化 /// < ...

  10. java实现读取json文件指定字段值

    使用场景 现有一个大数据的json文件,每条数据有多层数据信息.现在想把其中某个字段提取并叠加计算. json文件格式 1 { 2 "MsgID":"111", ...