代理 SSL 时出现错误 Charles来自 Java——但应安装证书

问题描述

此时我无法看出我做错了什么。

删除Charles,重新安装Charles 4.6.1

  1. 帮助 -> SSL 代理 -> 重置 Charles 根证书
  2. 帮助 -> SSL 代理 -> 保存 Charles 根证书
  3. 已保存根证书
  4. 安装它
sudo keytool -import -alias charles.feb5 \
-file ./charles-ssl-proxying-certificate.pem \
-keystore /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/security/cacerts \
-storepass changeit
  1. 验证:
$ sudo keytool -list -keystore
    /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/lib/security/cacerts
    -storepass changeit | grep charles 
charles.feb5,Feb 5,2021,trustedCertEntry,$
  1. 我对代理与某些 Google Api 通信的 Java 程序感兴趣,因此在代理中 -> SSL 代理设置包括.googleapis.com:

  2. 开启代理 -> macOS 代理和代理 -> 启动 SSL 代理

  3. 运行程序。它是从 Eclipse 运行的,但我确保命令行是我上面使用的密钥存储的 JRE:

/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/bin/java

然而,当点击 https://oauth2.googleapis.com 时,我得到以下信息:

Failure: SSL handshake with client Failed: An unkNown issue occurred processing the certificate (certificate_unkNown)
Notes: You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu.

我错过了什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)