Статус: Новичок
Группы: Участники
Зарегистрирован: 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 если надо. Спасибо за помощь, Марина
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,393 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 717 раз в 621 постах
|
Приложите оба результирующих файла подписи. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 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)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,393 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 717 раз в 621 постах
|
что-то странное с этим js. Если вставлять base64 в форму - оба файла отлично парсятся. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 24.07.2019(UTC) Сообщений: 6
Сказал(а) «Спасибо»: 1 раз
|
Автор: Максим Коллегин что-то странное с этим js. Если вставлять base64 в форму - оба файла отлично парсятся. я починила проблему с парсировкойЭ но вопрос остается - почему результат разный получается? Я вижу после парсировки что ДЛЛ добавляет дополнительную информацию. Спасибо
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,393 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 717 раз в 621 постах
|
Скорее всего добавляет сертификат подписанта в сообщение. Почитайте внимательно asn1. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 24.07.2019(UTC) Сообщений: 6
Сказал(а) «Спасибо»: 1 раз
|
Автор: Максим Коллегин Скорее всего добавляет сертификат подписанта в сообщение. Почитайте внимательно asn1. Хорошо,а как мне сделать чтоб его не добавлял тогда? в таком виде CRPT не принимает подпись. Благодарю за помощь
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,393 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 717 раз в 621 постах
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 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 раз(а).
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,393 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 717 раз в 621 постах
|
Хэш должен совпадать в атрибутах. Если не совпадает - неправильно читаете файл: неверная кодировка или интерпретация строк. Отредактировано пользователем 17 сентября 2019 г. 18:48:42(UTC)
| Причина: Не указана |
|
1 пользователь поблагодарил Максим Коллегин за этот пост.
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close