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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline marilusia  
#1 Оставлено : 17 сентября 2019 г. 16:30:51(UTC)
marilusia

Статус: Новичок

Группы: Участники
Зарегистрирован: 24.07.2019(UTC)
Сообщений: 6

Сказал(а) «Спасибо»: 1 раз
Добрый день, я пробую подписать файл для работы с МДЛП, с CPTEST все работает, используем csptest -sfsign -sign -in input-sig.txt -out out-1119.txt -my 230a1591b9b841f9f5a575a358e4f94b8dd657d7 -detached -base64 -add


код С#:

Код:

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

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

            // Определяем подписывающего, объектом CmsSigner.
            CmsSigner cmsSigner = new CmsSigner(signerCert);

            // Подписываем CMS/PKCS #7 сообение.
            Console.Write("Вычисляем подпись сообщения для субъекта " +
                "{0} ... ", signerCert.SubjectName.Name);
            signedCms.ComputeSignature(cmsSigner);
            Console.WriteLine("Успешно.");

            // Кодируем CMS/PKCS #7 подпись сообщения.
            return signedCms.Encode();

Потом конвертирую на Base64

Если пробую результат кода тут:
https://lapo.it/asn1js/

Получаю ошибку Content size is not correct for container at offset 51

Содержимое файла который подписываю: b54cb32e-76cf-47b1-98c0-66a3e1f6908c

Могу приложить и output если надо.
Спасибо за помощь,

Марина
Offline Максим Коллегин  
#2 Оставлено : 17 сентября 2019 г. 16:57:57(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,374
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 704 раз в 613 постах
Приложите оба результирующих файла подписи.
Знания в базе знаний, поддержка в техподдержке
Offline marilusia  
#3 Оставлено : 17 сентября 2019 г. 17:04:15(UTC)
marilusia

Статус: Новичок

Группы: Участники
Зарегистрирован: 24.07.2019(UTC)
Сообщений: 6

Сказал(а) «Спасибо»: 1 раз
YYYY0917040235withcmstest.txt (5kb) загружен 4 раз(а). in.txt (1kb) загружен 1 раз(а). YYYY0917040204withdll.txt (8kb) загружен 4 раз(а).
Автор: Максим Коллегин Перейти к цитате
Приложите оба результирующих файла подписи.


Спасибо, я приложила так же файл IN так как он меняется каждый раз (authentication code)

Отредактировано пользователем 17 сентября 2019 г. 17:05:25(UTC)  | Причина: Не указана

Offline Максим Коллегин  
#4 Оставлено : 17 сентября 2019 г. 17:15:18(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,374
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 704 раз в 613 постах
что-то странное с этим js. Если вставлять base64 в форму - оба файла отлично парсятся.
Знания в базе знаний, поддержка в техподдержке
Offline marilusia  
#5 Оставлено : 17 сентября 2019 г. 17:49:37(UTC)
marilusia

Статус: Новичок

Группы: Участники
Зарегистрирован: 24.07.2019(UTC)
Сообщений: 6

Сказал(а) «Спасибо»: 1 раз
Автор: Максим Коллегин Перейти к цитате
что-то странное с этим js. Если вставлять base64 в форму - оба файла отлично парсятся.


я починила проблему с парсировкойЭ но вопрос остается - почему результат разный получается? Я вижу после парсировки что ДЛЛ добавляет дополнительную информацию. Спасибо
Offline Максим Коллегин  
#6 Оставлено : 17 сентября 2019 г. 17:53:44(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,374
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 704 раз в 613 постах
Скорее всего добавляет сертификат подписанта в сообщение. Почитайте внимательно asn1.
Знания в базе знаний, поддержка в техподдержке
Offline marilusia  
#7 Оставлено : 17 сентября 2019 г. 17:55:39(UTC)
marilusia

Статус: Новичок

Группы: Участники
Зарегистрирован: 24.07.2019(UTC)
Сообщений: 6

Сказал(а) «Спасибо»: 1 раз
Автор: Максим Коллегин Перейти к цитате
Скорее всего добавляет сертификат подписанта в сообщение. Почитайте внимательно asn1.


Хорошо,а как мне сделать чтоб его не добавлял тогда? в таком виде CRPT не принимает подпись.
Благодарю за помощь
Offline Максим Коллегин  
#8 Оставлено : 17 сентября 2019 г. 18:05:06(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,374
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 704 раз в 613 постах
Знания в базе знаний, поддержка в техподдержке
Offline marilusia  
#9 Оставлено : 17 сентября 2019 г. 18:39:32(UTC)
marilusia

Статус: Новичок

Группы: Участники
Зарегистрирован: 24.07.2019(UTC)
Сообщений: 6

Сказал(а) «Спасибо»: 1 раз
Автор: Максим Коллегин Перейти к цитате
https://docs.microsoft.com/en-us/dotnet/api/system.security.cryptography.pkcs.cmssigner.includeoption?view=netframework-4.8#System_Security_Cryptography_Pkcs_CmsSigner_IncludeOption


Спасибо огромное! Сейчас они практически идентичны, но есть разница в Octet string в двух местах и ЦРПТ опять же говорит что подпись неправильная, прилагаю две подписи
Спасибо! YYYY0917053457withcmstest.txt (5kb) загружен 2 раз(а). YYYY0917053456withdll.txt (5kb) загружен 2 раз(а).
Offline Максим Коллегин  
#10 Оставлено : 17 сентября 2019 г. 18:47:13(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,374
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 704 раз в 613 постах
Хэш должен совпадать в атрибутах. Если не совпадает - неправильно читаете файл: неверная кодировка или интерпретация строк.

Отредактировано пользователем 17 сентября 2019 г. 18:48:42(UTC)  | Причина: Не указана

Знания в базе знаний, поддержка в техподдержке
thanks 1 пользователь поблагодарил Максим Коллегин за этот пост.
marilusia оставлено 17.09.2019(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.