Je voudrais générer une clé privée dans Java, l'enregistrer comme une chaîne codée 64 base dans un fichier puis crypter une phrase en C# en utilisant ce fichier enregistré. Je sais générer des clés en java et l'encoder avec 64 base. Ma question est comment puis-je utiliser cette clé en C#? C'est un prototype de code Java pour sauvegarder le fichier clé dans texte privé:RSA: Comment générer une clé privée dans Java et l'utiliser 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()));
Je voudrais mettre en œuvre la fonction suivante en C# mais ne peut pas trouver comment créer RSAParameters ou RSACryptoServiceProvider de clé privée
public static string DecryptData(string privateKey64Base, string data64Base)
{
// create using privateKey64Base
// create RSACryptoServiceProvider rsa using RSAParameters above
// byte[] encryptedData = rsa.Encrypt(Convert.FromBase64String(data64Base);
}
Je suis sûr que cela a déjà été demandé ... Je ne trouve tout simplement pas –