有时候需要用fiddler监控自己编写的java应用程序的https请求,但是当我将java应用代理到fiddler的端口上时,报了以下错误:
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
此错误是因为java应用没有fiddler的证书,所以我们需要将fiddler的证书导入到jdk中。
以下是我的步骤:
1.将fiddler的证书导出到桌面,fiddler->tools->options->https->actions->export root certificate to desktop.,如下图
的
2.进入到jdk下的 jdk\jre\lib\security目录,将fiddler的证书拷贝到这里,然后在cmd中进入到此目录
3.输入以下命令:
keytool -keystore cacerts -importcert -alias fiddlerRoot -file FiddlerRoot.cer
4.此时需要输入秘钥库的密码,默认是changeit
5.后面要你确认,输入y就好
我是这样操作就可以了。