上游-PKIX路径SSL证书问题

问题描述

在这个问题上停留了几个星期,而且真的不确定如何绕过SSL错误以连接到upsource Jetbrains工具。我正在关注以下文档

https://upsource-support.jetbrains.com/hc/en-us/articles/206545609-Using-self-signed-certificates-to-connect-to-a-Git-repo

添加

sudo Library/java/JavaVirtualMachines/adopt-openjdk-11.0.7/Contents/Home/bin/keytool -import -alias brinternal1 -keystore /Users/camposf/Documents/upsource-2020.1.1802/bin/upsource.sh -file Library/Java/JavaVirtualMachines/adopt-openjdk-11.0.7/Contents/Home/lib/security/cacerts

到我的终端机(我在Mac上),但此消息不断出现:

This keystore does not support probing and must be loaded with a specified type

我们以前在SSL和Java上遇到过一些问题,并且它们是由另一位开发人员修复的,但我想知道这在当时和现在所做的工作之间是否可能存在某些冲突?

我认为这可能是以前使用过的,但它也用于其他JDK版本。

sudo keytool -import -alias brinternal1  -file bedrock-ca.pem -trustcacerts /Users/camposf/Documents/upsource-2020.1.1802/Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/jre/lib/security/cacerts -storepass changeit

我对这种类型的证书工作非常陌生,非常感谢您的帮助。

非常感谢。

更新

根据Dave的回答,将路径混合在一起使用的命令似乎是错误的。将其更新到下面,并收到一条确认消息,指出证书已添加到密钥库中。但是,即使重新启动计算机后,仍然出现PKIX SSL问题。在本地和docker上都尝试过。

sudo Library/java/JavaVirtualMachines/adopt-openjdk-11.0.7/Contents/Home/bin/keytool -import -alias brinternal2 -keystore Library/Java/JavaVirtualMachines/adopt-openjdk-11.0.7/Contents/Home/lib/security/cacerts -file bedrock.cer

enter image description here

enter image description here

解决方法

似乎 Upsource使用了自己的JDK 。通过输入找出有关信息

/Users/myUser/Documents/upsource-2020.1.1802/bin/upsource.sh java print

因此通过在我的终端上键入certs文件的位置(在我们的情况下为bedrock.cert)来解决此问题:

sudo /Users/myUser/Documents/upsource-2020.1.1802/internal/java/mac-x64/bin/keytool -import -alias brinternal2 -keystore  /Users/camposf/Documents/upsource-2020.1.1802/internal/java/mac-x64/jre/lib/security/cacerts -file bedrock.cer

似乎还可以通过输入来使Upsource指向您自己的本地jdk

/Users/myUser/Documents/upsource-2020.1.1802/bin/upsource.sh java set <home path for your preferred jdk>

可以使用echo $JAVA_HOME命令在哪里找到。

不确定如何更改它。