source: trunk/PKCS1/WpfControls/RsaKeyGen/RsaKeyGenControl.xaml.cs @ 1650

Last change on this file since 1650 was 1650, checked in by schomburg, 11 years ago

initial commit of PKCS1 Plugin

File size: 3.7 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using System.Windows;
6using System.Windows.Controls;
7using System.Windows.Data;
8using System.Windows.Documents;
9using System.Windows.Input;
10using System.Windows.Media;
11using System.Windows.Media.Imaging;
12using System.Windows.Navigation;
13using System.Windows.Shapes;
14using Org.BouncyCastle.Math;
15using Org.BouncyCastle.Security;
16using Org.BouncyCastle.Crypto;
17using Org.BouncyCastle.Crypto.Generators;
18using Org.BouncyCastle.Crypto.Parameters;
19using Org.BouncyCastle.Crypto.Engines;
20using PKCS1.Library;
21
22
23namespace PKCS1.WpfControls.RsaKeyGen
24{
25    /// <summary>
26    /// Interaktionslogik für RsaKeyGenControl.xaml
27    /// </summary>
28    public partial class RsaKeyGenControl : UserControl, IPkcs1UserControl
29    {
30        //private AsymmetricCipherKeyPair keyPair = null;
31
32        public RsaKeyGenControl()
33        {
34            InitializeComponent();
35            Init();
36        }
37
38        #region IPkcs1UserControl Member
39
40        public void Dispose()
41        {
42            //throw new NotImplementedException();
43        }
44
45        public void Init()
46        {
47            this.tbInputPubKey.Text = RSAKeyManager.getInstance().PubExponent.ToString();
48            this.tbInputMod.Text = RSAKeyManager.getInstance().RsaKeySize.ToString();
49        }
50
51        public void SetTab(int i)
52        {
53            //throw new NotImplementedException();
54        }
55
56        #endregion
57
58        private void btnGenRsaKey_Click(object sender, RoutedEventArgs e)
59        {
60            //RSAKeyManager.getInstance().RsaKeySize = Convert.ToInt32(this.tbInputMod.Text);
61            //RSAKeyManager.getInstance().PubExponent = Convert.ToInt32(this.tbInputPubKey.Text);
62            Cursor = Cursors.Wait;
63            RSAKeyManager.getInstance().RsaKeySize = Convert.ToInt32(this.tbInputMod.Text);
64            RSAKeyManager.getInstance().genRsaKeyPair(25);
65            Cursor = Cursors.Arrow;
66
67            if( RSAKeyManager.getInstance().isKeyGenerated() )
68            {
69                this.tbResultModulus.Text = RSAKeyManager.getInstance().getModulusToBigInt().ToString(16);
70                this.tbResultPrivKey.Text = RSAKeyManager.getInstance().getPrivKeyToBigInt().ToString(16);
71            }
72        }
73
74        private void tbResultPrivKey_TextChanged(object sender, TextChangedEventArgs e)
75        {
76            this.lblPrivKeyLength.Content = "(Länge: " + this.tbResultPrivKey.Text.Length * 4 + " bit)";
77        }
78
79        private void tbResultModulus_TextChanged(object sender, TextChangedEventArgs e)
80        {
81            this.lblModulusLength.Content = "(Länge: " + this.tbResultModulus.Text.Length * 4 + " bit)";
82        }
83
84        private void tbInputPubKey_TextChanged(object sender, TextChangedEventArgs e)
85        {           
86            RSAKeyManager.getInstance().PubExponent = Convert.ToInt32(this.tbInputPubKey.Text);
87        }
88
89        private void tbInputMod_TextChanged(object sender, TextChangedEventArgs e)
90        {
91            //RSAKeyManager.getInstance().RsaKeySize = Convert.ToInt32(this.tbInputMod.Text);
92        }
93
94        private void btn_Help_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
95        {
96            if (sender == btnHelpPubKey)
97            {
98                OnlineHelp.OnlineHelpAccess.ShowOnlineHelp(PKCS1.OnlineHelp.OnlineHelpActions.KeyGen_PubExponent);
99            }
100            else if (sender == btnHelpBitSizeModulus)
101            {
102                OnlineHelp.OnlineHelpAccess.ShowOnlineHelp(PKCS1.OnlineHelp.OnlineHelpActions.KeyGen_ModulusSize);
103            }
104            e.Handled = true;
105        }
106    }
107}
Note: See TracBrowser for help on using the repository browser.