MySQL Connector/NET 发行说明
直接使用 PEM 格式证书是为了简化包含类似 MySQL 产品的多平台环境中的证书管理。在早期版本的 Connector/NET 中,您只能使用平台相关的 PFX 格式证书。
对于此示例,请使用来自 MySQL 服务器存储库的测试客户端证书 (
)。在您的应用程序中,添加使用 server-repository-root
/mysql-test/std_datatest
数据库和 sslclient
用户帐户(之前已创建)的连接字符串。例如
将
SslMode
连接选项设置为所需的安全性级别。PEM 证书仅针对VerifyCA
和VerifyFull
SSL 模式值进行验证。所有其他模式值都会忽略证书,即使提供了证书。using (MySqlConnection connection = new MySqlConnection( "database=test;user=sslclient;" + "SslMode=VerifyFull"
添加适当的 SSL 证书。由于本教程将
SslMode
选项设置为VerifyFull
,因此您还必须为SslCa
、SslCert
和SslKey
连接选项提供值。每个选项都必须指向具有.pem
文件扩展名的文件。"SslCa=ca.pem;" + "SslCert=client-cert.pem;" + "SslKey=client-key.pem;"))
或者,如果您将 SSL 模式设置为
VerifyCA
,则仅需SslCa
连接选项。打开连接。以下示例使用经典 MySQL 协议打开连接,但您可以使用 X 协议执行类似的测试。
using (MySqlConnection connection = new MySqlConnection( "database=test;user=sslclient;" + "SslMode=VerifyFull" + "SslCa=ca.pem;" + "SslCert=client-cert.pem;" + "SslKey=client-key.pem;")) { connection.Open(); }
在处理 PEM 证书时发现的错误将导致抛出异常。有关更多信息,请参阅 加密连接的命令选项。