文档首页
MySQL Connector/NET 开发人员指南
相关文档 下载本手册
PDF (US Ltr) - 1.3Mb
PDF (A4) - 1.3Mb


6.7.1 在 Connector/NET 中使用 PEM 证书

直接使用 PEM 格式证书是为了简化包含类似 MySQL 产品的多平台环境中的证书管理。在早期版本的 Connector/NET 中,您只能使用平台相关的 PFX 格式证书。

对于此示例,请使用来自 MySQL 服务器存储库的测试客户端证书 (server-repository-root/mysql-test/std_data)。在您的应用程序中,添加使用 test 数据库和 sslclient 用户帐户(之前已创建)的连接字符串。例如

  1. SslMode 连接选项设置为所需的安全性级别。PEM 证书仅针对 VerifyCAVerifyFull SSL 模式值进行验证。所有其他模式值都会忽略证书,即使提供了证书。

    using (MySqlConnection connection = new MySqlConnection(
    "database=test;user=sslclient;" +
    "SslMode=VerifyFull"
  2. 添加适当的 SSL 证书。由于本教程将 SslMode 选项设置为 VerifyFull,因此您还必须为 SslCaSslCertSslKey 连接选项提供值。每个选项都必须指向具有 .pem 文件扩展名的文件。

    "SslCa=ca.pem;" +
    "SslCert=client-cert.pem;" +
    "SslKey=client-key.pem;"))

    或者,如果您将 SSL 模式设置为 VerifyCA,则仅需 SslCa 连接选项。

  3. 打开连接。以下示例使用经典 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 证书时发现的错误将导致抛出异常。有关更多信息,请参阅 加密连接的命令选项