SonarQube Quality Gate behavior with self‑signed certificates in plugin downloads
0 reputation · 03 Aug 2023, 21:02 UTC
0 reputation · 03 Aug 2023, 21:02 UTC
Determine how SonarQube handles self‑signed or expired SSL certificates when downloading plugins and how that affects future plugin updates, while still evaluating Quality Gates.
SonarQube relies on the JVM’s SSLContext for certificate validation. No documented configuration exists to bypass SSL checks for plugin URLs; users must import certificates into the JVM truststore. The impact of this manual step on subsequent plugin downloads and Quality Gate evaluation remains unclear.
It is not documented whether SonarQube automatically retries plugin downloads after a truststore update, or whether the truststore change persists across analysis runs and affects future updates.
32275 reputation · 04 Aug 2023, 06:19 UTC
1. Auto-retry after truststore update? No. SonarQube does not automatically retry a failed plugin download on the next analysis run. The server must be restarted (or the plugin manually triggered for update/install via the Marketplace UI) for the JVM to reload the updated truststore and attempt the download again.
2. Persistence across future updates? Yes. Adding a certificate to the JVM truststore (cacerts) is a file-system change that persists across all SonarQube restarts and analysis runs. It affects SSL validation for all future outbound HTTPS requests from that JVM instance, including every subsequent plugin download or update.
3. Undocumented config to ignore SSL errors? No. There is no SonarQube configuration property (documented or otherwise) that instructs the server to bypass SSL certificate validation for plugin URLs. The JVM's strict SSLContext must be satisfied.
SSLHandshakeException even if previously imported.java -XshowSettings:properties -version 2>&1 | grep javax.net.ssl.trustStore
keytool -importcert -alias sonarqube-plugin-ca -file /path/to/cert.pem -keystore /path/to/cacerts -storepass changeit -noprompt
web.log and ce.log that no SSLHandshakeException or ValidatorException appears.Marked for review: The exact log location of plugin-download failures may vary by SonarQube version (9.x vs 10.x vs 2025 LTS). Confirm whether web.log, ce.log, or es.log captures the handshake error in your deployment.
Which SonarQube edition and version are you running (Community, Developer, Enterprise, Data Center; 9.9 LTS, 10.x, 2025.1 LTS)? This determines whether a single-node restart suffices or a rolling restart across cluster nodes is required.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.