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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline adv  
#1 Оставлено : 24 апреля 2017 г. 16:15:27(UTC)
adv

Статус: Участник

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

Сказал(а) «Спасибо»: 1 раз
Добрый день!
Разбираюсь с подписанием на .NET. Технически все работает, но возник глобальный вопрос который вынесен в заголовок темы.
О чем речь.

(Файл примера из SDK: Sign\cs\SignFile1.cs) На .NET я могу подписывать используя Gost3410CryptoServiceProvider, ComputeHash, SignHash (сохраняю поток байт в файл) в итоге получаю очень компактную подпись. Если пытаюсь проверить такую подпись через КриптоАРМ - получаю ошибку, что файл не является подписью. при программной проверке все ок.

(Файл примера из SDK: CMS\cs\DetachedSignature.cs)А могу подписать используя System.Security.Cryptography.X509Certificates, System.Security.Cryptography.Pkcs, SignedCms, ComputeSignature, как результат получаю видимо как раз pkcs#7 сообщение которое по размеру в несколько раз больше подписи из 1-ого варианта. Если пытаюсь проверить такую подпись через КриптоАРМ - все ок, проверка проходит.

Так же есть некое сторонне ПО(не можем его изменить) которое ожидает на вход именно формат pkcs#7, но мне дают только подпись по первому варианту.
Собственно вопрос. Что за формат в случае первой "подписи"? Можно ссылку на описание? пытаюсь гуглить, но не понятно даже что искать. может ли его проверить КриптоАРМ?
Можно ли его преобразовать в pkcs#7?
Offline Андрей Писарев  
#2 Оставлено : 27 апреля 2017 г. 10:28:04(UTC)
Андрей *

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

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

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

>Gost3410CryptoServiceProvider, ComputeHash, SignHash (сохраняю поток байт в файл) в итоге получаю очень компактную подпись.

Это и есть значение подписи в чистом виде.


>System.Security.Cryptography.Pkcs, SignedCms, ComputeSignature
В CMS(PKCS#7) - это значение содержится внутри ASN.1 структуры + сертификат(ы) для проверки + могут быть (не)подписанные атрибуты.

Отредактировано пользователем 27 апреля 2017 г. 10:28:37(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
adv оставлено 27.04.2017(UTC)
Offline adv  
#3 Оставлено : 27 апреля 2017 г. 15:48:23(UTC)
adv

Статус: Участник

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

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

>Gost3410CryptoServiceProvider, ComputeHash, SignHash (сохраняю поток байт в файл) в итоге получаю очень компактную подпись.

Это и есть значение подписи в чистом виде.


>System.Security.Cryptography.Pkcs, SignedCms, ComputeSignature
В CMS(PKCS#7) - это значение содержится внутри ASN.1 структуры + сертификат(ы) для проверки + могут быть (не)подписанные атрибуты.

Андрей*, большое спасибо!
Теперь стало понятно.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.