Me gustaría generar una clave privada en java, guardarla como una cadena codificada de 64 bases en algún archivo y luego encriptar algunas frases en C# utilizando este archivo guardado. Sé que generar claves en Java y codificar con 64 base. Mi pregunta es ¿cómo uso esta clave en C#? Este es un prototipo de código java para guardar la clave privada en un archivo de texto:RSA: ¿Cómo generar clave privada en java y usarla en C#?
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
RSAKeyGenParameterSpec spec = new RSAKeyGenParameterSpec(1024, RSAKeyGenParameterSpec.F4);
keyGen.initialize(spec);
KeyPair keyPair = keyGen.generateKeyPair();
PrivateKey privateKey = keyPair.getPrivate();
writeToFile("privateKey", Base64.encode(keyPair.getPrivate().getEncoded()));
me gustaría poner en práctica siguiente función en C#, pero no puedo encontrar la forma de crear RSAParameters o RSACryptoServiceProvider de clave privada
public static string DecryptData(string privateKey64Base, string data64Base)
{
// create using privateKey64Base
// create RSACryptoServiceProvider rsa using RSAParameters above
// byte[] encryptedData = rsa.Encrypt(Convert.FromBase64String(data64Base);
}
Estoy seguro de que ya se ha preguntado ... No puedo encontrar –