[MDEV-29811] server advertises ssl even if it's unusable Created: 2022-10-17 Updated: 2023-11-23 Resolved: 2022-10-25 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Server, SSL |
| Affects Version/s: | 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 10.10 |
| Fix Version/s: | 10.3.37, 10.4.27, 10.5.18, 10.6.11, 10.7.7, 10.8.6, 10.9.4, 10.10.2, 10.11.1 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Sergei Golubchik | Assignee: | Vladislav Vaintroub |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Attachments: |
|
||||||||||||
| Issue Links: |
|
||||||||||||
| Description |
|
if the server is started with --ssl but without properly configured certificates, it will advertise the ssl support in the handshake, but will not actually be able to use it. so a client with --ssl will fail to connect with the ssl error (e.g. "sslv3 alert handshake failure" in OpenSSL). I think the server should not start if it was requested to use ssl, but it cannot actually do it. |
| Comments |
| Comment by Oleksandr Byelkin [ 2022-10-25 ] |
|
OK to push |
| Comment by Ulf Hofemeier [ 2023-01-19 ] |
|
What constitutes properly configured SSL certs? I have attached the config, docker-compose.yml and file system persmissions including a check on the certs that I created and so far I haven't been able to bring up the server with ssl support. Please help. Thanks root@93aa8e176fec:/# ls -la /run |grep secrets ~/git/pri-fidoiot/component-samples/demo/db/secrets$ openssl verify -CAfile ca-cert.pem server-cert.pem api-user.pem The error message I'm getting when mariadbd is launched is: |
| Comment by Faustin Lammler [ 2023-01-20 ] |
|
Hi uhofemeier! So, in the future, I encourage you to ask for help via Zulip or via the Mailing list: See also https://mariadb.org/contribute/#entry-header My best guess from the error above is that there is a PATH problem with your certificates, if you log into the mariadb container (probably something like `docker exec -it db bash`, can you make sure that certs PATH are correct and that the user that runs mysql can access them (probably mysql)? |