簡體   English   中英

Maven 聲納插件:信任自簽名證書

[英]Maven sonar plugin: trust self-signed certificate

我嘗試使用自簽名證書在 HTTPS 連接上將maven sonar:sonar啟動到 SonarQube 實例。 Maven 給我這個錯誤:

[錯誤]無法在項目數據上執行目標 org.sonarsource.scanner.maven:sonar-maven-plugin:3.4.0.905:sonar (default-cli)。model:無法執行 SonarQube:無法從服務器獲取引導索引: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target -> [幫助 1]

您可以在信任庫中導入服務器證書

keytool -import -v -trustcacerts -alias mySonarServer -file sonarServer.crt -keystore cacerts

其中cacerts是JRE安裝中的一個。

  1. 運行命令以獲取您的證書 sonarqube
$ openssl s_client -showcerts -connect {domain}:{port}

example:
$ openssl s_client -showcerts -connect sonarqube.com:443
  1. 將證書復制到新文件mycert.pem

在此處輸入圖像描述


3.導入證書到JDK->JRE
 $ keytool -importcert -file {filename}.pem -keystore "{jdk_path}/jre/lib/security/cacerts" -alias "{somename}" -storepass changeit example: $ keytool -importcert -file mycert.pem -keystore "/c/Program Files/Java/jdk1.8.0_202/jre/lib/security/cacerts" -alias "MyCert" -storepass changeit

輸入是
在此處輸入圖像描述


  1. 使用 sonarqube 鏈接運行 SonarQube 命令
$ mvn clean package -U sonar:sonar -Dsonar.host.url=https://sonarqube.com -Dsonar.projectKey=MyApp -Dsonar.projectName=MyApp -Dsonar.projectVersion=2.4.1 -Dsonar.language=java -Dsonar.sources=src/main/java -Dsonar.tests=src/test/java '-Dsonar.exclusions=**/*Test*/**' -Dsonar.java.binaries=target/classes -Djavax.net.debug="ssl,handshake"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM