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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline wiveno  
#1 Оставлено : 7 августа 2020 г. 4:34:04(UTC)
wiveno

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

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

Сказал(а) «Спасибо»: 1 раз
Здравствуйте.

Подскажите, как, имея результаты работы функций CryptCreateHash и CryptSignHash (т.е. хэш и его подпись), проще сформировать файл открепленной подписи в формате PKCS7? Понятно, что можно изучить стандарт rfc5652 (CMS/PKCS7), формат ASN.1 и сформировать сообщение хоть побайтово, но наверняка есть более высокоуровневые решения.
Offline two_oceans  
#2 Оставлено : 7 августа 2020 г. 5:27:23(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,602
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 393 раз в 366 постах
Добрый день. Это не так просто, потому что есть разница что именно должно быть подписано в конкретном формате на основе PKCS7 - хотя пишут PKCS7 на деле может проверяться как CMS (старый базовый формат) или как CADES-BES (новый базовый формат). Обычно нужно ориентироваться на новый CADES-BES. Есть случай когда должен подписываться хэш исходного текста и есть случай когда подписывается хэш от атрибутов подписи среди которых есть хэш исходного текста. Чаще всего нужен второй, выберете неверно и подпись не проверится. Во втором случае набор атрибутов также может отличаться, то есть надо знать что нужно и сверяться с RFC какие атрибуты подписанные, а какие нет.

Ну а если интересен сам процесс сборки, то вот недавно была тема с кодом сборки CMS "среднего уровня" на Джаве ("высокого уровня" это когда передаете текст и сертификат и получаете готовую подпись не занимаясь ручным подсчетом хэша/RAW подписи, "среднего уровня" когда задаются свойства/атрибуты из них автоматом формируется побайтово, "низкого уровня" когда формируете побайтово или кодируя ASN1 библиотеками), но похоже там как раз не учтен нюанс что надо подписывать.

https://www.cryptopro.ru...aspx?g=posts&t=18450
Offline wiveno  
#3 Оставлено : 7 августа 2020 г. 5:38:34(UTC)
wiveno

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

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

Сказал(а) «Спасибо»: 1 раз
У меня как-раз вариант попроще. Подписывается только хэш исходных данных.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.