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

Reply via email to