"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo extraer la clave privada RSA del archivo PEM en .NET?

¿Cómo extraer la clave privada RSA del archivo PEM en .NET?

Publicado el 2025-04-14
Navegar:113

How to Retrieve an RSA Private Key from a PEM File in .NET?

RSA Recuperación de la clave privada en .NET del formato PEM

en .NET, la lectura de una clave privada RSA RSA clave de RSA e inicializar una institución RSacrypToservice-Probador para descripción de datos CON CONSEJOS CON CONTRESITADO. Este artículo describe dos enfoques para lograr esta tarea.

. Net 5 y luego

Comenzando con .NET 5, una capacidad incorporada está disponible para leer las claves privadas de PEM:

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

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

bibliotecas preinstaladas

para versiones anteriores de .net o si la funcionalidad incorporada no es adecuada, las bibliotecas externas como Bouncycastle proporcionan una solución:

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));
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3