连接我的 SonarQube 服务器需要证书。我已经安装了 SonarLint 插件,但它没有任何选项可以添加证书来连接我的 SonarQube 服务器。它只有 URL、用户名、密码选项。有没有办法设置证书?
1 回答
SonarLint 不允许配置证书,但您可以将证书添加到 JRE 或 JDK。
https://docs.oracle.com/javase/tutorial/security/toolsign/rstep2.html
从 Oracle 文档复制的文本:
将证书作为可信证书导入
在您可以授予签名代码读取指定文件的权限之前,您需要将 Susan 的证书作为受信任的证书导入到您的密钥库中。
假设你收到了来自苏珊的
sCount.jar
包含该文件的已签名 JAR 文件Count.class
,以及- 该文件
Example.cer
,其中包含与用于签署 JAR 文件的私钥对应的公钥的公钥证书。
即使您创建了这些文件并且它们实际上并没有被传输到任何地方,您也可以模拟创建者和发送者 Susan 之外的其他人。假装你现在是雷。作为 Ray,您将创建一个名为的密钥库exampleraystore
,并使用它将证书导入到别名为susan
.
每当您使用keytool
指定尚不存在的密钥库的命令时,都会创建一个密钥库。因此,我们可以exampleraystore
通过单个keytool
命令创建和导入证书。在命令窗口中执行以下操作。
- 转到包含公钥证书文件的目录
Example.cer
。(实际上你应该已经在那里了,因为本课假设你始终在一个目录中。) - 在一行中键入以下命令:
keytool -import -alias susan -file Example.cer -keystore exampleraystore
由于密钥库尚不存在,因此将创建它,并提示您输入密钥库密码;输入您想要的任何密码。
该keytool
命令将打印出证书信息并要求您进行验证,例如,将显示的证书指纹与从另一个(受信任的)信息源获得的证书指纹进行比较。(每个指纹都是一个相对较短的数字,可以唯一可靠地识别证书。)例如,在现实世界中,您可能会打电话给 Susan 并询问她的指纹应该是什么。她可以Example.cer
通过执行命令获取她创建的文件的指纹
keytool -printcert -file Example.cer
如果她看到的指纹和你报给你的指纹一样keytool
,说明证书在传输过程中没有被修改过。在这种情况下,您可以keytool
继续在密钥库中放置受信任的证书条目。该条目包含来自文件的公钥证书数据,Example.cer
并被分配了别名susan
。