Estou tentando entender o funcionamento do SSL ao tentar me conectar a um servidor MySQL (via mysql-connector-python). Tenho MySQL (v5.7) e tenho 2 usuários. Um (root) é o usuário padrão e o outro usuário (ssl_user) tem a opção REQUIRE SSL habilitada. Se eu tentar me conectar ao ssl_user com a seguinte configuração, recebo um erro dizendo que ssl_user não tem acesso.
mysql_conf = {
'host': '127.0.0.1',
'port': '3306',
'user': 'root',
'password': '',
'ssl_disabled': True #Default value is False
}
conn = mysql.connector.connect(**mysql_conf)
Consigo me conectar ao MySQL se alterar o valor como 'ssl_disabled': False para o usuário específico.
Estou me conectando ao servidor mysql por meio do meu aplicativo flask. O que exatamente acontece ao me conectar por meio deste usuário criado com Require SSL? isso significa que a conexão deste usuário está criptografada? em caso afirmativo, onde acontece a criptografia?
Não consigo entender qual é exatamente a diferença entre conexão via 'ssl_disabled': False e conexão fornecendo certificados SSL?