配置 SQL Gateway 和 MySQL 数据库之间的 SSL 加密连接

过程

步骤

操作

1

为客户端和服务器都创建自签名证书

2

配置 MySQL 服务器

3

配置 MySQL 数据库以用于验证客户端证书(如有需要)

4

配置 SQL Gateway

创建用于 MySQL 连接的自签名证书

SQL Gateway 的安装包含批文件,其用于为 MySQL 服务器创建自签名证书。

批文件的执行前提是,PC 上必须安装有 OpenSSL。如要获取 OpenSSL,请访问 http://www.openssl.org

步骤

操作

详细信息

1

打开批文件。

设置 > 证书选项卡中,选择打开文件夹 > MySQL

2

调整批文件模板。

1.将占位符 "MYSQL_SERVER_TEST" 替换为将为根证书赋予的名称。

2.如果需要验证名称,则将占位符 "Computer_Name" 替换为计算机全名或服务器 PC 的主机名称。它用于识别服务器证书。

3.将占位符 "MYSQL_SERVER_TEST_CLIENT" 替换为将为客户端证书赋予的名称。

3

执行批文件。

然后便会创建三个证书:

o根证书 (ca.pem)

o服务器证书(server-cert.pem 和 server-key.pem)

o客户端证书 (client-cert.pfx)

4

将根证书和服务器证书复制到 MySQL 服务器的数据目录。

将客户端证书复制到运行 SQL Gateway 的 PC。

5

根据“配置 MySQL 服务器”一节的描述,调整 MySQL 服务器的 my.ini 文件

6

重启 MySQL 服务器。

7

根据本文档“管理证书存储库中的证书”一节的描述,将客户端证书复制到证书存储库

结果:客户端证书和根证书被导入。

配置 MySQL 服务器

调整 MySQL 服务器的 my.ini 文件。

如要激活 SSL 并将服务器证书用于 SSL 加密连接,则根据如下例子所述的那样,使用缺省 MySQL 数据文件夹来设置选项 sslssl-cassl-certssl-key

在 my.ini 文件末尾插入以下行。

ssl
ssl-ca=ca.pem
ssl-cert=server-cert.pem
ssl-key=server-key.pem

配置 MySQL 数据库以用于验证客户端证书(可选)

如果在建立连接之前由,MySQL 数据库应验证客户端证书,则配置该可选步骤。

为此,通过执行命令 ALTER USER 来设置数据库用户账户的 SSL 选项:

命令

描述

REQUIRE X509

向客户端请求证书。

REQUIRE ISSUER 'issuer'

允许访问提供符合定义 issuer 的证书的客户端。

REQUIRE SUBJECT 'subject'

允许访问提供符合定义 subject 的证书的客户端。

配置 SQL Gateway

步骤

操作

1

数据库服务器列表中选择合适的条目。

2

在右侧,将参数 SSL 加密设置为

3

选择合适的选项,以用于通过服务器验证参数验证服务器证书。

4

选择合适的选项,以用于通过客户端证书参数验证客户端证书。

服务器证书的验证

对于 MySQL 连接,可使用 SQL Gateway 的配置选项卡来配置如何评估服务器证书。

如果参数 SSL 加密设置为,则参数服务器验证提供以下选项:

服务器验证选项

描述

无验证

SQL Gateway 计算机不验证服务器证书。

Warning_Color.gif警告

未经身份验证的访问

o无验证设置仅用于测试。

o运行期间不得使用无验证设置。

不遵循上述说明可能导致人员伤亡或设备损坏。

服务器验证选项

描述

验证证书

SQL Gateway 计算机验证服务器证书

验证证书 + 验证名称

SQL Gateway 计算机既验证 服务器证书,又验证名称

注意: 如果使用此选项,则参数服务器地址必须匹配服务器证书中的主题名称。

客户端证书

对于 MySQL 连接,可以通过 SQL Gateway 的配置选项卡来选择要为到 MySQL 服务器的 SSL 连接使用的客户端证书。

如果参数 SSL 加密设置为,则参数客户端证书提供以下选项:

客户端证书选项

描述

如果没有提供客户端证书,则选择选项。

来自文件

如果客户端证书作为 .pfx 文件提供,则选择来自文件选项。另外还显示以下参数

o证书文件,让您能够浏览到 .pfx 文件或者输入 .pfx 文件的路径。

o证书密码,让您能够输入 .pfx 文件的密码。

来自个人存储库

如果客户端证书安装在证书存储库中,则选择来自个人存储库选项。另外还显示以下参数:

o证书存储库,提供当前用户本地计算机这两个选项。

注意: 如果选择的是当前用户选项,则必须在此用户账户下运行 SQL Gateway 服务。在这种情况下,使用本地计算机选项。

o证书拇指指纹中,可以输入客户端证书的拇指指纹。