On Thu, Oct 15, 2020 at 9:38 AM Ed Merks <ed.me...@gmail.com> wrote: > Sebastian, > > This issue sounds related to the following Bugzilla, which has kind of > morphed into "update to latest release installs JustJ JRE": > > https://bugs.eclipse.org/bugs/show_bug.cgi?id=567504 > > But in any case, the user noticed because they were expecting their > /etc/ssl/certs/java/cacerts to be used, but the embedded JRE uses its own > cacerts and no others. > > I've seen the problem you describe at customer sites as well, where it > caused problems with p2 access to update sites that went through the > corporate firewall so folks had to add root certificates to their JDK > installation. > > So this does sound very useful, though I don't understand the full details > and implications... > > Regards, > Ed > On 07.10.2020 15:45, Ratz, Sebastian wrote: > > Hello, > > > > A JVM brings its own set of root CA certificates as the root of trust > (lib/security/cacerts). > > > > This also means that Eclipse relies on that trust store for every HTTPS > call, e.g. the update mechanism (Eclipse update sites use HTTPS since not > too long, so this was not that big of a problem before). > > > > > > However – especially in many corporate environments – TLS injection > proxies are deployed that hook into TLS connections and re-sign traffic > using a new certificate. > > Usually this certificate is also deployed into the operating system trust > store, such that browser and other functionality is not impacted. > > However, since Eclipse relies on the JVM trust store, Eclipse is left out > of the loop here. > > > > This then leads to typical problems such as > > sun.security.validator.ValidatorException … PKIX path building failed: > sun.security.provider.SunCertPathBuilderException: unable to find valid > certification path to requested target > > > > > > In order to work around that issue we have implemented an > javax.net.ssl.SSLContext with custom X509KeyManager and X509TrustManager > that additionally load the operating system trust/key store (Windows-ROOT > and Windows-MY on Windows, and KeychainStore on macOs). We use this for > HTTPS calls that we make from within our own plugins. > > > > But since we do not modify the JVM-wide default > (javax.net.ssl.SSLContext.setDefault(SSLContext)) in order to avoid > influencing any potential 3rd-party plugins, we still have to deal with > customer problems where e.g. the update mechanism is affected. > > > > > > *Is there interest in the platform to have this functionality in the core > platform?* > > > > We could then contribute our implementation and Eclipse Platform could > then use SSLContext.setDefault() to modify the default very early-on during > startup, optionally with a preference to enable/disable this behavior. > > > > > > An initial list that would be affected by (would benefit from) this: > > - Update mechanism > - EGit > > +1 for EGit
> > - > - … > > > > Since the embedded browser has always used the OS trust store, a > discrepancy between that and HTTPS calls made from within Eclipse would > also be resolved. > > > > > > Best regards, > > Sebastian Ratz > > _______________________________________________ > cross-project-issues-dev mailing listcross-project-issues-...@eclipse.org > To unsubscribe from this list, visit > https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev > > _______________________________________________ > cross-project-issues-dev mailing list > cross-project-issues-dev@eclipse.org > To unsubscribe from this list, visit > https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev >
_______________________________________________ cross-project-issues-dev mailing list cross-project-issues-dev@eclipse.org To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/cross-project-issues-dev