.NET 中從PEM 格式擷取RSA 私鑰
在.NET 中,讀取PEM 格式的CrRSAtoService並初始化RSARSAypyptoServiceProviderRSAyptoServiceProvider解密使用對應公鑰加密的資料的實例需要特定步驟。本文概述了完成此任務的兩種方法。
.NET 5 及更高版本
從.NET 5 開始,可以使用內建功能來讀取PEM 私有鍵:
var privateKey = @"-----BEGIN RSA PRIVATE KEY----- { the full PEM private key } -----END RSA PRIVATE KEY-----"; var rsa = RSA.Create(); rsa.ImportFromPem(privateKey.ToCharArray());
預安裝庫
對於早期版本的.NET或如果內建功能不合適,BouncyCastle 等外部程式庫提供了解決方案:
var bytesToDecrypt = Convert.FromBase64String("la0Cz.....D43g=="); // string to decrypt, base64 encoded AsymmetricCipherKeyPair keyPair; using (var reader = File.OpenText(@"c:\myprivatekey.pem")) // file containing RSA PKCS1 private key keyPair = (AsymmetricCipherKeyPair)new PemReader(reader).ReadObject(); var decryptEngine = new Pkcs1Encoding(new RsaEngine()); decryptEngine.Init(false, keyPair.Private); var decrypted = Encoding.UTF8.GetString(decryptEngine.ProcessBlock(bytesToDecrypt, 0, bytesToDecrypt.Length));
以上是如何從 .NET 中的 PEM 檔案檢索 RSA 私鑰?的詳細內容。更多資訊請關注PHP中文網其他相關文章!