hmvictor / radar-netbeans

A SonarQube plugin for Netbeans
Other
33 stars 22 forks source link

Can't get access to https #35

Closed Chris2011 closed 7 years ago

Chris2011 commented 9 years ago

We have this url: https://whatever.net and when I open this url, I saw sonar. When I add this url to the options and click on "Get issues from server" I got this exception:

sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:145) at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:131) at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280) at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382) Caused: sun.security.validator.ValidatorException: PKIX path building failed at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387) at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292) at sun.security.validator.Validator.validate(Validator.java:260) at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324) at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229) at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124) at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1453) Caused: javax.net.ssl.SSLHandshakeException at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1917) at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:301) at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:295) at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1471) at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:212) at sun.security.ssl.Handshaker.processLoop(Handshaker.java:936) at sun.security.ssl.Handshaker.process_record(Handshaker.java:871) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1043) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1343) at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:728) at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:123) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) at org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java:828) at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.flushRequestOutputStream(MultiThreadedHttpConnectionManager.java:1565) at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2116) at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096) at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398) at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323) at org.sonar.wsclient.connectors.HttpClient3Connector.executeRequest(HttpClient3Connector.java:102) Caused: org.sonar.wsclient.connectors.ConnectionException: Query: org.apache.commons.httpclient.methods.GetMethod@4ad6d0ac at org.sonar.wsclient.connectors.HttpClient3Connector.executeRequest(HttpClient3Connector.java:115) at org.sonar.wsclient.connectors.HttpClient3Connector.execute(HttpClient3Connector.java:81) at org.sonar.wsclient.Sonar.findAll(Sonar.java:63) at qubexplorer.server.SonarQube.getProjectsKeys(SonarQube.java:204) at qubexplorer.server.SonarQube.existsProject(SonarQube.java:247) at qubexplorer.server.SonarQube.getSummary(SonarQube.java:257) at qubexplorer.ui.SummaryTask.execute(SummaryTask.java:28) at qubexplorer.ui.SummaryTask.execute(SummaryTask.java:16) at qubexplorer.ui.task.TaskExecutor$TaskWorker.doInBackground(TaskExecutor.java:60) at javax.swing.SwingWorker$1.call(SwingWorker.java:295) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at javax.swing.SwingWorker.run(SwingWorker.java:334) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [catch] at java.lang.Thread.run(Thread.java:745)

Regards

Chris

Chris2011 commented 8 years ago

Anything new here? Still happens so it's is not usable for me :(

hmvictor commented 8 years ago

It seems is a low level problem. You would have to import the certs to your machine and configure them so the jvm can use them. But I do know if you have done this or maybe is another problem.

Could you attach more info?

Many thanks.

Chris2011 commented 8 years ago

What infos do you need more? I didn't set any cert on my machine manually or didn't add it to the JVM. So no import from here.

davidtaddei commented 8 years ago

This is a common issue among java tools accessing repositories via HTTPS. It is actually commonly experiences by Maven for https repositories. It can be resolved by doing the following:

  1. Navigate to the https site you want to access in a browser and download the SSL certifcate (right click on the padlock in the URL, go to view certificate and save to file. I find Base-64 encoded X.509 works best)
  2. Find the JDK you are using and go to /jre/lib/security
  3. Copy the .cer file you downloaded into this directory
  4. Run a command prompt as administrator and navigate to the directory in step 2.
  5. Run keytool --importcert --alias --file <your .cer> --keystore cacerts
  6. You will be prompted for a password, it is usually "changeit" and asked if you want to trust the certificate, say yes.
  7. Close your IDE and open it again (very important).

Now you should be good to go. You will be asked for a username and password to your sonarqube server when you try and retrieve issues from it.

Good luck!