Abruf privater RSA-Schlüssel in .NET aus dem PEM-Format
In .NET Lesen eines PEM-formatierten privaten RSA-Schlüssels und Initialisieren eines RSACryptoServiceProvider Eine Instanz zum Entschlüsseln von Daten, die mit dem entsprechenden öffentlichen Schlüssel verschlüsselt wurden, erfordert bestimmte Schritte. In diesem Artikel werden zwei Ansätze zum Erreichen dieser Aufgabe beschrieben.
.NET 5 und höher
Ab .NET 5 steht eine integrierte Funktion zum Lesen von PEM Private zur Verfügung Schlüssel:
var privateKey = @"-----BEGIN RSA PRIVATE KEY----- { the full PEM private key } -----END RSA PRIVATE KEY-----"; var rsa = RSA.Create(); rsa.ImportFromPem(privateKey.ToCharArray());
Vorinstalliert Bibliotheken
Für frühere Versionen von .NET oder wenn die integrierte Funktionalität nicht geeignet ist, bieten externe Bibliotheken wie BouncyCastle eine Lösung:
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));
Das obige ist der detaillierte Inhalt vonWie rufe ich einen privaten RSA-Schlüssel aus einer PEM-Datei in .NET ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!