On 5/16/2019 10:16 AM, Younge, Kent A - Norman, OK - Contractor wrote:
I have upgraded one of our boxes to Solr 8.1.0 on RHEL 7.6 with Java 12.0.1. I
also had a certificate up for renewal and I went through my regular process of
creating the certificate and key. Now I get a
ERR_SSL_VERSION_OR_CIPHER_MISMATCH error. I have gotten this before however,
that was due to me adding the certificate into the keystore. Here are the
list of cmds I that have run.
My research says that's a browser error, and it's something of a generic
error that covers a lot of SSL problems. The browser should have
further details about what happened. You may have to click on something
to see that information. If you share those details, we may be able to
offer some insight.
If I'm wrong and that error is showing up somewhere else, then you'll
need to tell us exactly where you saw it and what else you can see.
One thing I can say after looking at your commands is that you should
not be including the root certificate in the keystore. The keystore
should contain the server certificate and all certificates in the chain
*except* the root certificate. The root cert is probably already in the
client software. For situations where the certificate does not trace
back to a public CA, the root cert might need to be added to the browser
or client software -- not to the server.
Putting the root certificate in the keystore won't cause any problems
that I know of, but it doesn't help things work, and it doesn't increase
security.
In a later message, you are running an openssl client command. This
part of that output sounds like there aren't actually any certificates
available to the Jetty in Solr:
---
no peer certificate available
---
If I run a similar command that connects to a webserver (that has
nothing to do with Solr) I get very different output, that starts off
with this and then prints the details of the two certs returned by the
web server:
root@bilbo:~# openssl s_client -showcerts -connect localhost:443 < /dev/null
CONNECTED(00000003)
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = elyograg.org
verify return:1
---
Certificate chain
0 s:/CN=elyograg.org
i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
-----BEGIN CERTIFICATE-----
<snip>
I personally haven't used SSL with Solr myself. I can say that dealing
with certificates in Java programs can be a painful process. I wish
Java would work with the same PEM certificate format that most other
software does.
The last 'keytool' command your message contains has the same filename
for both the source and the destination. I see a very similar command
in our documentation ... but that command has different filenames for
source and destination. I have no idea what would happen with the same
filename in both source and destination, but it seems wrong, and one of
the side effects I can imagine from that is producing an empty keystore
... which might match up with your openssl output.
Presumably you have read through the following documentation:
https://lucene.apache.org/solr/guide/7_7/enabling-ssl.html
Thanks,
Shawn