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