使用SonarLint(3.1)的Eclipse(neon)将无法连接到SonarQube服务器(5.6.1)

时间:2017-05-18 14:39:41

标签: java eclipse ssl sonarqube sonarlint

这里有一些与旧版本类似的问题,但是那里提供的解决方案在我的情况下没有帮助 - 所以我希望对这个更新的配置有所了解。

我通过Eclipse市场安装了最新的SonarLint(3.1),但我无法让SonarLint连接到我们的SonarQube服务器(5.6.1)。

当我点击 SonarQube服务器视图中的Test connection时,它无法与https://our.sonarqube-server.com/api/system/status连接到javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed

浏览器将在https://our.sonarqube-server.com/api/system/status上显示信息(某些ID,版本5.6.1,UP)。所以服务器已启动并运行。

为了确保我安装了正确的证书,我在“帮助”下进行了检查 - >关于Eclipse - >安装细节 - >我正在运行jre1.8.0_131的配置。我从our.sonarqube-server.com链中下载了3个证书,并在信任库中使用bin\keytool.exe -import -trustcacerts -keystore lib\security\cacerts -storepass changeit ...安装了这些证书,并与-list一起检查了它们是否真的存在。

版本应兼容(声称SonarLint 3.1与SonarQube服务器5.6 +兼容)。

你知道这个配置还有什么问题吗?当我在自己的机器上安装本地SonarQube服务器时,我可以以相同的方式成功连接到localhost:9000(生成令牌 - 就像我在our.sonarqube-server.com上所做的那样)。由于localhost:9000没有涉及SSL,我猜SonarLint插件正在寻找其他地方的证书,但我看不出如何找出它看起来的位置......

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我自己使用SonarLint 3.1和SonarQube 6.7遇到了类似的东西。

在IntelliJ中,我一直遇到此错误消息

Failed to connect to the server. Please check the configuration. 
Error: Fail to request https://<SONARQUBE>/api/system/status 

但是我可以通过浏览器访问该网址而不会出现任何问题。

当您对来自浏览器和IDE的请求进行WireShark时,您可以看到密码套件完全不同,并且IDE插件获得TLS握手失败。

这让我发现Java仍然提供有限强度的加密功能。这要么是因为美国的出口政策,要么是因为没有人能够解决这个问题。互联网不太确定。

无论哪种方式,您都可以从Oracle下载Java密码术扩展(JCE)无限强度管辖权政策文件:http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

一旦我将它们安装到IntelliJ JVM上,当我尝试连接到SonarQube并且连接正常工作时,我不再遇到底层TLS握手失败。

IntelliJ会询问您有关证书的信息,因此所有这些都比手动使用证书更容易。