小编Nir*_* B.的帖子

如何从 .NET 标准中的 PEM 文件加载带有私钥的证书

我正在尝试从 .NET 标准库中的 PEM 文件加载 X509Certificate2。

我使用 openssl 创建了一个自签名证书,如下所示:

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -subj /CN=localhost -days 365
Run Code Online (Sandbox Code Playgroud)

我将生成的 PEM 文件加载到项目中的嵌入字符串资源中,并尝试使用以下代码加载它们:

private X509Certificate2 GetCertificate()
{
    try
    {
        byte[] pubPem = System.Text.Encoding.UTF8.GetBytes(Properties.Resources.DefaultPublicPem.Trim());
        var cert = new X509Certificate2(pubPem);
        var rsa = GetRSAFromPem(Properties.Resources.DefaultPrivatePem.Trim());
        cert.PrivateKey = rsa;
        return cert;
    }

    catch (Exception ex)
    {
        // ignore errors
        return null;
    }
}

public static RSA GetRSAFromPem(String pemstr)
{
    RSA rsaKey = RSA.Create();
    Func<RSA, RsaKeyParameters, RSA> MakePublicRCSP = (RSA rcsp, RsaKeyParameters …
Run Code Online (Sandbox Code Playgroud)

x509certificate .net-standard

5
推荐指数
1
解决办法
6809
查看次数

标签 统计

.net-standard ×1

x509certificate ×1