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

Уведомление

Icon
Error

24 Страницы«<2021222324>
Опции
К последнему сообщению К первому непрочитанному
Offline taurus0  
#211 Оставлено : 6 мая 2023 г. 14:37:51(UTC)
taurus0

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

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

Сказал(а) «Спасибо»: 3 раз
Автор: Андрей * Перейти к цитате
А без "ручного добавления" отсутствует подписанный атрибут с датой\временем?
Или не проверяли?

CADESCOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME - это не доверенное время, рекомендуется использовать CAdES-T и выше,
как указано выше.


Не вполне понимаю, как проверить подписанный атрибут, просто ориентируюсь на документацию по расширению python, где сказано "Расширение реализует интерфейс, аналогичный CAdESCOM", а в интерфейсе ICPSigner есть коллекция AuthenticatedAttributes2 (коллекция подписанных атрибутов). Но через python к ней не достучаться. Интересно, кстати почему? Это принципиальное ограничение? В чем отличие от просто AuthenticatedAttributes?

Вообще, задача изначально стояла переписать код с C#/COM на python под линукс один в один и там атрибут вручную добавляется. Насчет CAdES-T понял, проверим, хотя подпись другая получается.
Offline Санчир Момолдаев  
#212 Оставлено : 7 мая 2023 г. 13:00:27(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 88 раз
Поблагодарили: 223 раз в 211 постах
если вы про signingTime 1.2.840.113549.1.9.5
то по умолчанию он добавляется всегда. вы сравните ваши подписи до и после например тут lapo.it
Техническую поддержку оказываем тут
Наша база знаний
Offline taurus0  
#213 Оставлено : 10 июля 2023 г. 14:43:38(UTC)
taurus0

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

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

Сказал(а) «Спасибо»: 3 раз
Автор: Санчир Момолдаев Перейти к цитате
если вы про signingTime 1.2.840.113549.1.9.5
то по умолчанию он добавляется всегда. вы сравните ваши подписи до и после например тут lapo.it


Добрый день
Встал такой вопрос, скорее всего не относящийся напрямую к python

Есть две detached подписи типа CADES_BES
Одна получена через Windows/CAdESCOM
Вторая получена через Linux/python
При подписании на вход передается одна и та же строка

Если сравнить подписи через lapo.it, то они отличаются только в двух атрибутах:

  • 1.2.840.113549.1.9.5 signingTime
  • 1.2.840.113549.1.9.4 messageDigest


Допустим то, что отличается signingTime вполне логично
А вот почему отличается messageDigest, если подписываемая строка та же? Зависит ли это от ОС или версии КриптоПро?
Offline Санчир Момолдаев  
#214 Оставлено : 10 июля 2023 г. 15:28:03(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 88 раз
Поблагодарили: 223 раз в 211 постах
Автор: taurus0 Перейти к цитате
Автор: Санчир Момолдаев Перейти к цитате
если вы про signingTime 1.2.840.113549.1.9.5
то по умолчанию он добавляется всегда. вы сравните ваши подписи до и после например тут lapo.it


Добрый день
Встал такой вопрос, скорее всего не относящийся напрямую к python

Есть две detached подписи типа CADES_BES
Одна получена через Windows/CAdESCOM
Вторая получена через Linux/python
При подписании на вход передается одна и та же строка

Если сравнить подписи через lapo.it, то они отличаются только в двух атрибутах:

  • 1.2.840.113549.1.9.5 signingTime
  • 1.2.840.113549.1.9.4 messageDigest


Допустим то, что отличается signingTime вполне логично
А вот почему отличается messageDigest, если подписываемая строка та же? Зависит ли это от ОС или версии КриптоПро?


по messageDigest убедитесь что строки одинаковые.
может у вас разница в \n и \r\n в конце файла.
либо в кодировке

посмотрите в хекс вьюере
Код:
linux:
xxd filename

win, powershell:
Format-Hex -Path filename


Техническую поддержку оказываем тут
Наша база знаний
Offline taurus0  
#215 Оставлено : 10 июля 2023 г. 16:55:16(UTC)
taurus0

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

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

Сказал(а) «Спасибо»: 3 раз
Автор: Санчир Момолдаев Перейти к цитате
по messageDigest убедитесь что строки одинаковые.
может у вас разница в \n и \r\n в конце файла.
либо в кодировке

посмотрите в хекс вьюере
Код:
linux:
xxd filename

win, powershell:
Format-Hex -Path filename




Дело в том, что в этой схеме нет файлов, программно формируется одна строка, которая подписывается в двух разных сервисах через веб-запросы, на win и linux.
Хотя я еще раз убедился, что в оба сервиса приходит одинаковый текст.
Но интересная деталь, messageDigest отличается только если используется CADESCOM_BASE64_TO_BINARY (исходная строка преобразована в base64)
Если кодировка CADESCOM_STRING_TO_UCS2LE (исходная строка НЕ преобразована в base64), то дайджест одинаковый
Offline Санчир Момолдаев  
#216 Оставлено : 10 июля 2023 г. 18:06:09(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 88 раз
Поблагодарили: 223 раз в 211 постах
а base64 значение строк одинаковое?
может преобразование кривое?

Отредактировано пользователем 10 июля 2023 г. 21:20:32(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline taurus0  
#217 Оставлено : 11 июля 2023 г. 12:01:12(UTC)
taurus0

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

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

Сказал(а) «Спасибо»: 3 раз
Автор: Санчир Момолдаев Перейти к цитате
а base64 значение строк одинаковое?
может преобразование кривое?


Удалось разобраться, проблема была в разном порядке присваивания полей Content и ContentEncoding
Правильно задавать значения только в таком порядке:
signedData.ContentEncoding=...
signedData.Content=...

В принципе кое-где в документации есть упоминание этого, но не так, чтобы легко найти при работе с python)
Offline Mogaba  
#218 Оставлено : 3 октября 2023 г. 9:02:54(UTC)
Mogaba

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

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

Здравствуйте,

можно ли получить сертификат открепленной подписи без проверки через pycades.SignedData().VerifyCades()?
Т.е. просто взять файл с подписью без оригинала и вытащить оттуда сертификат?
Offline Андрей *  
#219 Оставлено : 3 октября 2023 г. 10:53:28(UTC)
Андрей *

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

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

Сказал «Спасибо»: 495 раз
Поблагодарили: 2035 раз в 1579 постах
Автор: Mogaba Перейти к цитате
Здравствуйте,

можно ли получить сертификат открепленной подписи без проверки через pycades.SignedData().VerifyCades()?
Т.е. просто взять файл с подписью без оригинала и вытащить оттуда сертификат?


Здравствуйте.

Да, инициализировать content мусором, в обработке ошибок при проверке ЭП - запросить у подписанта сертификат.
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей *  
#220 Оставлено : 3 октября 2023 г. 10:56:18(UTC)
Андрей *

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

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

Сказал «Спасибо»: 495 раз
Поблагодарили: 2035 раз в 1579 постах
выше с вызовом, обернуть его в try:
...
except:
... получить сертификат


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