Azure 函数 - 连接字符串中的 MySQL EFCore 证书

问题描述 投票:0回答:1

我想验证并使用来自 Azure MySQL 服务器的证书(PEM 文件)。我需要能够将其添加到 KV,然后在我的连接字符串中使用它。

因此,我下载了此证书,然后想将其放入我的密钥保管库中,并在我的 Azure 函数中访问它以获取 EfCore(柚子)的连接字符串。

我在 Keyvault 中收到此错误,这对我来说很有意义,但我如何获取私钥以便将其添加到其中?

Private key is not specified in the specified X.509 PEM certificate content. Please specify private key in the X.509 PEM certificate content.

我从 Azure 中的 MySQL 窗格下载的 PEM 证书只给了我

-----BEGIN CERTIFICATE-----
blah
-----END CERTIFICATE-----

我也需要其中的私钥,就像天蓝色文档中显示的那样:

-----开始证书-----

-----结束证书-----

-----开始私钥-----

-----结束私钥-----

我需要对连接字符串中的证书进行完整验证,如下所示:

Server=**=dbheat;Uid=**;Pwd=**;SslMode=VerifyCA;SslCert='/'",
mysql azure azure-keyvault client-certificates pem
1个回答
0
投票

我通过创建一个允许参数的连接字符串解决了这个问题。

var connectionstring = new MySqlConnector.MySqlConnectionStringBuilder()
{   
    Server = "whatever.mysql.database.azure.com",
    Database = "db",
    UserID = "un",
    Password = "password",
    SslMode= MySqlConnector.MySqlSslMode.VerifyCA,
    SslCert = cert.ToString()

}.ToString();

然后我创建了一个变量来存储我的 pem 详细信息 - PEM 中 BEGIN CERTIFICATE 之后的内容,然后使用

var cert = new X509Certificate2(Convert.FromBase64String(certpem));

获取字符串作为.net中的证书

中提琴 - 它有效

© www.soinside.com 2019 - 2024. All rights reserved.