Статус: Участник
Группы: Участники
Зарегистрирован: 29.04.2023(UTC) Сообщений: 10
Сказал(а) «Спасибо»: 3 раз
|
Автор: Андрей * А без "ручного добавления" отсутствует подписанный атрибут с датой\временем? Или не проверяли?
CADESCOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME - это не доверенное время, рекомендуется использовать CAdES-T и выше, как указано выше. Не вполне понимаю, как проверить подписанный атрибут, просто ориентируюсь на документацию по расширению python, где сказано "Расширение реализует интерфейс, аналогичный CAdESCOM", а в интерфейсе ICPSigner есть коллекция AuthenticatedAttributes2 (коллекция подписанных атрибутов). Но через python к ней не достучаться. Интересно, кстати почему? Это принципиальное ограничение? В чем отличие от просто AuthenticatedAttributes? Вообще, задача изначально стояла переписать код с C#/COM на python под линукс один в один и там атрибут вручную добавляется. Насчет CAdES-T понял, проверим, хотя подпись другая получается.
|
|
|
|
Статус: Сотрудник
Группы: Модератор, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,190 Сказал(а) «Спасибо»: 100 раз Поблагодарили: 272 раз в 253 постах
|
если вы про signingTime 1.2.840.113549.1.9.5 то по умолчанию он добавляется всегда. вы сравните ваши подписи до и после например тут lapo.it |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 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, если подписываемая строка та же? Зависит ли это от ОС или версии КриптоПро?
|
|
|
|
Статус: Сотрудник
Группы: Модератор, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,190 Сказал(а) «Спасибо»: 100 раз Поблагодарили: 272 раз в 253 постах
|
Автор: 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
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 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), то дайджест одинаковый
|
|
|
|
Статус: Сотрудник
Группы: Модератор, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,190 Сказал(а) «Спасибо»: 100 раз Поблагодарили: 272 раз в 253 постах
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 29.04.2023(UTC) Сообщений: 10
Сказал(а) «Спасибо»: 3 раз
|
Автор: Санчир Момолдаев а base64 значение строк одинаковое? может преобразование кривое? Удалось разобраться, проблема была в разном порядке присваивания полей Content и ContentEncoding Правильно задавать значения только в таком порядке: signedData.ContentEncoding=... signedData.Content=... В принципе кое-где в документации есть упоминание этого, но не так, чтобы легко найти при работе с python)
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 03.10.2023(UTC) Сообщений: 12
|
Здравствуйте,
можно ли получить сертификат открепленной подписи без проверки через pycades.SignedData().VerifyCades()? Т.е. просто взять файл с подписью без оригинала и вытащить оттуда сертификат?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,318 Сказал «Спасибо»: 549 раз Поблагодарили: 2207 раз в 1722 постах
|
Автор: Mogaba Здравствуйте,
можно ли получить сертификат открепленной подписи без проверки через pycades.SignedData().VerifyCades()? Т.е. просто взять файл с подписью без оригинала и вытащить оттуда сертификат?
Здравствуйте. Да, инициализировать content мусором, в обработке ошибок при проверке ЭП - запросить у подписанта сертификат. |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,318 Сказал «Спасибо»: 549 раз Поблагодарили: 2207 раз в 1722 постах
|
выше с вызовом, обернуть его в try: ... except: ... получить сертификат
пробовали?
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close