Статус: Новичок
Группы: Участники
Зарегистрирован: 23.03.2018(UTC) Сообщений: 2  Откуда: Москва
|
Добрый день всем. Совсем недавно пришлось столкнуться с ЭЦП и шифрованием, поэтому вопрос может и глупый, но у меня не получается его решить. Есть задача: Подписать строку (для примера, "d2538e55-bacc-4f24-a22c-818f445845f0") по ГОСТ 34.10. Подпись должна содержать сертификат подписанта. Требования к ЭЦП: Алгоритм подписи (OID) 1.2.643.7.1.1.3.3 (или более старый 1.2.643.7.1.1.3.2) Дайджест (OID) 1.2.643.7.1.1.2.3 (или более старый 1.2.643.7.1.1.2.3) Публичный ключ (OID) 1.2.643.7.1.1.1.2 (или более старый 1.2.643.7.1.1.1.2) Делаю так: Код:/// <summary>
///
/// </summary>
/// <param name="_cert">Сертификат</param>
/// <param name="_data">Массив байт шифруемой строки</param>
/// <returns></returns>
static public byte[] GetDetachedSignatureBase64(X509Certificate2 _cert, byte[] _data)
{
Gost3410CryptoServiceProvider gost = (Gost3410CryptoServiceProvider)_cert.PrivateKey;
Gost3411CryptoServiceProvider gostHash = new Gost3411CryptoServiceProvider();
byte[] signedValue = gost.SignData(_data, gostHash);
return signedValue;
}
Подскажите, как включить сертификат подписанта в подпись?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 14.10.2011(UTC) Сообщений: 147  Поблагодарили: 31 раз в 30 постах
|
Добрый день! Раз подпись должна включать сертификат подписанта, то, скорее всего, речь о PKCS7 (CMS) формате. Воспользуйтесь классом SignedCms. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 23.03.2018(UTC) Сообщений: 2  Откуда: Москва
|
Автор: Yoda  Воспользуйтесь классом SignedCms Как я понял, случае с классом SignedCms подпись будет сформирована по алгоритму, указанному в сертификате открытого ключа. В где мне указывать OID дайджеста, алгоритма и публичного ключа?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 14.10.2011(UTC) Сообщений: 147  Поблагодарили: 31 раз в 30 постах
|
Да, достаточно указать сертификат подписанта. В КриптоПро .NET SDK есть соответствующие примеры. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close