为python的mysql.connector提供ssl_ *选项是否可以保证“ SSL或失败”行为?

时间:2019-09-04 16:45:09

标签: python mysql ssl

我正在尝试使用Python mysql.connector软件包与MySQL数据库建立安全连接。 In the documentation声明:

  

通过SSL连接

     

当您提供ssl_ca,ssl_key和ssl_cert选项时,连接将切换为SSL,并且client_flags选项将自动包含ClientFlag.SSL值

然后继续说:

  

从Connector / Python 2.2.2开始,如果MySQL服务器支持SSL连接,则默认情况下,Connector / Python会尝试建立安全(加密)连接,否则会退回到未加密连接

我在这里有点不清楚。如果我提供ssl_ *选项,是否表示连接器将仅使用SSL,并且如果无法建立安全连接,则失败吗?一种“连接或死亡”的情况。

如果有人深入研究了连接器在幕后的工作方式,我希望回答以下两个问题:

  • “回退到未加密的连接”的具体细节是什么? (即-在什么条件下会发生?)
  • 如果我们至少提供ssl_ *选项中的,并且建立了连接,我们是否可以认为它是安全的?

一些注意事项:

  • 我知道有一些潜在的解决方法,例如使数据库用户要求SSL并检查服务器的状态(如果连接使用的是SSL),但我实际上只是对特定行为感兴趣连接器不是替代解决方案。
  • 我正在使用latest version of the connector(8.0)
  • 我特别在谈论Oracle not the other two options
  • 提供的MySQL连接器

0 个答案:

没有答案