Статус: Новичок
Группы: Участники
Зарегистрирован: 24.07.2015(UTC) Сообщений: 3  Откуда: Краснодар Сказал(а) «Спасибо»: 2 раз
|
Цитата:Необходимо получить электронную подпись в формате PKSC#7 detached или attached signature. Электронная подпись среди authenticatedAttributes должна содержать атрибут signingTime (время подписи), определенный стандартом PKCS #9. Подскажите как реализовать такую подпись? После поисков в инете нашлось Sign a File to Create a .p7s FileИли под подписью имеется в виду CMS/PKCS #7 сообщение по примеру КриптоПро Код:
private static string SignString(string str, X509Certificate2 certificate)
{
//Данные заявки в формате UTF-8
var data = Encoding.UTF8.GetBytes(str);
// Создаем объект ContentInfo по сообщению.
// Это необходимо для создания объекта SignedCms.
var content = new ContentInfo(data);
// Создаем объект SignedCms по только что созданному
// объекту ContentInfo.
var signedCms = new SignedCms(content);
// Определяем подписывающего, объектом CmsSigner.
var signer = new CmsSigner(certificate);
// Подписываем CMS/PKCS #7 сообение.
signedCms.ComputeSignature(signer);
// Кодируем CMS/PKCS #7 подпись сообщения.
var signedbytes = signedCms.Encode();
//Кодируем в base64
return Convert.ToBase64String(signedbytes);
}
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,179   Сказал «Спасибо»: 618 раз Поблагодарили: 2394 раз в 1883 постах
|
Автор: Кристина  Цитата:Необходимо получить электронную подпись в формате PKSC#7 detached или attached signature. Электронная подпись среди authenticatedAttributes должна содержать атрибут signingTime (время подписи), определенный стандартом PKCS #9. Подскажите как реализовать такую подпись? После поисков в инете нашлось Sign a File to Create a .p7s FileИли под подписью имеется в виду CMS/PKCS #7 сообщение по примеру КриптоПро Код:
private static string SignString(string str, X509Certificate2 certificate)
{
//Данные заявки в формате UTF-8
var data = Encoding.UTF8.GetBytes(str);
// Создаем объект ContentInfo по сообщению.
// Это необходимо для создания объекта SignedCms.
var content = new ContentInfo(data);
// Создаем объект SignedCms по только что созданному
// объекту ContentInfo.
var signedCms = new SignedCms(content);
// Определяем подписывающего, объектом CmsSigner.
var signer = new CmsSigner(certificate);
// Подписываем CMS/PKCS #7 сообение.
signedCms.ComputeSignature(signer);
// Кодируем CMS/PKCS #7 подпись сообщения.
var signedbytes = signedCms.Encode();
//Кодируем в base64
return Convert.ToBase64String(signedbytes);
}
Это одно и тоже. Подробности: в примерах от КриптоПРО (SDK для .NET) или в MSDN от MS |
|
 1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close