Background:
Doris currently does not support SSL connection from MySQL clients, it's not secure enough in some cases, especially access Doris via the public internet.
Solution:
- Use TLS1.2 protocol to encrypt information.
- Implementation details
* server <--- connect <--- client
* if enable SSL: {
* server <--- SSL connection request packet <--- client
* server <--- SSL Exchange ---> client } (we will add this `if` logic part in this PR)
* server ---> handshake request packet ---> client
* server <--- encrypted data ---> client (this part will be realized in this PR)
- reference1 https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_connection_phase.html#sect_protocol_connection_phase_initial_handshake_ssl_handshake
- reference2 https://www.rfc-editor.org/rfc/rfc5246
close #16313
Signed-off-by: Yukang Lian <yukang.lian2022@gmail.com>
Co-authored-by: Gavin Chou <gavineaglechou@gmail.com>
Co-authored-by: morningman <morningman@163.com>