Подписание файла методом SignData в example c#
(1 чел.) (1) гость
  • Страница:
  • 1

ТЕМА: Подписание файла методом SignData в example c#

Подписание файла методом SignData в example c# 1 год, 6 мес. назад #3729

  • urmnurbo
  • Осваиваюсь на форуме
  • Постов: 26
  • Репутация: 0
Добрый день, Я являюсь сотрудником компании JTI Kazakhstan, и ранее нам предосталяли SDK для разработки информационной системы.

Мне нужно проверить как происходить подписание файлов.

В примере в SDK для c# есть метод:

private void btn_signFile_Click(object sender, EventArgs e)
        {
            string inData = "";
            string outSign = "";
            uint err;
            if (tb_keyPath.Text == "")
            {
                string message = "Не указан путь к ключу!";
                string caption = "Ошибка";
                MessageBoxButtons buttons = MessageBoxButtons.OK;
                DialogResult result = MessageBox.Show(message, caption, buttons);
                if (result == System.Windows.Forms.DialogResult.Yes) { this.Close(); }
            }
            else
            {
                try
                {
                    inData = System.IO.File.ReadAllText("C:\\test\\testtext.txt");
                }
                catch (Exception)
                {
                    System.Console.WriteLine("Ошибка: Не удалось прочитать файл!");
                }
                KalkanCOMTest.SignData("", kalkanFlags, inData, out outSign);
                err = KalkanCOMTest.GetLastError();
                if (err > 0) textBox8.Text += " Error: 0x" + err.ToString("X8");
                textBox7.Text = outSign;
            }
        }


Этот метод возарвщяет ошибку Error: 0x08F0001A.
Вопрос:
Метод SignData() вообще работает?
Если да, то какие данные туда передавать?
Или в каком формате нужно передвать туда InData?

С уважением,
Урманов Нурболат.
Изменено: 1 год, 6 мес. назад от urmnurbo.

Re: Подписание файла методом SignData в example c# 1 год, 6 мес. назад #3735

  • Murat Seisenov
  • Модератор
  • Постов: 391
  • Репутация: 19
Добрый день!

Этот метод возарвщяет ошибку Error: 0x08F0001A.

Документ с описанием кодов ошибок находится в SDK.
Данная ошибка означает "недопустимые флаги". Проверьте параметр flags.
Есть несколько вариантов: если необходимо получить подпись в формате CMS, то передаете флаги KC_SIGN_CMS и KC_OUT_PEM. Если - в формате draftSign, то - KC_SIGN_DRAFT or KC_OUT_BASE64.

Метод SignData() вообще работает?

Да.

Если да, то какие данные туда передавать?
Или в каком формате нужно передвать туда InData?

Данные, которые Вам необходимо подписать. В том формате, в котором Вам необходимо.
Модератор
  • Страница:
  • 1
FaLang translation system by Faboba