establishing ssl connection without server's identity verification is not recommended. according to mysql 5.5.45+, 5.6.26+ and 5.7.6+ requirements ssl connection must be established by default if explicit option isn't set. for compliance with existing applications not using ssl the verifyservercertificate property is set to 'false'. you need either to explicitly disable ssl by setting usessl=false, or set usessl=true and provide truststore for server certificate verification
时间: 2023-05-31 17:19:20 浏览: 186
MySQL 使用 SSL 连接配置详解
### 回答1:
建立SSL连接时不建议不验证服务器身份。根据MySQL 5.5.45+、5.6.26+和5.7.6+的要求,如果没有显式设置选项,则默认情况下必须建立SSL连接。为了符合不使用SSL的现有应用程序的要求,verifyservercertificate属性被设置为“false”。您需要显式地通过设置usessl=false来禁用SSL,或者设置usessl=true并提供truststore以进行服务器证书验证。
### 回答2:
SSL连接是一种安全的加密连接,它可以在网络上传输敏感的数据而不会被第三方窃取或窃听。但是,在不验证服务器身份的情况下建立SSL连接是不推荐的。因为这个做法有潜在的安全风险,有可能导致数据泄露或者被恶意第三方伪装攻击。因此,现在的MySQL版本都要求默认开启SSL连接。如果现有的程序不支持SSL连接,可以设置verifyservercertificate为“false”,这样既能兼容老程序,又能保障安全。
但是,我们需要注意的是,这种设置有可能会使得程序处于不安全的状态。因此,建议在程序中显式地开启或关闭SSL连接,并且提供可信的证书进行服务器身份验证。如果我们设置了usessl=false,则表示禁用SSL连接;如果设置了usessl=true,则表示开启SSL连接,并且需要提供可信的证书文件。
当我们使用SSL连接时,需要提供可信的证书文件进行服务器身份验证。这个证书文件通常存储在一个叫做truststore的文件中。truststore文件中包含了所有被信任的证书的信息,这时客户端会将服务器返回的证书与这个文件中的证书做比对,以确保服务器的身份,从而保证数据的安全性。
总的来说,为了保证数据的安全性和程序的稳定性,建议我们在MySQL程序中显式地开启或关闭SSL连接,并且提供可信的证书进行服务器身份验证。这样可以最大程度地保障 MySQL 服务的安全性和稳定性。
### 回答3:
SSL连接的建立需要服务器的身份验证,不建议在没有服务器身份验证的情况下建立SSL连接。根据MySQL 5.5.45、5.6.26和5.7.6的要求,默认情况下必须建立SSL连接,如果没有设置明确选项,则必须建立SSL连接。为了符合不使用SSL的现有应用程序的要求,verifyservercertificate属性设置为“false”。您需要通过设置usessl = false显式禁用SSL,或者设置usessl = true并提供truststore以供服务器证书验证。
SSL连接的建立通常用于安全通信和数据传输。通过使用SSL连接确保通信过程中,不会被非法侵入、监听或者窃取敏感信息,确保数据传输的安全性和可靠性。因此,建立SSL连接是非常必要的,能够确保数据的安全性和完整性。
但是需要建立SSL连接并不意味着可以忽略服务器证书的验证。服务器证书的验证是保证SSL连接完整性和安全性的必要步骤。因此,在建立SSL连接的时候应该加强对服务器证书的验证过程。否则,开发者可能因此造成网络或者数据的不安全,这会给用户和公司都造成重大损失和影响。
因此,我们建议在建立SSL连接时,必须对服务器证书进行验证。这可以通过设置truststore完成。如果因某些原因需要关闭SSL,使用usessl = false即可。当然,在某些情况下,为了专门对旧有应用程序进行设置,verifyservercertificate属性也可以设置为“false”,但是这并不是一个长久之计,应该尽快加强对服务器证书的验证,确保数据的安全性和完整性。
阅读全文