bool mysql_ssl_set(MYSQL * MYSQL, const char *key, const char *cert, const char *ca, const char *capath,
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证书,并启用主机名身份验证。通过这种方式,服务器和客户端将信任放在同一个CA证书中,客户端验证它所连接的主机是否是预期的主机。详细信息请参见3.6.1节“支持加密连接”.
mysql_ssl_set ()
是否有一个便利函数本质上等价于这个集合mysql_options ()
电话:
mysql_options(mysql, MYSQL_OPT_SSL_KEY, key);mysql_options(MYSQL_OPT_SSL_CERT);mysql_options(MYSQL_OPT_SSL_CA, ca);mysql_options(MYSQL_OPT_SSL_CAPATH);mysql_options(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 ()
当您尝试连接时,Call返回一个错误。