java代理fiddler抓包https失败

583人浏览 / 0人评论


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

通过设置代理完成抓包

全部评论