C#-从文件加载.DER公钥并用于加密

时间:2018-09-25 20:45:21

标签: c# encryption der

我在供应商的.der扩展文件中有一个公共密钥。我必须使用它来使用C#加密某些内容并将结果添加到API调用中。我是这种类型的东西的新手,无法弄清楚如何将.der文件中的密钥加载到代码中并使用它来加密我的字符串。有什么帮助吗?

谢谢!

1 个答案:

答案 0 :(得分:-1)

您可以使用X509Certificate2加载证书,即:

var cert = new X509Certificate2(@"C:\path\to\key.der");

var publicKey = cert.GetRSAPublicKey();
var privateKey = cert.GetRSAPrivateKey();

要实际加密/解密数据,您将根据规范执行以下类似操作

var plaintext = Encoding.UTF8.GetBytes("Some Secret");

var encrypted = publicKey.Encrypt(plaintext, RSAEncryptionPadding.OaepSHA256);

var decrypted = privateKey.Decrypt(encrypted, RSAEncryptionPadding.OaepSHA256);

Console.WriteLine(Encoding.UTF8.GetString(decrypted));