根据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 ”?
答案 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