I set up a new machine with Ubuntu 20, and found I wasn't able to connect to my RDS databases anymore.
The spring-boot application that was supposed to connect to the development environment throws the following exception:
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
So I dug out mySql workbench and tried with that. That resulted in this error:
ssl_choose_client_version:unsupported protocol
Looking for that taught me that Ubuntu 20 had TLSv1.2 set as the minimum TLS version, and that this error happens if your MySQL server didn't support it (from here: https://askubuntu.com/questions/1193629/why-mysql-workbench-8-x-errors-out-with-an-ssl-connection-error-choose-client-v). I tried workbench with SSL turned off, and sure enough it could establish the connection.
The obvious issue with this being, this is Amazon RDS... TLS 1.2 is the only version that can't be disabled, since it's the version used internally, as pointed out here: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.Ciphers.html
So really, there shouldn't be a problem. I was starting to doubt whether the TLS version was really the problem. But since I didn't have any other leads, I followed the cookbook in the answer here to reconfigure my local openssl to allow minimum TLS version 1 and downgrade the security level: https://askubuntu.com/questions/1233186/ubuntu-20-04-how-to-set-lower-ssl-security-level
And wouldn't you know, Workbench now connected with SSL set to required. Spring-Boot still doesn't, I guess I have to configure that somewhere else for it to get the memo. But instead of wasting time on that, I'd rather solve the real issue, which is that I can't connect through TLSv1.2, while for all I can tell I really should be able to. That would be vastly preferable to downgrading my security.
I tried to renew the database certificate in case that might be the problem, but the management console found nothing wrong with the certificate and apparently won't let me replace it if I don't need to.
So I'm a bit out of ideas on what to try next.