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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline blanco_1  
#1 Оставлено : 3 декабря 2024 г. 13:00:07(UTC)
blanco_1

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

Группы: Участники
Зарегистрирован: 15.12.2022(UTC)
Сообщений: 2
Российская Федерация
Откуда: msk

Сказал(а) «Спасибо»: 1 раз
Добрый день!
Не вникая в технические детали всегда полагал, что преобразование уже созданной присоединенной подписи в отсоединенную или обратно математически невозможно, т.к. хеши при создании ЭП считаются от разных данных. Разных то ли из-за кодировок, то ли из-за по разному добавляемых подписываемых атрибутов - этот момент до конца не был понятен.

Но вот, в документации "ЭЦП SDK" попалась функция CadesMsgConvertCreateContext()

https://docs.cryptopro.r...smsgconvertcreatecontext

в описании которой буквально написано "для преобразования отсоединённой подписи в присоединённую".

Подскажите, действительно ли возможно постфактум добавлять в отсоединенное криптографическое PKCS#7 сообщение ранее подписанные данные?
И, следовательно, аналогично "вырезать" содержимое из присоединенной подписи? Если возможно, то какими функциями это можно сделать?

Задача весьма актуальна, т.к. арбитражные суды на данный момент принимают только отсоединенные подписи, но бывает что на руках есть только присоединенная.
Offline Андрей *  
#2 Оставлено : 3 декабря 2024 г. 13:55:06(UTC)
Андрей *

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

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

Сказал «Спасибо»: 572 раз
Поблагодарили: 2302 раз в 1803 постах
Здравствуйте.

Вы откройте просто в asn1 viewer-ах... файл с ЭП (отсоединенная\присоединенная) и увидите,
что там есть описание структур, сам файл, сертификаты и блок с подписанной информацией (хеш\дата время...)

Ничего не мешает извлечь файл (он и извлекается при проверке\сохранении).
Ничего не мешает создать новый файл ЭП, но пропустив блок с файлом вложенным в структуру, в ней будет NULL,
что является признаком... отсоединенной ЭП.


можно прямо в браузере:
https://lapo.it/asn1js/

detached.png (30kb) загружен 5 раз(а).

attached.png (44kb) загружен 6 раз(а).
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
blanco_1 оставлено 17.12.2024(UTC)
Offline blanco_1  
#3 Оставлено : 17 декабря 2024 г. 13:47:22(UTC)
blanco_1

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

Группы: Участники
Зарегистрирован: 15.12.2022(UTC)
Сообщений: 2
Российская Федерация
Откуда: msk

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

Ничего не мешает создать новый файл ЭП, но пропустив блок с файлом вложенным в структуру, в ней будет NULL,
что является признаком... отсоединенной ЭП.

Спасибо большое за наводку. Я даже когда-то пробовал проверить гипотезу, что подписи одинаковые,
но т.к. из-за подписываемого атрибута времени хеши разные получались, то решил тогда, что наверно
встроенное содержимое в присоединенной и отсоединенной как-то по разному кодируется и тогда забросил это дело.

Сейчас попробовал выкусить OCTET_STRING с подписанным содержимым.
Если его вообще убрать (потому что NULL в ANS.1 это физически $05 $00), то действительно получается валидная отсоединенная подпись.
Еще, правда, пришлось длину всех вышестоящих контейнеров CONTEXT_SPECIFIC и SEQUENCE поправить на размер выкушенного элемента.
Редактор это всё сам делает, а программно пришлось повозиться с вычислениями. Но вроде получается в обе стороны,
и выкусить, и внедрить файл. Еще раз спасибо!
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.