コード例 #1
0
ファイル: FMain.cs プロジェクト: studio451/MarkantCryptoPro
        private void bCreateMarkant_Click(object sender, EventArgs e)
        {
            currentMarkant = null;

            tbMarkantHex.Text     = "";
            tbMarkantASN1.Text    = "";
            tbCurrentMarkant.Text = "";

            if (currentGost28147 != null)
            {
                //Выбираем алгоритм и шифруем сессионный ключ
                if (rbKeyAgree.Checked)
                {
                    currentMarkant = MarkantManager.CreateMarkantWithKeyAgree(currentGost28147, tbCertFile.Text, new ProviderInitData(cbProviderNameSender.Text, cbProviderPasswordSender.Text));
                }
                else
                {
                    currentMarkant = MarkantManager.CreateMarkantWithKeyExchangeFormatter(currentGost28147, tbCertFile.Text);
                }


                tbCurrentMarkant.Text = currentMarkant.ToString();
                tbMarkantHex.Text     = Helper.ByteArrayToHexString(currentMarkant.EncodeToAsn1());
                tbMarkantASN1.Text    = Markant.PrintFromAsn1(currentMarkant.EncodeToAsn1());
            }
            else
            {
                MessageBox.Show("Отсутствует сессионный ключ!", "Создание марканта");
            }
        }
コード例 #2
0
ファイル: FMain.cs プロジェクト: studio451/MarkantCryptoPro
        private void bDecrypt_Click(object sender, EventArgs e)
        {
            tbDecryptText.Text = "";

            //Дешифруем текст
            if (currentGost28147 != null)
            {
                byte[] baDecrypt = MarkantManager.Gost28147Decrypt(currentGost28147, baEncrypt);
                tbDecryptText.Text = Encoding.UTF8.GetString(baDecrypt);
            }
            else
            {
                MessageBox.Show("Отсутствует сессионный ключ!", "Шифрование");
            }
        }
コード例 #3
0
ファイル: FMain.cs プロジェクト: studio451/MarkantCryptoPro
        private void bEncrypt_Click(object sender, EventArgs e)
        {
            tbEncryptText.Text = "";
            tbDecryptText.Text = "";

            //Шифруем текст
            if (currentGost28147 != null)
            {
                baEncrypt          = MarkantManager.Gost28147Encrypt(currentGost28147, Encoding.UTF8.GetBytes(tbSourceText.Text));
                tbEncryptText.Text = Helper.ByteArrayToHexString(baEncrypt);
            }
            else
            {
                MessageBox.Show("Отсутствует сессионный ключ!", "Шифрование");
            }
        }
コード例 #4
0
ファイル: FMain.cs プロジェクト: studio451/MarkantCryptoPro
        private void bDecryptMarkant_Click(object sender, EventArgs e)
        {
            currentGost28147        = null;
            pGost28147Green.Visible = false;
            pGost28147Red.Visible   = true;

            if (currentMarkant != null)
            {
                try
                {
                    //Выбираем алгоритм и дешифруем сессионный ключ
                    if (rbKeyAgree.Checked)
                    {
                        currentGost28147 = MarkantManager.DecryptMarkantWithKeyAgree(currentMarkant, new ProviderInitData(cbProviderName.Text, cbProviderPassword.Text));
                    }
                    else
                    {
                        currentGost28147 = MarkantManager.DecryptMarkantWithKeyExchangeFormatter(currentMarkant, new ProviderInitData(cbProviderName.Text, cbProviderPassword.Text));
                    }
                }
                catch (Exception exc)
                {
                    MessageBox.Show(exc.Source + ": " + exc.Message, "Дешифровка сессионного ключа текущего марканта");
                }
            }
            else
            {
                MessageBox.Show("Текущий маркант пустой!", "Дешифровка сессионного ключа текущего марканта");
            }

            if (currentGost28147 != null)
            {
                pGost28147Red.Visible   = false;
                pGost28147Green.Visible = true;
            }
        }