通过SSL连接连接到AWS RDS MySQL的C#连接字符串

时间:2017-08-02 07:06:53

标签: amazon-web-services ssl pem rds pfx

根据AWS RDS文档,AWS RDS MySQL附带SSL证书,公钥位于AWS网站下载的名为“ rds-combined-ca-bundle.pem ”的文件中。

我还看到了来自MySQL的文档,这就是你在C#(.NET)中创建SSL客户端连接的方式:

using (MySqlConnection connection = new MySqlConnection("database=test;user=sslclient;CertificateFile=H:\\...\\client.pfx;CertificatePassword=pass;SSL Mode=Required"))
{
    connection.Open();
}

但如何将此“ rds-combined-ca-bundle.pem ”转换为此“ client.pfx ”?

1 个答案:

答案 0 :(得分:0)

客户端证书与CA Bundle不同。 CA Bundle用于验证远程服务器的证书是否可信。您可以通过将CA添加到证书存储区来在Windows中执行此操作。话虽这么说,当您指定SSL Mode = Required时,MySql Client会忽略证书验证,因此甚至不需要使用CA PEM文件。

如果您确实希望.Net MySql客户端验证证书,则必须设置SSL Mode = VerifyCA或VerifyFull。

将PEM CA导入证书存储区。

打开MMC,然后转到“证书”管理单元。 打开“证书”(本地计算机),双击“受信任的根证书颁发机构”节点 右键单击“证书”,选择所有任务 - >导入......

Here is a post with more information on MySQL .Net SSL options