Heim > Backend-Entwicklung > C++ > Wie lese und verwende ich einen privaten PEM-RSA-Schlüssel in .NET?

Wie lese und verwende ich einen privaten PEM-RSA-Schlüssel in .NET?

Mary-Kate Olsen
Freigeben: 2025-01-06 11:38:41
Original
198 Leute haben es durchsucht

How to Read and Use a PEM RSA Private Key in .NET?

Lesen eines privaten PEM-RSA-Schlüssels in .NET

In .NET gibt es mehrere Ansätze, einen privaten PEM-RSA-Schlüssel zu lesen und zu instanziieren ein RSACryptoServiceProvider für Entschlüsselungszwecke.

Verwendung von .NET 5 und Oben

Für .NET 5 und spätere Versionen ist die Unterstützung für das Lesen privater PEM-RSA-Schlüssel integriert. Das folgende Codebeispiel zeigt, wie das geht:

var privateKey = @""-----BEGIN RSA PRIVATE KEY-----
{ the full PEM private key } 
-----END RSA PRIVATE KEY-----"";

var rsa = RSA.Create();
rsa.ImportFromPem(privateKey.ToCharArray());

var decryptedBytes = rsa.Decrypt(
    Convert.FromBase64String("{ base64-encoded encrypted string }"), 
    RSAEncryptionPadding.Pkcs1
);

// this will print the original unencrypted string
Console.WriteLine(Encoding.UTF8.GetString(decryptedBytes));
Nach dem Login kopieren

Verwenden der Bouncy Castle-Bibliothek

Für ältere Versionen von .NET können Sie die Bouncy Castle-Bibliothek verwenden Lesen Sie private PEM-RSA-Schlüssel. Hier ist ein Beispiel:

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)); 
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie lese und verwende ich einen privaten PEM-RSA-Schlüssel in .NET?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage