Статус: Участник
Группы: Участники
Зарегистрирован: 20.01.2025(UTC) Сообщений: 16
Сказал(а) «Спасибо»: 2 раз
|
Добрый день! Задача: - необходимо реализовать удаление просроченных сертификатов и добавление новый сертификатов в форматах [pfx, p7b, cer] через Python Pycades. Я начал с документации про Store (https://docs.cryptopro.ru/cades/reference/cadescom/cadescom_class/store) Дальше пошёл смотреть методы и интерфейсы в microsoft (https://docs.cryptopro.ru/cades/reference/cadescom/cadescom_class/store) В Microsoft увидел методы: - Load для Certificate (https://learn.microsoft.com/en-us/windows/win32/seccrypto/certificate-load) - Delete для Store (https://learn.microsoft.com/en-us/windows/win32/seccrypto/store-delete) - Add для Store (https://learn.microsoft.com/en-us/windows/win32/seccrypto/store-add) Но Pycades версии 0.1.58124 не позволяет использовать этим методы, так как нет их реализации в Pycades. Получаю ошибки обращения к несуществующим методам. Метод Add существует. Но без Load нет возможности получить объект Certificate из pfx сертификата с использованием пароля. Я понимаю, что могу использовать проброс значений сертификатов и паролей к ним в bash и нативно использовать certmgr и его команды, но очень не хочется это делать, учитывая то, что есть пакет для питона. Подскажите, пожалуйста, как я могу решить проблему для реализации моей задачи:: 1. Как импортировать .pfx сертификаты с паролем? 2. Как удалять сертификаты из хранилища Store? Отредактировано пользователем 9 июня 2025 г. 18:27:13(UTC)
| Причина: Не указана
|
|
|
|
Статус: Администратор
Группы: Участники
Зарегистрирован: 01.03.2017(UTC) Сообщений: 131  Откуда: Москва Сказал(а) «Спасибо»: 8 раз Поблагодарили: 55 раз в 40 постах
|
|
 1 пользователь поблагодарил Ситдиков Денис за этот пост.
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 20.01.2025(UTC) Сообщений: 16
Сказал(а) «Спасибо»: 2 раз
|
Автор: Ситдиков Денис  Добрый день! Наконец-то разобрался со сборкой новой версии pycades. Столкнулся с рядом проблем и вопросов: 1. pycades.ModuleVersion() выводит версию 0.1.70195. (хотя я брал исходники с гитхаба по вашей ссылке и сегодня перепроверил снова) 2. методы ImportPFX() и Remove() не распознаются: 2.1 AttributeError: type object 'pycades.Store' has no attribute 'Remove' 2.2 AttributeError: type object 'pycades.Store' has no attribute 'ImportPFX' также в сообщении об обновлении пакета нет информации о добавлении этих методов https://cryptopro.ru/for...&m=153003#post153003подскажите, пожалуйста, что я делаю не так? Также есть вопрос -- возможно ли как-то проверить через pycades наличие или отсутствие пароля у сертификата? Перед подписанием с помощью сертификата нужно указывать signer.KeyPin. Однако, если его не указать, а у сертификата есть пароль, то блокируется поток работы приложения. Хочется это избежать, но не могу найти чего-либо, что позволяло бы делать проверку на "ожидаемость" пароля для конкретного сертификата. Буду благодарен за любую информацию Отредактировано пользователем 25 июля 2025 г. 13:58:11(UTC)
| Причина: Не указана
|
|
|
|
Статус: Администратор
Группы: Участники
Зарегистрирован: 01.03.2017(UTC) Сообщений: 131  Откуда: Москва Сказал(а) «Спасибо»: 8 раз Поблагодарили: 55 раз в 40 постах
|
Добрый день! Цитата:1. pycades.ModuleVersion() выводит версию 0.1.70195. (хотя я брал исходники с гитхаба по вашей ссылке и сегодня перепроверил снова) pycades не является частью плагина, их версии не должны совпадать. Актуальная версия pycades - на гитхабе. Цитата:2. методы ImportPFX() и Remove() не распознаются: 2.1 AttributeError: type object 'pycades.Store' has no attribute 'Remove' 2.2 AttributeError: type object 'pycades.Store' has no attribute 'ImportPFX' Какая версия плагина используется? Она выводится при вызове cmake ( https://docs.cryptopro.ru/cades/pycades/pycades-build): Код:~/build$ cmake ..
-- The CXX compiler identification is GNU 11.4.0
...
-- cprocsp-pki-cades: 2.0.15400
Цитата:также в сообщении об обновлении пакета нет информации о добавлении этих методов plugin: В плагин добавлен метод Store.Remove (CADES-2292) ( 2.0.14589) plugin: Исправлена ошибка при использовании кириллицы в пароле на pfx в Store.ImportPFX (CADES-2698) ( 2.0.15400) Информации о добавлении этих методов в pycades не будет, ее можно посмотреть только в истории коммитов на гитхабе ( ссылка) Цитата:Также есть вопрос -- возможно ли как-то проверить через pycades наличие или отсутствие пароля у сертификата? Пароль задается не для сертификата, а для контейнера закрытого ключа. Проверить, является ли пароль на контейнер паролем по умолчанию можно с помощью метода PrivateKey.IsDefaultPin.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 20.01.2025(UTC) Сообщений: 16
Сказал(а) «Спасибо»: 2 раз
|
Добрый день! Да, вы правы. У меня версия старше стоит. Но я не понимаю где найти свежую. Подскажите, пожалуйста, где я могу найти все свежие пакеты, а именно: 1. Плагин cades 2. pycades 3. КриптоПро CSP ? По проверки пароля к контейнеру понял, спасибо большое!
|
|
|
|
Статус: Администратор
Группы: Участники
Зарегистрирован: 01.03.2017(UTC) Сообщений: 131  Откуда: Москва Сказал(а) «Спасибо»: 8 раз Поблагодарили: 55 раз в 40 постах
|
1. Комплект КриптоПро CSP + Плагин (кнопка "Актуальный криптопровайдер и плагин") - Страница загрузки 2. pycades - github
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 20.01.2025(UTC) Сообщений: 16
Сказал(а) «Спасибо»: 2 раз
|
Автор: Ситдиков Денис  1. Комплект КриптоПро CSP + Плагин (кнопка "Актуальный криптопровайдер и плагин") - Страница загрузки 2. pycades - github Спасибо за ответ! Я таки разобрался с плагином и pycades. Оказалось, что не ту версию плагина устанавливал. Но я столкнулся с другой проблемой. При попытке импорта pycades.so получаю такую ошибку: Цитата:undefined symbol: _ZN9CryptoPro3PKI5CAdES21CPPCadesCPStoreObject16get_CertificatesERN5boost10shared_ptrINS1_28CPPCadesCPCertificatesObjectEEE это происходит на версии плагина Цитата:cprocsp-pki-cades: 2.0.15400 Из информации что я нашёл на форуме и гитхабе phpcades, понял, что рекомендация одна - откатить версию плагина. Я попробовал откатиться на Цитата:cprocsp-pki-cades: 2.0.15000 и ошибка что я описал выше прошла. Но при этом я не могу получить версию , в которой был добавлен метод для проверки наличия пароля у контейнера. В результате Цитата:cprocsp-pki-cades: 2.0.15000 и работают корректно, а Цитата:cprocsp-pki-cades: 2.0.15400 и - нет. Полагаю, что дело в плагине. Подскажите, пожалуйста, что я могу сделать с этим ? Отредактировано пользователем 12 августа 2025 г. 17:19:42(UTC)
| Причина: Не указана
|
|
|
|
Статус: Администратор
Группы: Участники
Зарегистрирован: 01.03.2017(UTC) Сообщений: 131  Откуда: Москва Сказал(а) «Спасибо»: 8 раз Поблагодарили: 55 раз в 40 постах
|
Цитата:Но я столкнулся с другой проблемой. При попытке импорта pycades.so получаю такую ошибку: Цитата:undefined symbol: _ZN9CryptoPro3PKI5CAdES21CPPCadesCPStoreObject16get_CertificatesERN5boost10shared_ptrINS1_28CPPCadesCPCertificatesObjectEEE Какая версия CSP у Вас используется? Что возвращает Отредактировано пользователем 12 августа 2025 г. 18:39:06(UTC)
| Причина: Не указана
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 20.01.2025(UTC) Сообщений: 16
Сказал(а) «Спасибо»: 2 раз
|
Автор: Ситдиков Денис  Цитата:Но я столкнулся с другой проблемой. При попытке импорта pycades.so получаю такую ошибку: Цитата:undefined symbol: _ZN9CryptoPro3PKI5CAdES21CPPCadesCPStoreObject16get_CertificatesERN5boost10shared_ptrINS1_28CPPCadesCPCertificatesObjectEEE Какая версия CSP у Вас используется? Что возвращает Output: Код:dpkg -l | grep cprocsp
ii cprocsp-curl-64 5.0.13455-7 amd64 CryptoPro cURL shared library and application. Build 13455.
ii cprocsp-pki-cades-64 2.0.15400-1 amd64 CryptoPro ECP SDK
ii lsb-cprocsp-base 5.0.13455-7 all CryptoPro CSP directories and scripts. Build 13455.
ii lsb-cprocsp-ca-certs 5.0.13455-7 all CryptoPro CA certificates. Build 13455.
ii lsb-cprocsp-capilite-64 5.0.13455-7 amd64 CryptoPro CSP. CryptoAPI Lite libraries and applications. Build 13455.
ii lsb-cprocsp-devel 5.0.13455-7 all CryptoPro CSP developer headers and examples. Build 13455.
ii lsb-cprocsp-kc1-64 5.0.13455-7 amd64 CryptoPro CSP KC1. Build 13455.
ii lsb-cprocsp-rdr-64 5.0.13455-7 amd64 CryptoPro CSP common libraries and utilities. Build 13455.
Скачиваю эту версию: Код:КриптоПро CSP 5.0 R4 для Linux со встроенным cades/plugin
Для Linux (x64, deb) - Astra Linux, Ubuntu
Контрольная сумма
ГОСТ: A7A86E6C50908C7B900CA7CA762E71BBD7A75D756A1C68578D4B9EEB41C0BADB
MD5: 1b1ade4d008c5e8c78407d332553c9b4
Отредактировано пользователем 13 августа 2025 г. 9:54:41(UTC)
| Причина: Не указана
|
|
|
|
Статус: Администратор
Группы: Участники
Зарегистрирован: 01.03.2017(UTC) Сообщений: 131  Откуда: Москва Сказал(а) «Спасибо»: 8 раз Поблагодарили: 55 раз в 40 постах
|
Автор: icl_username  Но я столкнулся с другой проблемой. При попытке импорта pycades.so получаю такую ошибку: Цитата:undefined symbol: _ZN9CryptoPro3PKI5CAdES21CPPCadesCPStoreObject16get_CertificatesERN5boost10shared_ptrINS1_28CPPCadesCPCertificatesObjectEEE При комплектной установке актуальных криптопровайдера и плагина такой ошибки возникать не должно, воспроизвести не удалось. В качестве примера сборки добавлен Dockerfile https://github.com/Crypt...des/blob/main/DockerfileПопробуйте собрать этот образ, предварительно скопировав папку с дистрибутивом: Код:# cp -r ~/linux-amd64_deb/ .
# docker build -t pycades-build .
И запустить пример после сборки: Код:# docker run -it pycades-build
# /opt/cprocsp/bin/amd64/cryptcp -createcert -dn "CN=test" -provtype 80 -cont '\\.\HDIMAGE\test' -ca https://cryptopro.ru/certsrv
# python3 sample_sign_verify.py
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close