2016-03-07 8 views
2

Я пытаюсь использовать метод X509Certificate2.CreateFromCertFile() в приложении ASP.NET Core, но похоже, что он не поддерживается для .NET Core.X509Certificate2.CreateFromCertFile() на .NET Core

Есть ли альтернативный способ создания объекта X509Certificate2 из файла cert/pfx?

ответ

2

Возможно, что-то вроде этого?

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