I am trying to use WakaTime in JetBrains Rider. I use WakaTime at work behind a corporate firewall and I am familiar with certificate errors like this one. However, I expected that if I set ssl_disable_verify = true and/or check "Accept non-trusted certificate errors automatically" in the Rider/other JetBrains IDE settings, that this would not occur.
This used to work... WakaTime would always download the CLI to AppData. But it seems to have broken recently.
The log says this in debug mode, and the WakaTime folder in AppData is empty.
2020-05-25 14:39:33,851 | DEBUG | WakaTime | Logging level set to DEBUG
2020-05-25 14:39:33,855 | INFO | WakaTime | Downloading and installing wakatime-cli ...
2020-05-25 14:39:34,091 | WARN | WakaTime | PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:326)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:269)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264)
at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:645)
at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:464)
at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:360)
at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392)
at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444)
at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:422)
at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:183)
at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:164)
at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1144)
at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1055)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:395)
at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:567)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1515)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:250)
at java.base/java.net.URL.openStream(URL.java:1140)
at com.wakatime.intellij.plugin.Dependencies.downloadFile(Dependencies.java:174)
at com.wakatime.intellij.plugin.Dependencies.installCLI(Dependencies.java:138)
at com.wakatime.intellij.plugin.WakaTime$1.run(WakaTime.java:93)
at com.intellij.util.RunnableCallable.call(RunnableCallable.java:20)
at com.intellij.util.RunnableCallable.call(RunnableCallable.java:11)
at com.intellij.openapi.application.impl.ApplicationImpl$1.call(ApplicationImpl.java:255)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:439)
at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:306)
at java.base/sun.security.validator.Validator.validate(Validator.java:264)
at java.base/sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:313)
at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:222)
at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:129)
at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:629)
... 26 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)
at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:434)
... 32 more
2020-05-25 14:39:34,093 | INFO | WakaTime | Finished downloading and installing wakatime-cli.
2020-05-25 14:39:34,094 | DEBUG | WakaTime | CLI location: C:\Users\asdf\AppData\Roaming\WakaTime\wakatime-cli\wakatime-cli.exe
2020-05-25 14:39:34,132 | INFO | FileBasedIndexDataInitialization | Initialization done: 681
2020-05-25 14:39:34,215 | INFO | StubIndexImpl$StubIndexInitialization | Initialization done: 83
2020-05-25 14:39:41,784 | INFO | WakaTime | Finished initializing WakaTime plugin```
I am trying to use WakaTime in JetBrains Rider. I use WakaTime at work behind a corporate firewall and I am familiar with certificate errors like this one. However, I expected that if I set
ssl_disable_verify = true
and/or check "Accept non-trusted certificate errors automatically" in the Rider/other JetBrains IDE settings, that this would not occur.This used to work... WakaTime would always download the CLI to AppData. But it seems to have broken recently.
The log says this in debug mode, and the WakaTime folder in AppData is empty.