Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро CSP 5.0
»
КриптоПро CSP 5.0 API. Проверка подписи. Не проверяется подпись ЦБ.
Статус: Участник
Группы: Участники
Зарегистрирован: 25.07.2025(UTC) Сообщений: 13  Откуда: Москва Сказал(а) «Спасибо»: 7 раз
|
Автор: Андрей *  А Вы пробовали удалить штамп? Нет, штамп не пробовал удалять, т.к. не подозревал о такой возможности (пока еще не очень хорошо владею предметной областью).
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,844   Сказал «Спасибо»: 584 раз Поблагодарили: 2320 раз в 1818 постах
|
Чудеса... Не найден автор исходной подписи
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 25.07.2025(UTC) Сообщений: 13  Откуда: Москва Сказал(а) «Спасибо»: 7 раз
|
Автор: Андрей *  Проверьте этот вариант, вдруг...  VizualizacijaEhD.PDF.sig (4kb) загружен 1 раз(а). Спасибо, попробую.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 25.07.2025(UTC) Сообщений: 13  Откуда: Москва Сказал(а) «Спасибо»: 7 раз
|
Автор: Андрей *  Чудеса... Не найден автор исходной подписи
Подскажите пожалуйста, при каких условиях вы получили такой результат?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,844   Сказал «Спасибо»: 584 раз Поблагодарили: 2320 раз в 1818 постах
|
Автор: Павел Нагибин  Автор: Андрей *  Чудеса... Не найден автор исходной подписи
Подскажите пожалуйста, при каких условиях вы получили такой результат? Запрос SignedData.Signers.Count |
|
 1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Администратор
Группы: Участники
Зарегистрирован: 01.03.2017(UTC) Сообщений: 123  Откуда: Москва Сказал(а) «Спасибо»: 7 раз Поблагодарили: 52 раз в 38 постах
|
Автор: Павел Нагибин  Служба технической поддержки предоставила корректный пример кода на Python, который проверяет тип подписи DER Код:import win32com.client
import win32com.client
import os
import base64
document_path = os.path.join("ЦБ", "ВизуализацияЭД.PDF")
signature_path = os.path.join("ЦБ", "ВизуализацияЭД.PDF.sig")
signedData = win32com.client.Dispatch('CAdESCOM.CadesSignedData')
with open(document_path, 'rb') as f:
content = base64.b64encode(f.read()).decode("utf-8")
with open(signature_path, 'rb') as file:
signature = base64.b64encode(file.read()).decode('utf-8')
signedData.ContentEncoding = 1
signedData.Content = content
signedData.VerifyCades(signature, 65535, True)
Судя по содержимому подписи, это не Cades-XLT1, а PKCS#7 подпись.
Можно проверить при помощи метода GetMsgType:
signedData.GetMsgType(signature)
Возвращает
CADESCOM_PKCS7_TYPE = 0xffff (65535)
Но в моем окружении ошибка сохраняется: Код:pywintypes.com_error: (-2147352567, 'Ошибка.', (0, 'CAdESCOM.CadesSignedData.1', 'Объект или свойство не найдено.', None, 0, -2146885628), None)
Ищем причину... Добрый день! Попробуйте проверить с новой версией плагина 2.0.15400: Скачать 2.0.15400Связано, по всей видимости, с доработками по запросу CADES-2785 ( changelog). Отредактировано пользователем 28 июля 2025 г. 17:45:04(UTC)
| Причина: Не указана
|
 1 пользователь поблагодарил Ситдиков Денис за этот пост.
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 25.07.2025(UTC) Сообщений: 13  Откуда: Москва Сказал(а) «Спасибо»: 7 раз
|
Автор: Ситдиков Денис  Автор: Павел Нагибин  Служба технической поддержки предоставила корректный пример кода на Python, который проверяет тип подписи DER Код:import win32com.client
import win32com.client
import os
import base64
document_path = os.path.join("ЦБ", "ВизуализацияЭД.PDF")
signature_path = os.path.join("ЦБ", "ВизуализацияЭД.PDF.sig")
signedData = win32com.client.Dispatch('CAdESCOM.CadesSignedData')
with open(document_path, 'rb') as f:
content = base64.b64encode(f.read()).decode("utf-8")
with open(signature_path, 'rb') as file:
signature = base64.b64encode(file.read()).decode('utf-8')
signedData.ContentEncoding = 1
signedData.Content = content
signedData.VerifyCades(signature, 65535, True)
Судя по содержимому подписи, это не Cades-XLT1, а PKCS#7 подпись.
Можно проверить при помощи метода GetMsgType:
signedData.GetMsgType(signature)
Возвращает
CADESCOM_PKCS7_TYPE = 0xffff (65535)
Но в моем окружении ошибка сохраняется: Код:pywintypes.com_error: (-2147352567, 'Ошибка.', (0, 'CAdESCOM.CadesSignedData.1', 'Объект или свойство не найдено.', None, 0, -2146885628), None)
Ищем причину... Добрый день! Попробуйте проверить с новой версией плагина 2.0.15400: Скачать 2.0.15400Связано, по всей видимости, с доработками по запросу CADES-2785 ( changelog). Спасибо, с новой версией плагина действительно работает, ошибка ушла: Код:(0, 'CAdESCOM.CadesSignedData.1', 'Объект или свойство не найдено.', None, 0, -2146885628)
. Код, который предоставила техническая поддержка ошибку больше не возвращает. Всем спасибо! Отредактировано пользователем 28 июля 2025 г. 18:37:36(UTC)
| Причина: Не указана
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 25.07.2025(UTC) Сообщений: 13  Откуда: Москва Сказал(а) «Спасибо»: 7 раз
|
Добрый день. Я столкнулся с новой ошибкой, которая появляется при вызове signers = signedData.Signers Код:[quote][quote](-2147352567, 'Ошибка.', (0, 'CAdESCOM.CadesSignedData.1', 'Не найден автор исходной подписи.', None, 0, -2146889714), None)[/quote][/quote]
Проверка подписи ЦБ (формат подписи CADESCOM_PKCS7_TYPE = 0xffff (65535)) проходит успешно, но вот посмотреть сертификат подписанта теперь получается нельзя. Можете подсказать пожалуйста? Код:import win32com.client
import os
import base64
about = win32com.client.Dispatch('CAdESCOM.About')
print(about.PluginVersion())
document_path = os.path.join("ЦБ", "ВизуализацияЭД.PDF")
signature_path = os.path.join("ЦБ", "ВизуализацияЭД.PDF.sig")
signedData = win32com.client.Dispatch('CAdESCOM.CadesSignedData')
with open(document_path, 'rb') as f:
content = base64.b64encode(f.read()).decode("utf-8")
with open(signature_path, 'rb') as file:
signature = base64.b64encode(file.read()).decode('utf-8')
cadesType = signedData.GetMsgType(signature)
signedData.ContentEncoding = 1
signedData.Content = content
signedData.VerifyCades(signature, cadesType, True)
signers = signedData.Signers
|
|
|
|
Статус: Администратор
Группы: Участники
Зарегистрирован: 01.03.2017(UTC) Сообщений: 123  Откуда: Москва Сказал(а) «Спасибо»: 7 раз Поблагодарили: 52 раз в 38 постах
|
Добрый день! В SignedData.Certificates есть какие-либо сертификаты?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,844   Сказал «Спасибо»: 584 раз Поблагодарили: 2320 раз в 1818 постах
|
Здравствуйте. Да, тоже воспроизвелась тогда. Информация передана разработчикам. Спасибо. |
|
 1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро CSP 5.0
»
КриптоПро CSP 5.0 API. Проверка подписи. Не проверяется подпись ЦБ.
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close