如何在c#中的RESTful Web API中使用私钥.pfx文件解密加密数据?

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

如何在c#中解密RESTful Web api中加密格式的数据。

encryption rsa private-key asymmetric
1个回答
0
投票

C#中使用私钥进行RSA解密。

借助包含私钥的 .pfx 文件对来自客户端的加密格式数据进行解密。

这里我们需要X509Certificate2和.pfx文件。

  • X509Certificate2x509Certificate 的子类,它可以访问所有属性,例如权威密钥标识符。
  • 因此,借助这个x509Certificate类和受保护的.pfx文件的密码,我们可以获得以.pfx扩展名形式存储在物理路径或服务器计算机上的证书私钥。
所以让我们实际看看...

注意:这里的

url_data是从客户端获取的加密数据或字符串,使用公钥加密。

[HttpPost] public string CallbackURL([FromBody] string url_data) { string return_data = ""; if (url_data!= "") { byte[] encryptedBytes; byte[] decryptedBytes; encryptedBytes = Convert.FromBase64String(return_data); X509Certificate2 cert = PrivateKeyFromCert(); RSACryptoServiceProvider rsaProv = cert.PrivateKey as RSACryptoServiceProvider; decryptedBytes = rsaProv.Decrypt(encryptedBytes, false); ASCIIEncoding byteConverter = new ASCIIEncoding(); return_data = byteConverter.GetString(decryptedBytes); } else { return_data = "Error While Receiving Data."; } return return_data; } public static X509Certificate2 PrivateKeyFromCert() { return new X509Certificate2(@"C:\cert_name.pfx", "Password",X509KeyStorageFlags.Exportable); }
    
© www.soinside.com 2019 - 2024. All rights reserved.