Beispiel #1
0
        /// <summary>
        /// Decrypt Button Click
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void DecryptButton_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var secret = new Cypher();
                secret.Deserialize(this.OutputTextBox.Text);

                // Decrypt
                byte[] message = this.Rsa.Decoder.Decrypt(secret);

                Encoding encodingProcedure;
                if (Rsa.Decoder.PatternConverter == null)
                {
                    encodingProcedure = System.Text.Encoding.Unicode;
                }
                else
                {
                    encodingProcedure = Rsa.Decoder.PatternConverter.EncodingProcedure;
                }

                // Print result
                this.DecryptionResultTextBox.Text = encodingProcedure.GetString(message);

                // Signature verification
                if (secret.Sign == null)
                {
                    this.SignatureVerificationTextBlock.Text       = "Data is unsigned.";
                    this.SignatureVerificationTextBlock.Foreground = new SolidColorBrush(Colors.DarkOrange);
                }
                else
                {
                    bool isVerified = this.Rsa.Signer.Verify(message, secret.Sign);
                    if (isVerified)
                    {
                        this.SignatureVerificationTextBlock.Text       = "Signature verified.";
                        this.SignatureVerificationTextBlock.Foreground = new SolidColorBrush(Colors.Green);
                    }
                    else
                    {
                        this.SignatureVerificationTextBlock.Text       = "Signature not verified!";
                        this.SignatureVerificationTextBlock.Foreground = new SolidColorBrush(Colors.Red);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Hata");
            }
        }