faso
faso

Reputation: 697

X509Certificate2.CreateFromCertFile() on .NET Core

I am trying to use X509Certificate2.CreateFromCertFile() method in an ASP.NET Core application, but it seems like it's not supported for .NET Core.

Is there an alternative way of creating an X509Certificate2 object from a cert/pfx file?

Upvotes: 3

Views: 6029

Answers (1)

Stef Heyenrath
Stef Heyenrath

Reputation: 9820

Maybe something like this?

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;
}

Upvotes: 7

Related Questions