Beispiel #1
0
        private void VerifySignatureButton_Click(object sender, EventArgs e)
        {
            if (!IsValidSignature())
            {
                ResultRichTextBox.Text = "Syntax error in Signature";
                return;
            }

            if (!IsValidPublicKey())
            {
                ResultRichTextBox.Text = "Syntax error in Public Key";
                return;
            }

            try
            {
                DigitalSignature.DigitalSignature signature = GetDigitalSignatureAlgo();

                byte[] publicKey = StringToByte(PublicKeyTextBox.Text, 64);
                byte[] sig       = StringToByte(DigitalSignatureTextBox.Text, 64);

                byte[] hash = new HashFunction(new GOST34112018Policy256bit()).GetHash(Encoding.Default.GetBytes(MessageTextBox.Text));

                if (signature.IsSignatureValid(hash, sig, publicKey))
                {
                    ResultRichTextBox.Text = "Signature is valid";
                }
                else
                {
                    ResultRichTextBox.Text = "Signature is invalid";
                }
            }
            catch (Exception exp)
            {
                ResultRichTextBox.Text = "Error occured while signature had been checking. " + exp.Message;
            }
        }
Beispiel #2
0
        private void CalculateSignatureButton_Click(object sender, EventArgs e)
        {
            if (!IsValidPrivateKey())
            {
                ResultRichTextBox.Text = "Syntax error in Private Key";
                return;
            }

            try
            {
                DigitalSignature.DigitalSignature signature = GetDigitalSignatureAlgo();

                byte[] privateKey = StringToByte(PrivateKeyTextBox.Text, 32);

                byte[] hash = new HashFunction(new GOST34112018Policy256bit()).GetHash(Encoding.Default.GetBytes(MessageTextBox.Text));

                DigitalSignatureTextBox.Text = string.Join("", BitConverter.ToString(signature.CreateSignature(hash, privateKey)).Split('-'));
                ResultRichTextBox.Text       = "Success";
            }
            catch (Exception exp)
            {
                ResultRichTextBox.Text = "Error occured while signature had been calculating. " + exp.Message;
            }
        }