mysql cert on_如何使用SSL访问MySQL Database on Azure | Azure Docs

SSL安全访问MySQL Database on Azure

12/15/2017

本文内容

通过SSL加密访问数据库,可以保障您访问的安全性,本文介绍如何下载并配置SSL证书。目前MySQL Database on Azure支持利用公钥在服务器端进行加密验证。

在您创建MySQL Database on Azure实例时,我们强烈建议您将数据库实例与其他Azure服务放在同一区域,即使不用SSL加密,也可保障安全性。

步骤1:下载证书至本地

前往DigiCert官网下载DigiCertGlobalRootCA.cer根证书 点此下载

步骤2:下载并安装OpenSSL

点此页面,找到并下载最新版本的OpenSSL。

步骤3:移动本地证书文件至OpenSSL目录

把步骤1中下载的证书放到…\OpenSSL-Win32\bin目录下。

步骤4:将证书文件转换为pem格式

下载的根证书文件为cer格式,需利用openssl.exe命令行工具执行以下命令来实现文件格式的转换:

OpenSSL>x509 -inform DEV -in DigiCertGlobalRootCA.cer -out DigiCertGlobalRootCA.pem

步骤5:将根证书与应用绑定

最后,将步骤4中生成的pem根证书文件与应用绑定。后文提供了mysql和workbench两种常见客户端的配置方法。

使用mysql命令行工具进行SSL连接

以mysql.exe命令行工具为例,创建连接时需使用--ssl-ca参数来指定公钥证书。命令如下:

mysql.exe --ssl-ca=C:\OpenSSL-Win32\bin\DigiCertGlobalRootCA.pem -h mysql4doc.mysqldb.chinacloudapi.cn -u mysql4doc%admin -p

连接成功后,使用status命令可以查看客户端SSL连接特性。若SSL的参数值为Cipher in use,则表明成功创建SSL连接。

a7c06e2c20452e3577a187ac000d8439.png

备注

需要注意的是MySQL on Azure在代理服务器proxy和用户端之间建立了SSL安全链接,所以服务器中SSL相关的全局变量或者会话变量仍然是DISABLED值,而实际上整个通信过程已被TLSv1加密。

使用MySQL Workbench图形界面工具进行SSL连接

MySQL Workbench是常用的图形化数据库管理工具。通过Setup New Connection或Manage Server Connections对话框的SSL标签页,可以配置SSL连接所需的证书,如下图所示。

5ce206d3b743a79db003687419d4df4b.png

[!NOTE]

在Use SSL中选择‘If Available’,否则可能会造成配置失败。 在Test Connection过程中可能会提示SSL not enabled,这是一个假预警,点击确认后连接数据库。

MySQL workbench 6.3.5中,会默认进行SSL加密,且存在一定的兼容性问题,具体解决方法可参见客户端兼容性常见问题

提示 当前证书支持MySQL.exe 5.5.44和5.6.25及其后续版本。

利用函数进行配置

以Python为例,下图是一段示例代码,供参考:

339c45ef637da787aba4e208714e429d.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值