Статус: Участник
Группы: Участники
Зарегистрирован: 05.04.2012(UTC) Сообщений: 17   Откуда: Россия Поблагодарили: 1 раз в 1 постах
|
Добрый день! Подскажите, существует ли возможность создать чистую (не PKCS#7) подпись данных (например 512 бит на выходе для ГОСТ 2012-256) на C# не используя дополнительных компонентов кроме чистого .NET и имеющихся в системе API ? И как это сделать ?
Используется .NET Framework 4.0, КриптоПРО CSP 4.0
P.S. Обычную подпись PKCS#7 создать получается. Она содержит подписанные атрибуты (как минимум дату подписи). Как альтернативу, рассматривали идею создания PKCS#7 без подписанных атрибутов с последующим извлечением блока данных подписи из ASN.1, но пока тоже не понял, как можно создать подпись без подписанных атрибутов. Может быть этот вариант возможен и проще ?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,504   Сказал «Спасибо»: 554 раз Поблагодарили: 2250 раз в 1756 постах
|
Здравствуйте. Особенности создания подписанных CMS сообщений в КриптоПро CSP 3.6 и вышеЦитата:Добавление атрибутов на всём компьютере регулируется параметром реестра AddEsAttribute. Если данный параметр отсутствует, то добавление дополнительных атрибутов будет производиться. Для того, чтобы отключить добавление атрибутов, нужно добавить параметр AddEsAttribute типа DWORD и значением 0 в ветку реестра "HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Cryptography\CurrentVersion\Parameters". |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 05.04.2012(UTC) Сообщений: 17   Откуда: Россия Поблагодарили: 1 раз в 1 постах
|
Спасибо за совет. Данная информация в работе с C# к сожалению не помогла, удалось найти решение, как создать подпись без подписанных атрибутов и вложенного сертификата, чтобы далее извлечь из PKCS#7 структуры чистые байты подписи. Код:
ContentInfo contentInfo = new ContentInfo(content);
SignedCms signedCms = new SignedCms(contentInfo, separateSign); //separateSign = true
// X509Certificate2 cert
var cmsSigner = new CmsSigner(cert);
cmsSigner.IncludeOption = X509IncludeOption.None;
cmsSigner.SignerIdentifierType = SubjectIdentifierType.SubjectKeyIdentifier;
signedCms.ComputeSignature(cmsSigner);
byte[] result = signedCms.Encode();
|
 1 пользователь поблагодарил IgorDID за этот пост.
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close