java程序设置代理通过fiddler抓包https请求出现异常:unable to find valid certification path to requested target
安装Fiddler的CA证书到操作系统信任目录后,抓包任然失败!
排查步骤:
1、分析HTTPS工作原理:
略
2、wireshark抓包:
三次握手
建立TLS
client hello 【携带域名】
server hello
客户端获取到服务器的证书
证书校验失败
原因:
Java的证书体系和操作系统的证书体系有区别,JDK用的自己的可信CA证书体系
因为JDK的可信证书列表中不包含fiddler的CA证书,导致证书校验失败
安装 fiddler的CA证书到JDK的security/cacerts文件中
keytool -list -keystore "C:/Program Files/Java/jre1.8.0_261/lib/security/cacerts" -storepass changeit
keytool -importcert -trustcacerts -file "C:/FiddlerRoot.cer" -alias FiddlerRoot -keystore "C:/Program Files/Java/jdk1.8.0_261/jre/lib/security/cacerts" -storepass changeit
通过设置代理完成抓包
全部评论