10bet网址
MySQL 5.7 C API开发指南
本手册下载
PDF (Ltr)- 1.1 mb
PDF (A4)- 1.1 mb
HTML下载(TGZ)- 147.1 kb
HTML下载(邮政编码)- 156.9 kb


5.4.75 mysql_ssl_set ()

mysql_ssl_set(MYSQL * MYSQL, const char *key, const char *cert, const char *ca, const char *capath, const char *cipher)

描述

mysql_ssl_set ()用于使用SSL建立加密连接。的mysql参数必须是有效的连接处理程序。任何未使用的SSL参数可以作为

如果使用,mysql_ssl_set ()必须在之前调用mysql_real_connect ()mysql_ssl_set ()除非在客户端库中启用SSL支持,否则不执行任何操作。

呼叫是可选的mysql_ssl_set ()因为默认情况下,如果服务器支持加密连接,MySQL程序会尝试使用加密连接,如果无法建立加密连接,则退回到不加密连接(参见配置MySQL使用加密连接).mysql_ssl_set ()可能对必须指定特定证书和密钥文件、加密密码等的应用程序有用。

mysql_ssl_set ()指定SSL信息,例如证书和密钥文件,用于建立加密连接(如果有这样的连接),但不强制要求获得的连接必须加密。若需要加密连接,请使用中描述的技术第3.6.1节“加密连接的支持”

对于相对于默认加密提供的额外安全性,客户端可以提供与服务器使用的证书匹配的CA证书,并启用主机名身份验证。通过这种方式,服务器和客户端将它们的信任放在相同的CA证书中,客户端验证其连接到的主机是否为预期的主机。有关详细信息,请参见第3.6.1节“加密连接的支持”

mysql_ssl_set ()方便函数本质上等价于这个集合吗mysql_options ()电话:

mysql_options (mysql, MYSQL_OPT_SSL_KEY键);mysql_options (mysql, MYSQL_OPT_SSL_CERT cert);mysql_options (mysql, MYSQL_OPT_SSL_CA, ca);mysql_options (mysql MYSQL_OPT_SSL_CAPATH capath);mysql_options (mysql, MYSQL_OPT_SSL_CIPHER密码);

由于这种等价性,应用程序可以而不是调用mysql_ssl_set (),叫mysql_options ()直接地,省略对选项值为的那些选项的调用.此外,mysql_options ()提供无法使用的加密连接选项mysql_ssl_set (),如MYSQL_OPT_SSL_MODE指定连接的安全状态和MYSQL_OPT_TLS_VERSION为加密连接指定客户端允许的协议。

参数:

  • mysql:返回的连接处理程序mysql_init ()

  • 关键:客户端私钥文件的路径名称。

  • cert:客户端公钥证书文件的路径名称。

  • ca: CA证书文件的路径名称。如果使用此选项,则必须指定服务器使用的相同证书。

  • capath:受信任的SSL CA证书文件所在目录的路径名称。

  • 密码: SSL加密允许使用的密码列表。

返回值

这个函数总是返回0.如果SSL设置不正确,则后续的mysql_real_connect ()当尝试连接时,调用返回一个错误。