Se pare că suportul TLS depinde de versiunea exactă a motorului bazei de date pe care o utilizați pe RDS. Aurora mySQL 5.6 are suport doar pentru TLSv1.0 până la versiunea 1.23.1, moment în care TLSv1.1 și 1.2 devin disponibile. Versiunea noastră era 1.22.ceva, așa că a trebuit să actualizez motorul.
Chiar si atunci nu va funcționa totuși, deoarece Ubuntu 20 impune și o lungime minimă a cheii dhe de 2048 de biți, pe care Aurora mysql 5.6 pur și simplu nu o oferă și, din câte îmi dau seama, acest lucru nu poate fi schimbat. Veți găsi documentație pentru parametrii bazei de date care pot fi utilizați pentru a modifica durata cheii diffie-helman, dar se pare că acestea sunt doar pentru SqlServer, nu pentru MySQL.
Deci, trebuie să aplicați modificări openssl.cnf, așa cum este descris în răspunsul acceptat aici: https://askubuntu.com/questions/1233186/ubuntu-20-04-how-to-set-lower-ssl-security-level
Acest lucru vă schimbă SECLEVEL la 1, așa că openssl va accepta cheile DHE mai scurte.
Chiar si atunci aplicațiile mele de pornire de primăvară nu s-au conectat, deși workbench acum s-a făcut. Acest lucru se datorează faptului că JDBC nu îi spune serverului că poate face TLSv1.2 deși se poate în totalitate (decizie ciudată, asta), așa că serverul nu va încerca niciodată să trimită o strângere de mână 1.2 chiar dacă ar putea.
Pentru a-i spune JDBC să folosească TLSv1.2, trebuie să-l atașați la șirul de conexiune:
jdbc:myslq://<gazdă>/<db>?enabledTLSProtocols=TLSv1.2
Acum totul se leagă.
Mi-ar fi plăcut să fac ca Aurora să ofere o cheie mai lungă, mai degrabă decât să reduc securitatea Ubuntu, dar se pare că nu există nicio modalitate. Daca stie cineva vreunul, va rog sa ma anunte.