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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Камиль Гареев  
#1 Оставлено : 25 июля 2025 г. 15:20:30(UTC)
Камиль Гареев

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

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

Сказал(а) «Спасибо»: 1 раз
Цитата:
public static string CreateDetachedSign(CpX509Certificate2 gostCert, byte[] bytesToHash)
{
byte[] signature;

var contentInfo = new ContentInfo(bytesToHash);
var signedCms = new CpSignedCms(contentInfo, true);
CpCmsSigner cmsSigner = new CpCmsSigner(gostCert);

// Опционально добавляем подписанные атрибуты.
cmsSigner.SignedAttributes.Add(new Pkcs9SigningTime(DateTime.Now));
cmsSigner.SignedAttributes.Add(new PkcsSigningCertificateV2(gostCert));

// Вычисляем и кодируем подпись в массив байт.
signedCms.ComputeSignature(cmsSigner);
signature = signedCms.Encode();

Console.WriteLine($"CMS Sign: {Convert.ToBase64String(signature)}");

// Создаем объект ContentInfo по сообщению.
// Это необходимо для создания объекта SignedCms.
ContentInfo contentInfoVerify = new ContentInfo(bytesToHash);

// Создаем SignedCms для декодирования и проверки.
CpSignedCms signedCmsVerify = new CpSignedCms(contentInfoVerify, true);

// Декодируем подпись
signedCmsVerify.Decode(signature);

// Проверяем подпись
signedCmsVerify.CheckSignature(false);

File.WriteAllBytes(@"C:\app\Gareev\dataSignedWithDotNet.txt", signature);

return Convert.ToBase64String(signature);
}


Создаю таким образом подпись. Но созданная через UI подпись 4 кбайта вместо 6 кбайтов созданных через .NET и последняя не валидируется через UI
Offline Андрей *  
#2 Оставлено : 25 июля 2025 г. 16:19:42(UTC)
Андрей *

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

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

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

Информации как обычно, минимум.

Что такое UI?
Инструменты КриптоПРО?


Прикладывайте тестовый файл и подпись к нем из .net

byte[] bytesToHash - здесь же файл целиком, надеюсь?
Название странное, конечно, выбрано...
Техническую поддержку оказываем тут
Наша база знаний
Offline Камиль Гареев  
#3 Оставлено : 25 июля 2025 г. 16:30:23(UTC)
Камиль Гареев

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

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

Сказал(а) «Спасибо»: 1 раз
Всё верно - "Инструменты КриптоПРО" Исходные данные, файл подписи КриптоПРО, файл подписи через .NET Core в файле
Iskhodnye dannye.zip (5kb) загружен 3 раз(а).
Offline Артём Макаров  
#4 Оставлено : 28 июля 2025 г. 14:55:31(UTC)
Артём Макаров

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

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 67 раз в 62 постах
Автор: Камиль Гареев Перейти к цитате
Всё верно - "Инструменты КриптоПРО" Исходные данные, файл подписи КриптоПРО, файл подписи через .NET Core в файле
Iskhodnye dannye.zip (5kb) загружен 3 раз(а).


Обе приложенные подписи успешно проверяются через тестовый сервис проверки подписи (https://dss.cryptopro.ru/verify/) и через cptools 5.0.12900 (linux).

Protokol_28072025_142714.pdf (81kb) загружен 1 раз(а).

Protokol_28072025_142803.pdf (82kb) загружен 1 раз(а).

Snimok.PNG (148kb) загружен 3 раз(а).

Файл из Libcore больше, так как подпись по умолчанию содержит данные о промежуточном сертификате (узел SignedData->CertificateSet содержит 2 сертификата). Управлять этим поведением можно через свойство IncludeOption. По умолчанию используется значение ExcludeRoot.
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Артём Макаров за этот пост.
Камиль Гареев оставлено 28.07.2025(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.