Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline 4eIIIupKo  
#1 Оставлено : 28 июля 2017 г. 11:01:01(UTC)
4eIIIupKo

Статус: Активный участник

Группы: Участники
Зарегистрирован: 17.12.2016(UTC)
Сообщений: 114
Мужчина
Российская Федерация

Сказал «Спасибо»: 26 раз
Вообщем получаю отделенную подпись в browser plugin.

Как посоветовали в другом разделе. Использовать .NET

Код:
            // Проверка корректности переданных параметров.
            // Первый аргумент подпись
            // Второй файл данных
            if (args.Length == 0)
            {
                Console.WriteLine("Error: Отсуствуют параметры");
                return;
            } else if (args.Length == 1) {
                Console.WriteLine("Error: Отсуствуют файл");
            }
            // Загружаем подпись сообщение в память.
            string filename = args[0];
            byte[] encodedSignedCms = File.ReadAllBytes(filename);

            // Загружаем файл данных
            string dataFile = args[1];
            byte[] srcData = File.ReadAllBytes(dataFile);

            // Создаем объект ContentInfo по сообщению.
            // Это необходимо для создания объекта SignedCms.
            ContentInfo contentInfo = new ContentInfo(srcData);

            // Объект, в котором будут происходить декодирование и проверка.
            // Свойство Detached устанавливаем явно в true, таким 
            // образом сообщение будет отделено от подписи.
            SignedCms signedCms = new SignedCms(contentInfo, true);

            // Декодируем сообщение.
            //signedCms.Decode(encodedSignedCms);

            //  Проверяем число основных и дополнительных подписей.
            Console.WriteLine();
            Console.WriteLine("Количество подписавших:{0}",
                signedCms.SignerInfos.Count);
            if (signedCms.SignerInfos.Count == 0)
            {
                Console.WriteLine("Документ не подписан.");
                return;
            }

Но в ответ количество подписавших 0. В чем проблема?
Offline Андрей Писарев  
#2 Оставлено : 28 июля 2017 г. 11:18:29(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,691
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2046 раз в 1586 постах
Автор: 4eIIIupKo Перейти к цитате

Но в ответ количество подписавших 0. В чем проблема?


В закомментированной строке 29.

Это делается специально, чтобы код не работал?
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
4eIIIupKo оставлено 28.07.2017(UTC)
Offline 4eIIIupKo  
#3 Оставлено : 28 июля 2017 г. 11:23:57(UTC)
4eIIIupKo

Статус: Активный участник

Группы: Участники
Зарегистрирован: 17.12.2016(UTC)
Сообщений: 114
Мужчина
Российская Федерация

Сказал «Спасибо»: 26 раз
Автор: Андрей * Перейти к цитате
Автор: 4eIIIupKo Перейти к цитате

Но в ответ количество подписавших 0. В чем проблема?


В закомментированной строке 29.

Это делается специально, чтобы код не работал?

Да спасибо. Заметил когда, занимался потом другой ошибкой.
У меня подпись хранится в base64. Вдруг кому-то пригодится.

Код:

            // Загружаем подпись в память.
            string filename = args[0];
            //byte[] encodedSignedCms = File.ReadAllBytes(filename);
            String EdsString = File.ReadAllText(filename);

            byte[] encodedSignedCms = Convert.FromBase64String(EdsString);
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.