Eclipse (neon) с SonarLint (3.1) не подключается к серверу SonarQube (5.6.1)

Здесь есть несколько похожих вопросов с более старыми версиями, но представленные там решения не помогли в моем случае, поэтому я надеюсь на некоторое понимание этой более современной конфигурации.

Я установил новейшую версию SonarLint (3.1) через торговую площадку Eclipse, но не могу подключить SonarLint к нашему серверу SonarQube (5.6.1).

Когда я нажимаю Test connection в представлении Серверы SonarQube, мне не удается подключиться к https://our.sonarqube-server.com/api/system/status с помощью javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed.

Браузер покажет информацию (какой-то id, версия 5.6.1, UP) на https://our.sonarqube-server.com/api/system/status. Итак, сервер запущен.

Чтобы убедиться, что у меня установлены правильные сертификаты, я проверил в разделе «Справка» -> «Об Eclipse» -> «Сведения об установке» -> «Конфигурация», что я запускаю файл jre1.8.0_131. Я скачал 3 сертификата из цепочки our.sonarqube-server.com и установил их с помощью bin\keytool.exe -import -trustcacerts -keystore lib\security\cacerts -storepass changeit ... в хранилище доверенных сертификатов и проверил с помощью -list, что они действительно там.

Версии должны быть совместимы (говорят, что SonarLint 3.1 совместим с сервером SonarQube 5.6+).

У вас есть идеи, что еще может быть не так с этой конфигурацией? Когда я установил локальный сервер SonarQube на свой компьютер, я смог успешно подключиться к localhost:9000 таким же образом (с генерацией токена — точно так же, как я сделал это на нашем.sonarqube-server.com). Поскольку localhost:9000 не использует SSL, я предполагаю, что плагин SonarLint ищет сертификаты где-то еще, но я не вижу, как узнать, где он ищет...

Спасибо за вашу помощь.


person outofmind    schedule 18.05.2017    source источник


Ответы (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 

Однако я мог получить доступ к этому URL-адресу через свой браузер без каких-либо проблем.

Когда вы используете WireShark для запросов, поступающих от браузера и IDE, вы можете видеть, что набор шифров совершенно другой и что подключаемый модуль IDE получает сбой рукопожатия TLS.

Это привело меня к выводу, что Java по-прежнему поставляется с криптографическими функциями ограниченной надежности. Это либо из-за экспортной политики США, либо потому, что никто не удосужился это исправить. Интернет не совсем уверен.

В любом случае вы можете загрузить файлы политик юрисдикции неограниченной силы Java Cryptography Extension (JCE) из Oracle: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

После того, как я установил их на IntelliJ JVM, у меня больше не было основного сбоя рукопожатия TLS при попытке подключиться к SonarQube, и соединение работает.

IntelliJ спросит вас о сертификате, так что все это будет проще, чем возиться с сертификатами вручную.

person Philip B.    schedule 06.12.2017