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

Уведомление

Icon
Error

2 Страницы<12
Опции
К последнему сообщению К первому непрочитанному
Offline ___Алексей_Васильев___  
#11 Оставлено : 12 июля 2019 г. 11:45:31(UTC)
___Алексей_Васильев___

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

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

Полученная подпись со штампом проходит проверку через КриптоАрм. Но вот значение штампа почему то выводится в виде массива байт. Об этой проблеме как раз говорилось в https://www.cryptopro.ru...spx?g=posts&t=11317.

Отображается в виде 30 82 05 56 02 01 01 30 82 01 58 30 82 01 48 31 18 30 16 06 05 2a 85 03 64 01 12 0d 31 30 33 37 37 30 30 30 38 35 34 34 34 31 1a 30 18 06 08 2a 85 03 03 81 03 01 01 12 0c 30 30 37 37 31 37 31 30 37 39 39 31 31 39 30 37 06 03 55 04 09 1e 30 04 43 04 3b 00 2e 00 20 04 21 04 43 04 49 04 51 04 32 04 41 04 3a 04 38 04 39 00 20 04 32 04 30 04 3b 00 2c 00 20 04 34 00 2e 00 20 00 31 00 38 31 21 30 1f 06 03 55 04 08 1e 18 00 37 00 37 00 20 04 33 00 2e 00 20 04 1c 04 3e 04 41 04 3a 04 32 04 30 31 15 30 13 06 03 55 04 07 1e 0c 04 1c 04 3e 04 41 04 3a 04 32 04 30 31 20 30 1e 06 09 2a 86 48 86 f7 0d 01 09 01 16 11 69 6e 66 6f 40 63 72 79 70 74 6f 70 72 6f 2e 72 75 31 0b 30 09 06 03 55 04 06 13 02 52 55 31 29 30 27 06 03 55 04 0a 1e 20 04 1e 04 1e 04 1e 00 20 00 22 04 1a 04 20 04 18 04 1f 04 22 04 1e 00 2d 04 1f 04 20 04 1e 00 22 31 41 ....

Подскажите из-за чего это может быть? Особенности получения токена через BouncyCastle?
Ожидал увидеть примерно следующий вид:

Штамп времени на подпись
Точность -1
Идентификатор политики 1.2.3.4.42
Статус Запрос успешно обработан
Время 23.04.2019 15:19:00 UTC+06
Серийный номер 133258AEE60000000000128FCA
Сертификат службы штампов времени
Информация о сертификате
Параметры сертификата:

Версия: 3

Серийный номер: 01FDA2D300E5A9758543FED52AB5AF4834

Издатель: Тестовый подчиненный УЦ ООО "КРИПТО-ПРО" ГОСТ 2012 (УЦ 2.0), info@cryptopro.ru, 1037700085444, 007717107991, RU, 77 Москва, Москва, ул. Сущёвский вал д. 18, ООО "КРИПТО-ПРО"

Действителен с: 30.01.2019 18:40:33 UTC+06
Действителен до: 30.01.2029 18:01:44 UTC+06

Владелец: Тестовый оператор TSP, 007717107991, 1037700085444, ООО "КРИПТО-ПРО", ул. Сущевский Вал, д. 18, Москва, 77 Москва, RU


Offline two_oceans  
#12 Оставлено : 12 июля 2019 г. 12:51:03(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,602
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 393 раз в 366 постах
То есть фундаментально изменили по сравнению с первым сообщением копирование на Marshal.StructureToPtr?

Автор: ___Алексей_Васильев___ Перейти к цитате
Полученная подпись со штампом проходит проверку через КриптоАрм. Но вот значение штампа почему то выводится в виде массива байт. Об этой проблеме как раз говорилось в https://www.cryptopro.ru...aspx?g=posts&t=11317
Подскажите из-за чего это может быть? Особенности получения токена через BouncyCastle?
Полагаю, скопировался какой-то "вредный совет" из той темы, оид вероятно не тот или тип атрибута или надо немного обертку блоба срезать. Желательно выяснить вообще этот атрибут сейчас влияет на проверку подписи или нет? Например, если перевести время на тот момент когда сертификат закончится пройдет ли подпись проверку. Если нет, то атрибут ни на что по факту не влияет и он хоть и закодирован успешно, но неверный по смыслу.

По оиду версию проверить проще всего: судя по прочитанным сегодня вполглаза по диагонали стандартам, оид с окончанием .1.4 попадался в протоколе TSP, а c окончанием .2.14 фигурируровал в стандарте cades. Полагаю логичнее использовать значение что в cades. Соответственно, может быть не срабатывает автоматический разбор значения атрибута из-за другого оида. Если не поможет, то надо вчитываться в стандарт или сравнивать с правильно разбираемым файлом.
Offline ___Алексей_Васильев___  
#13 Оставлено : 15 июля 2019 г. 11:42:32(UTC)
___Алексей_Васильев___

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

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

Автор: two_oceans Перейти к цитате
То есть фундаментально изменили по сравнению с первым сообщением копирование на Marshal.StructureToPtr?

Автор: ___Алексей_Васильев___ Перейти к цитате
Полученная подпись со штампом проходит проверку через КриптоАрм. Но вот значение штампа почему то выводится в виде массива байт. Об этой проблеме как раз говорилось в https://www.cryptopro.ru...aspx?g=posts&t=11317
Подскажите из-за чего это может быть? Особенности получения токена через BouncyCastle?
Полагаю, скопировался какой-то "вредный совет" из той темы, оид вероятно не тот или тип атрибута или надо немного обертку блоба срезать. Желательно выяснить вообще этот атрибут сейчас влияет на проверку подписи или нет? Например, если перевести время на тот момент когда сертификат закончится пройдет ли подпись проверку. Если нет, то атрибут ни на что по факту не влияет и он хоть и закодирован успешно, но неверный по смыслу.

По оиду версию проверить проще всего: судя по прочитанным сегодня вполглаза по диагонали стандартам, оид с окончанием .1.4 попадался в протоколе TSP, а c окончанием .2.14 фигурируровал в стандарте cades. Полагаю логичнее использовать значение что в cades. Соответственно, может быть не срабатывает автоматический разбор значения атрибута из-за другого оида. Если не поможет, то надо вчитываться в стандарт или сравнивать с правильно разбираемым файлом.


Да, действительно был указан неверный OID атрибута, из-за чего подпись воспринималась как Cades-Bes, а не Cades-T, которая мне нужна. Заменил Oid на 1.2.840.113549.1.9.16.2.14 (id-aa-signatureTimeStampToken) и заношу в атрибут значение токена как есть (вместо кодирования структуры SIGNER_INFO). При проверке на ресурсе https://www.justsign.me/verifyqca/Verify/ верно определяется тип подписи Cades-T и даже отображается значение "Время подписи полученное из штампа времени", но в результате получаю ошибку: "Не удалось проверить подпись CAdES-T. Ошибка: [Элемент не найден]. Код: [0x80070490].В сообщении не найден действительный штамп времени на подпись." Нашел похожу проблему https://www.cryptopro.ru...spx?g=posts&t=14482, но из ответа непонятно куда и какой сертификат нужно добавить и какой адрес нужно изменить на общедоступный?
Offline two_oceans  
#14 Оставлено : 16 июля 2019 г. 5:50:07(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,602
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 393 раз в 366 постах
Цитата:
Полученная подпись со штампом проходит проверку через КриптоАрм. Но вот значение штампа почему то выводится в виде массива байт.
Автор: ___Алексей_Васильев___ Перейти к цитате
Да, действительно был указан неверный OID атрибута, из-за чего подпись воспринималась как Cades-Bes, а не Cades-T, которая мне нужна. Заменил Oid на 1.2.840.113549.1.9.16.2.14 (id-aa-signatureTimeStampToken) и заношу в атрибут значение токена как есть (вместо кодирования структуры SIGNER_INFO).
Что-то обстоятельства меняются быстро: и средство проверки изменилось и оид и кодирование. Если по порядку: 1) в КриптоАрм теперь проверка проходит и правильно выводится значение? Если проверка не проходит, нужно более подробно смотреть на каком шаге "спотыкается". 2) Что мотивировало отказаться от кодирования? 3) С какой-то верной подписью сравнивали?

Цитата:
При проверке на ресурсе https://www.justsign.me/verifyqca/Verify/ верно определяется тип подписи Cades-T и даже отображается значение "Время подписи полученное из штампа времени", но в результате получаю ошибку: "Не удалось проверить подпись CAdES-T. Ошибка: [Элемент не найден]. Код: [0x80070490].В сообщении не найден действительный штамп времени на подпись.
Это сообщение можно толковать по-разному: 1) либо вообще никакой штамп времени не найден; 2) либо штамп времени найден, но штамп недействительный или не удалось проверить его действительность.
Тема на которую приведена ссылка адресует второй случай. Речь, как я понимаю, идет о сертификате тестового УЦ, который выпустил сертификат подписавшего и сертификат сервера доверенного времени. Сертификат УЦ не был добавлен в Доверенные сертификаты на justsign и из-за этого не проходила проверка. Другими словами самостоятельно Вы тут ничего не добавите.

У Вас же скорее всего сейчас немного другой случай, то есть штамп присутствует, но без кодирования в нем полагаю нет достаточной информации о подписавшем сервере времени. Соответственно, при проверке неизвестно как проверить действительность самого штампа времени.
Offline ___Алексей_Васильев___  
#15 Оставлено : 16 июля 2019 г. 12:28:37(UTC)
___Алексей_Васильев___

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

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

Автор: two_oceans Перейти к цитате
Цитата:
Полученная подпись со штампом проходит проверку через КриптоАрм. Но вот значение штампа почему то выводится в виде массива байт.
Автор: ___Алексей_Васильев___ Перейти к цитате
Да, действительно был указан неверный OID атрибута, из-за чего подпись воспринималась как Cades-Bes, а не Cades-T, которая мне нужна. Заменил Oid на 1.2.840.113549.1.9.16.2.14 (id-aa-signatureTimeStampToken) и заношу в атрибут значение токена как есть (вместо кодирования структуры SIGNER_INFO).
Что-то обстоятельства меняются быстро: и средство проверки изменилось и оид и кодирование. Если по порядку: 1) в КриптоАрм теперь проверка проходит и правильно выводится значение? Если проверка не проходит, нужно более подробно смотреть на каком шаге "спотыкается". 2) Что мотивировало отказаться от кодирования? 3) С какой-то верной подписью сравнивали?

Цитата:
При проверке на ресурсе https://www.justsign.me/verifyqca/Verify/ верно определяется тип подписи Cades-T и даже отображается значение "Время подписи полученное из штампа времени", но в результате получаю ошибку: "Не удалось проверить подпись CAdES-T. Ошибка: [Элемент не найден]. Код: [0x80070490].В сообщении не найден действительный штамп времени на подпись.
Это сообщение можно толковать по-разному: 1) либо вообще никакой штамп времени не найден; 2) либо штамп времени найден, но штамп недействительный или не удалось проверить его действительность.
Тема на которую приведена ссылка адресует второй случай. Речь, как я понимаю, идет о сертификате тестового УЦ, который выпустил сертификат подписавшего и сертификат сервера доверенного времени. Сертификат УЦ не был добавлен в Доверенные сертификаты на justsign и из-за этого не проходила проверка. Другими словами самостоятельно Вы тут ничего не добавите.

У Вас же скорее всего сейчас немного другой случай, то есть штамп присутствует, но без кодирования в нем полагаю нет достаточной информации о подписавшем сервере времени. Соответственно, при проверке неизвестно как проверить действительность самого штампа времени.


В качестве средств для проверки использую КриптоАрм и сервис https://www.justsign.me/verifyqca/Verify/. В случае КриптоАрма - проверка выполняется с результатом "Один или несколько штампов времени недействительны.". При этом сама подпись действительна, сертификат действителен, но на вкладке "Штамп времени" указано: "Штамп времени недействителен (или отсутствует лицензия)". При этом заполнены свойства штампа, а именно серийный номер, время в штампе, точность штампа и идентификатор политики (1.2.643.2.2.38.4). Так же указано что сертификат действителен.

Касательно проверки через сервис https://www.justsign.me/verifyqca/Verify/. В разделе "Дополнительная информация о подписи", определяется формат подписи CADES-T, выводится время подписи полученное из штампа и время подписи. Так же выводится информация о сертификате. Однако результат проверки: "Подпись недействительна", Дополнительная информация: "Не удалось проверить подпись CAdES-T. Ошибка: [Элемент не найден]. Код: [0x80070490].В сообщении не найден действительный штамп времени на подпись.".

От кодирования я не отказывался, токен полученный через GetEncoded уже имеет закодированный вид. Oid изменил т.к в спецификации CAdES-T (ETSI TS 101 733 «CMS Advanced Electronic Signatures (CadES)» сказано что для создания подписи CAdES-T необходимо добавить атрибут с oid 1.2.840.113549.1.9.16.2.14 (https://www.etsi.org/deliver/etsi_ts/101700_101799/101733/02.02.01_60/ts_101733v020201p.pdf 38 стр), соответственно в него требуется записывать полученный токен времени.

Так же проверил ASN.1 структуру подписей, в двух из которых штамп времени определяется как действительный, сравнил с той что формирую я. Выяснил что одна из подписей с "валидным" штампом имеет формат CAdES-C т.к в ней присутствуют элементы со следующими oid-ами (1.2.840.113549.1.9.16.2.(21-24)), кроме наличия данных элементов разницы в секции описания штампа времени не обнаружил. Вторая подпись с "валидным" штампом, которую я взял из https://www.cryptopro.ru...aspx?g=posts&t=14482 имеет структуру штампа аналогичную моей + содержит два атрибута с oid-ами организации...

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