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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Володя  
#1 Оставлено : 12 февраля 2024 г. 21:02:33(UTC)
Володя

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

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

Добрый день!

Подскажите, пожалуйста:
1. Как прописать аналоги -nochain -norev в pycades?
2. Почему в приведённом коде возникает ошибка при снятии подписи?
3. Мне ещё предстоит в бинарном виде снимать подпись, но методы Verify/VerifyCades настаивают, чтобы им передавали строку; что я упускаю?

Пока в питоне подписываем и снимаем подпись файлов командами
cryptcp -sign -nochain -norev -thumbprint some_thmbprint -der in out.sig
cryptcp -verify -nochain -norev out.sig out
так "всё работает"

В таком коде возникает ошибка "The revocation process could not continue - the certificate(s) could not be checked. (0x800B010E)":
Код:

import pycades


store = pycades.Store()
store.Open(pycades.CAPICOM_CURRENT_USER_STORE, pycades.CAPICOM_MY_STORE, pycades.CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED)

cert = store.Certificates.Find(pycades.CAPICOM_CERTIFICATE_FIND_SHA1_HASH, "some_thumbprt").Item(1)

signer = pycades.Signer()
signer.Certificate = cert
# хз что это, тут предлагается поставить https://docs.cryptopro.ru/cades/pycades/pycades-samples/pycades-sign-verify,
# но описания этого аттра тут https://learn.microsoft.com/en-us/windows/win32/seccrypto/signer не нашёл
# без него, похоже, возникает Exception: The URL of TSP service is not specified. (0xC2100121)
# signer.CheckCertificate = True # <<< зачем это?

signed_data = pycades.SignedData()
signed_data.Content = "{'hello': 'salut'}"
signer.Options = pycades.CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY  # <<< это -nochain?
# в доках предлагают вторым аргументом pycades.CADESCOM_CADES_BES. Хз, что зависит от этого
signature = signed_data.SignCades(signer, pycades.CADESCOM_PKCS7_TYPE, False) #, pycades.CAPICOM_ENCODE_BINARY)

print("--Signature--")
print(signature)
print("----")

_signed_data = pycades.SignedData()
# _signed_data.ContentEncoding = pycades.CAPICOM_ENCODE_BINARY
_signed_data.VerifyCades(signature, pycades.CADESCOM_PKCS7_TYPE)
print("Verified successfully")
Offline icl_username  
#2 Оставлено : 18 февраля 2025 г. 15:35:10(UTC)
icl_username

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

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

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

Столкнулся с похожей проблемой. Думал, что проблема в том, что не хватает корневых сертификатов или списка отозванных сертификатом. Но их установка не помогла. Валится та же самая ошибка:
Цитата:
Exception: The revocation process could not continue - the certificate(s) could not be checked. (0x800B010E)



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