Générer une paire de clés publique-privée et les afficher dans une zone de texte en asp.net

n’importe quel corps peut expliquer les parameters de RSAParameters que j’avais vu les parameters comme p, d, e, q, … j’ai besoin de la clé privée et de la clé publique

j’ai eu le lien

http://msdn.microsoft.com/en-us/library/system.security.cryptography.rsaparameters%28v=vs.90%29.aspx[^]

J’utilise l’exemple de code comme celui-ci. Tout le monde peut dire qu’il avait raison ou non du code exemple:

//Generate a public/private key pair. RSACryptoServiceProvider RSA = new RSACryptoServiceProvider(); //Save the public key information to an RSAParameters structure. RSAParameters RSAKeyInfo = RSA.ExportParameters(true); //public key TextBox5.Text = Convert.ToBase64Ssortingng(RSAKeyInfo.Exponent); // private key TextBox6.Text = Convert.ToBase64Ssortingng(RSAKeyInfo.D); 

ils avaient donné comme que la clé publique est {e, n} où n = résultat de la (P * Q) clé privée est {d, n} où n = résultat de la (P * Q)

où je l’avais fait est la bonne chose ou non dans l’exemple de code pour les clés publique et privée

Merci beaucoup

Utilisation de l’API BouncyCastle

http://www.bouncycastle.org/

et quelque chose de semblable à ce qui suit;

 public AsymmesortingcCipherKeyPair GenerateKeys(int keySizeInBits) { RsaKeyPairGenerator r = new RsaKeyPairGenerator(); r.Init(new KeyGenerationParameters(new SecureRandom(), keySizeInBits)); AsymmesortingcCipherKeyPair keys = r.GenerateKeyPair(); return keys; } 

Vous pouvez accéder à un object qui aura un. Public et. Private privée avec les chaînes correctement formatées.

J’ai eu un problème similaire il y a quelque temps et c’était la meilleure solution que je pouvais trouver. Je n’ai pas le code exact sous la main, mais je le posterai quand j’entrerai dans le bureau si nécessaire, mais ce qui précède devrait fonctionner.

Mis à jour avec le code

C’est le code que j’ai utilisé pour générer des clés publiques / privées.

  public static AsymmesortingcCipherKeyPair GenerateKeys(int keySizeInBits) { var r = new RsaKeyPairGenerator(); r.Init(new KeyGenerationParameters(new SecureRandom(),keySizeInBits)); var keys = r.GenerateKeyPair(); return keys; } static void Main(ssortingng[] args) { var keys = GenerateKeys(2048); var publicKey = keys.Public.ToSsortingng(); var textWriter = new StreamWriter("private.key"); var pemWriter = new PemWriter(textWriter); pemWriter.WriteObject(keys.Private); pemWriter.Writer.Flush(); textWriter.Close(); textWriter = new StreamWriter("public.key"); pemWriter = new PemWriter(textWriter); pemWriter.WriteObject(keys.Public); pemWriter.Writer.Flush(); textWriter.Close(); Console.ReadKey(); }