예제 #1
0
        CryptorKeyDialog(Cryptor.Type type, bool encrypt)
        {
            InitializeComponent();

            this.type = type;
            Encrypt   = encrypt;

            if (type.IsSymmetric())
            {
                asymmetricKeyGrid.Visibility = Visibility.Collapsed;
                symmetricPassword.Focus();
            }
            else
            {
                symmetricKeyGrid.Visibility = Visibility.Collapsed;
                asymmetricKeySize.Focus();
            }

            IEnumerable <int> keySizes;
            int defaultSize;

            Cryptor.GetKeySizeInfo(type, out keySizes, out defaultSize);
            KeySizes = keySizes.ToList();
            KeySize  = defaultSize;

            Salt = "AWdSJ9hs72TXUUqaKpYIbU2v/YONdOxf";
        }
예제 #2
0
		CryptorKeyDialog(Cryptor.Type type, bool encrypt)
		{
			InitializeComponent();

			this.type = type;
			this.encrypt = encrypt;

			if (type.IsSymmetric())
			{
				asymmetricKeyGrid.Visibility = Visibility.Collapsed;
				symmetricPassword.Focus();
			}
			else
			{
				symmetricKeyGrid.Visibility = Visibility.Collapsed;
				asymmetricKeySize.Focus();
			}

			IEnumerable<int> keySizes;
			int defaultSize;
			Cryptor.GetKeySizeInfo(type, out keySizes, out defaultSize);
			KeySizes = keySizes.ToList();
			KeySize = defaultSize;

			Salt = "AWdSJ9hs72TXUUqaKpYIbU2v/YONdOxf";
		}
예제 #3
0
 void GenerateKey(object sender, RoutedEventArgs e)
 {
     if (type.IsSymmetric())
     {
         if ((string.IsNullOrEmpty(symmetricPassword.Password)) || (string.IsNullOrEmpty(Salt)))
         {
             return;
         }
         if ((Encrypt) && (symmetricPassword.Password != symmetricConfirm.Password))
         {
             new Message(this)
             {
                 Title   = "Password mismatch",
                 Text    = "Passwords must match.",
                 Options = MessageOptions.Ok,
             }.Show();
             return;
         }
         PublicKey = PrivateKey = Cryptor.GetRfc2898Key(symmetricPassword.Password, Salt, KeySize);
     }
     else
     {
         if (string.IsNullOrEmpty(PrivateKey))
         {
             PrivateKey = Cryptor.GenerateKey(type, KeySize);
         }
         PublicKey = Cryptor.GetPublicKey(type, PrivateKey);
     }
 }