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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Георгий K  
#1 Оставлено : 8 декабря 2025 г. 7:59:14(UTC)
Георгий K

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

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

Сказал(а) «Спасибо»: 1 раз
Всем добрый день!

Пытаюсь подписать данные при помощи pycades.

Необходимо выполнить аналог данной команды:
Код:
/opt/cprocsp/bin/cryptcp -sign -thumbprint 71D1774E947175D8B7CDB5B4F25BCD09BB0CE85F -detached content.json



Пример используемого кода:
Код:
content = self.json_dumps_post(content_dict)
store = pycades.Store()
store.Open(pycades.CADESCOM_CONTAINER_STORE, pycades.CAPICOM_MY_STORE, pycades.CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED)
certs = store.Certificates

signer = pycades.Signer()
signer.Certificate = certs.Item(1)
signer.CheckCertificate = True
signer.KeyPin = get_config().payment.sber.esp_cert_password

signed_data = pycades.SignedData()
signed_data.Content = content
signature = signed_data.SignCades(signer, pycades.CADESCOM_CADES_BES, True)

_signedData = pycades.SignedData()
_signedData.Content = content
_signedData.VerifyCades(signature, pycades.CADESCOM_CADES_BES, True)



Подпись,полученная при помощи консольной cryptcp проходит валидацию на стороне АПИ сервиса
Однако подпись сделанная при помощи pycades не проходит.

Подскажите в какую сторону копать,спасибо!
Offline Ситдиков Денис  
#2 Оставлено : 8 декабря 2025 г. 12:40:13(UTC)
Ситдиков Денис

Статус: Администратор

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

Сказал(а) «Спасибо»: 12 раз
Поблагодарили: 59 раз в 44 постах
Добрый день!
Цитата:
signer.Certificate = certs.Item(1)
У вас выбирается первый попавшийся сертификат. Проверьте, нужный ли сертификат используется для подписи.
Для поиска сертификата с известным отпечатком можно использовать метод Certificates.Find(pycades.CAPICOM_CERTIFICATE_FIND_SHA1_HASH, <отпечаток>).
thanks 1 пользователь поблагодарил Ситдиков Денис за этот пост.
Георгий K оставлено 08.12.2025(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.