Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core .NET Core上的X509Certificate2.CreateFromCertFile()_Asp.net Core_.net Core_X509certificate2 - Fatal编程技术网

Asp.net core .NET Core上的X509Certificate2.CreateFromCertFile()

Asp.net core .NET Core上的X509Certificate2.CreateFromCertFile(),asp.net-core,.net-core,x509certificate2,Asp.net Core,.net Core,X509certificate2,我正在尝试在ASP.NET Core应用程序中使用X509Certificate2.CreateFromCertFile()方法,但是.NET Core似乎不支持该方法 有没有从cert/pfx文件创建X509Certificate2对象的替代方法?可能是这样的 public Certificate CreateFromCertFile() { string cerFile = @"c:\cer.txt"; string keyFile = @"c:\key.txt";

我正在尝试在ASP.NET Core应用程序中使用
X509Certificate2.CreateFromCertFile()
方法,但是.NET Core似乎不支持该方法


有没有从cert/pfx文件创建
X509Certificate2
对象的替代方法?

可能是这样的

public Certificate CreateFromCertFile()
{
    string cerFile = @"c:\cer.txt";
    string keyFile = @"c:\key.txt";

    var cert = new X509Certificate2(cerFile);
    cert.PrivateKey = CreateRSAFromFile(keyFile);

    return  cert;
}

private RSACryptoServiceProvider CreateRSAFromFile(string filename)
{
    byte[] pvk = null;
    using (var fs = File.Open(filename, FileMode.Open, FileAccess.Read, FileShare.Read))
    {
        pvk = new byte[fs.Length];
        fs.Read(pvk, 0, pvk.Length);
    }

    var rsa = new RSACryptoServiceProvider();
    rsa.ImportCspBlob(pvk);

    return rsa;
}