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

时间:2021-02-05 20:09:43

标签: java ssl proxy charles-proxy

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

删除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.

我错过了什么?

0 个答案:

没有答案