Our application uses the OmniAuth gem, which uses the Faraday gem, which uses Net::HTTP.
We run it from JRuby, and use it to talk HTTPS to a server that has a GoDaddy signed cert.
So we end up using which jruby-openssl.
We use the SSL_CERT_DIR to point to the SSL certificates directory, where there is a GoDaddy cert.
On Linux, this works fine.
On Windows (with the ssl certificate directory copied from Linux), this fails with a "certificate verify failed" error.
Test-case code looks like:
which results in this error:
The problem is on Lookup.java#L558 where the code constructs a path using a hardcoded slash; the code then tries to lookup "c:\ssl\certs/219d9499.0" which doesn't exist.
The simplest fix is to use the platform-dependent path-separator character instead of the slash, like this patch; I've confirmed that resolves the problem on Windows.
Better yet, instead of handcrafting paths, let Java do that with File.