Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
Автор: hasio Автор: Андрей Писарев Здравствуйте.
Опишите задачу. В коде Вы получаете само значение подписи, записывайте его в файл. Всё.
Или Вы под "получить .sig файл" - подразумеваете стандарт CMS (вместе с сертификатом и т.п.)? Тогда необходимо использовать другие функции.
Да верно, стандарт CMS, я разобрался, теперь вопрос другой, как объединить два стандарта cms в один файл? Просто объединив массивы которые были получены методом Encode()? Или же просто в качестве исходных данных в класс ContentInfo подавать уже созданный ранее CMS файл? И как мне отличить алгоритмы подписывания? Например ГОСТ от RSA? По вопросам - Я не вижу, что разобрались. Либо схема в ТЗ к ИС - не стандартная, а придуманная. В SDK есть примеры. Не нужно лепить значение подписи к высокоуровневым функциям работы с CMS, они сами вычисляют (хеш, подпись) и кодируют структуры. |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
рядом тема: Цитата:КриптоПро .NET » Подскажите как подписать текст Только вместо "текста" нужно передавать байты и пример есть. Если у Вас не стандартная схема вычислений\подписаний - тогда опишите подробности. Никто же на форуме их не знает еще. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 20.11.2019(UTC) Сообщений: 9
|
Автор: Андрей Писарев рядом тема: Цитата:КриптоПро .NET » Подскажите как подписать текст Только вместо "текста" нужно передавать байты и пример есть. Если у Вас не стандартная схема вычислений\подписаний - тогда опишите подробности. Никто же на форуме их не знает еще. Подпись делаю таким методом: Код:
public byte[] Sign(X509Certificate2 certificate, byte[] data)
{
// то что подписываем
var contentInfo = new ContentInfo(data);
var signedCms = new SignedCms(contentInfo, true);
// сертификат для подписания
var cmsSigner = new CmsSigner(SubjectIdentifierType.IssuerAndSerialNumber, certificate);
signedCms.ComputeSignature(cmsSigner, false);
// подпись
return signedCms.Encode();
}
Результат сохраняю в файл .sig
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 20.11.2019(UTC) Сообщений: 9
|
Автор: Андрей Писарев В чём тогда вопрос? Как сделать цепочку подписей через X509Certificate2? Тоесть подписать документ двумя эцп.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
Автор: hasio Автор: Андрей Писарев В чём тогда вопрос? Как сделать цепочку подписей через X509Certificate2? Тоесть подписать документ двумя эцп. В SDK C:\Program Files (x86)\Crypto Pro\.NET SDK\Examples\simple.zip\CMS\cs\AddSignDetached.cs |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 20.11.2019(UTC) Сообщений: 9
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 05.07.2018(UTC) Сообщений: 467
Сказал(а) «Спасибо»: 43 раз Поблагодарили: 69 раз в 61 постах
|
Можете, пожалуйста, показать, как удалось решить проблему? |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close