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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Dakstar  
#1 Оставлено : 22 марта 2019 г. 10:10:49(UTC)
Dakstar

Статус: Участник

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

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 1 раз в 1 постах
Всем доброго времени суток!
Почитал руководство разработчика по КритоПро .NET, вытащил все подписи из файла .sig, но при этом не пойму как мне вытащить информацию о дате подписания той или иной подписью, прошу помочь в решении данного вопроса.
Если есть пример кода, то буду благодарен)))
Спасибо!
Online Андрей Писарев  
#2 Оставлено : 22 марта 2019 г. 10:52:47(UTC)
Андрей *

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

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

Сказал «Спасибо»: 549 раз
Поблагодарили: 2208 раз в 1723 постах
Техническую поддержку оказываем тут
Наша база знаний
Online Андрей Писарев  
#3 Оставлено : 22 марта 2019 г. 10:56:04(UTC)
Андрей *

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

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

Сказал «Спасибо»: 549 раз
Поблагодарили: 2208 раз в 1723 постах
Цепочка поиска:

SignedData object
SignedData.Signers
Signers.Item

Signer object

Signer.AuthenticatedAttributes property

Attributes object ->Attributes.Item property

Attribute object


Attribute.Name property

CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME
Техническую поддержку оказываем тут
Наша база знаний
Offline Dakstar  
#4 Оставлено : 22 марта 2019 г. 11:51:18(UTC)
Dakstar

Статус: Участник

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

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 1 раз в 1 постах
Автор: Андрей Писарев Перейти к цитате
Цепочка поиска:

SignedData object
SignedData.Signers
Signers.Item

Signer object

Signer.AuthenticatedAttributes property

Attributes object ->Attributes.Item property

Attribute object


Attribute.Name property

CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME


Случайно нет готового примера?? :-)
Online Андрей Писарев  
#5 Оставлено : 22 марта 2019 г. 20:20:40(UTC)
Андрей *

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

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

Сказал «Спасибо»: 549 раз
Поблагодарили: 2208 раз в 1723 постах
Автор: Dakstar Перейти к цитате


Случайно нет готового примера?? :-)



значение в атрибуте:
Oid=System.Security.Cryptography.Pkcs.Pkcs9SigningTime==1.2.840.113549.1.9.5

Код:
  for (int i = 0; i < cms.SignerInfos[0].SignedAttributes.Count; i++)
                        {
                            info = info+ "\n\nOid=" + cms.SignerInfos[0].SignedAttributes[i].Values[0].ToString() + "==" +
                                 cms.SignerInfos[0].SignedAttributes[i].Values[0].Oid.Value.ToString();
                        }
Техническую поддержку оказываем тут
Наша база знаний
Online Андрей Писарев  
#6 Оставлено : 22 марта 2019 г. 20:26:16(UTC)
Андрей *

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

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

Сказал «Спасибо»: 549 раз
Поблагодарили: 2208 раз в 1723 постах
Pkcs9SigningTime Class


Получаем:

Код:
     for (int i = 0; i < cms.SignerInfos[0].SignedAttributes.Count; i++)
                        {
                            if (cms.SignerInfos[0].SignedAttributes[i].Oid.Value == "1.2.840.113549.1.9.5") // Oid время подписания
                            {
                                Pkcs9SigningTime pkcs9_time = new Pkcs9SigningTime(cms.SignerInfos[0].SignedAttributes[i].Values[0].RawData);
                                info="Дата и Время подписания:  " + pkcs9_time.SigningTime.ToString();
                                break;
                            }
                        }

Техническую поддержку оказываем тут
Наша база знаний
Offline Dakstar  
#7 Оставлено : 25 марта 2019 г. 13:12:58(UTC)
Dakstar

Статус: Участник

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

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 1 раз в 1 постах
Автор: Андрей Писарев Перейти к цитате
Pkcs9SigningTime Class


Получаем:

Код:
     for (int i = 0; i < cms.SignerInfos[0].SignedAttributes.Count; i++)
                        {
                            if (cms.SignerInfos[0].SignedAttributes[i].Oid.Value == "1.2.840.113549.1.9.5") // Oid время подписания
                            {
                                Pkcs9SigningTime pkcs9_time = new Pkcs9SigningTime(cms.SignerInfos[0].SignedAttributes[i].Values[0].RawData);
                                info="Дата и Время подписания:  " + pkcs9_time.SigningTime.ToString();
                                break;
                            }
                        }


Спасибо за помощь :-)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.