To reproduce: - Startup redis-server (v6.0.5) with TLS enabled but tls-auth-clients no redis-server --tls-port 6379 --port 0 --tls-cert-file ./valid.crt --tls-key-file ./valid.key --tls-ca-cert-file ./valid.cacrt --tls-auth-clients no - Run redis-cli (v6.0.5) connecting with a key and cert (the values here don't matter particularly) redis-cli -h localhost -p 6379 --tls --cert ./some.bad.crt --key ./some.bad.key --cacert ./valid.cacrt

redis-server produces: Error accepting a client connection: error:1417C086:SSL routines:tls_process_client_certificate:certificate verify failed

Shouldn't this still produce a valid connection, since tls-auth-clients is disabled? The use-case for something like this is frameworks (particularly bitnami-docker-redis-cluster in this case) do not change their redis-cli command based off of the status of tls-auth-clients.

Comment From: yossigo

@jpasquers that's a good point, thanks! This use case makes sense and I believe it's also a common practice, although it will close the door for optional certs in the future (i.e. when a cert could be used instead of AUTH). Unless another strong reason to avoid that comes up, I'll fix that.