Расширение Pycades предоставляет программный интерфейс, аналогичный КриптоПро
Project description
pycades
Данный проект создан для удобной установки pycades в свой проект
pycades представляет собой расширение для Python3, которое реализует интерфейс, аналогичный CAdESCOM.
pip install pycades
Если не установлены зависимости КриптоПро CSP, то библиотека начинает вести себя непредсказуемо и некоторые методы перестают работать, для лучшей работы желательно установить их установить с оф сайта или найти их в гите /libs (достаточно будет установить КриптоПро CSP, /libs/linux-amd64_deb через install.sh)
Несколько примеров
больше можно посмотреть в директории с тестами
Загрузка сертификата из фала:
from pycades import pycades
if __name__ == "__main__":
with open('./certs/Kornevoy-sertifikat-GUTS-2022.CER', "rb") as f:
cert = pycades.Certificate()
cert.Import(f.read())
print(cert.IsValid().Result)
Получение данных сертификата:
from pycades import pycades
def test_get_info_method(cert):
# Возвращает имя субъекта.
assert cert.GetInfo(pycades.CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME) == 'Минцифры России'
# Возвращает имя издателя сертификата.
assert cert.GetInfo(pycades.CAPICOM_CERT_INFO_ISSUER_SIMPLE_NAME) == 'Минцифры России'
# Возвращает адрес электронной почты субъекта
assert cert.GetInfo(pycades.CAPICOM_CERT_INFO_SUBJECT_EMAIL_NAME) == 'dit@digital.gov.ru'
# Возвращает адрес электронной почты издателя сертификата.
assert cert.GetInfo(pycades.CAPICOM_CERT_INFO_ISSUER_EMAIL_NAME) == 'dit@digital.gov.ru'
# Возвращает UPN субъекта сертификата
assert cert.GetInfo(pycades.CAPICOM_CERT_INFO_SUBJECT_UPN) == ''
# Возвращает UPN издателя сертификата
assert cert.GetInfo(pycades.CAPICOM_CERT_INFO_ISSUER_UPN) == ''
# Возвращает DNS-имя субъекта сертификата. .
assert cert.GetInfo(pycades.CAPICOM_CERT_INFO_SUBJECT_DNS_NAME) == 'Минцифры России'
# Возвращает DNS-имя издателя сертификата.
assert cert.GetInfo(pycades.CAPICOM_CERT_INFO_ISSUER_DNS_NAME) == 'Минцифры России'
def test_get_base_info(cert):
# Дата, с которой сертификат действителен.
assert cert.ValidFromDate == '08.01.2022 13:32:39'
# Дата, до которой сертификат действителен
assert cert.ValidToDate == '08.01.2040 13:32:39'
# Серийный номер.
assert cert.SerialNumber == '00951FA3477C61043AADFA858627823442'
name = (
'CN=Минцифры России, ИНН ЮЛ=7710474375, ОГРН=1047702026701, O=Минцифры '
'России, STREET="Пресненская набережная, дом 10, строение 2", L=г. Москва, '
'S=77 Москва, C=RU, E=dit@digital.gov.ru'
)
# Издатель сертификата.
assert cert.IssuerName == name
# Имя субъекта.
assert cert.SubjectName == name
# Отпечаток.
assert cert.Thumbprint == '2F0CB09BE3550EF17EC4F29C90ABD18BFCAAD63A'
# Версия сертификата.
assert cert.Version == 3
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for pycades-1.1.2-py3-none-manylinux_2_35_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05508b3bdbab0ab34a02ae332fcf40cfb48417ac02bed8ec83e20f4148bf7659 |
|
MD5 | b505b9fd6e31e5d61a1d18e65771189d |
|
BLAKE2b-256 | d85b1c64543132a388437b1c6b23ef4967d311ce40e5786ec3f9378f28fa5105 |
Hashes for pycades-1.1.2-py3-none-manylinux_2_34_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3730813860bf3ee571db70bc2cba9d09903702b89b22aabf77e9d5a05a28948 |
|
MD5 | e3b20b0236b3503f4439fd168538a74f |
|
BLAKE2b-256 | 78622ede34ac2eac9b71f41292ae214a26f441862fe0830a2f1285d3d8a44d57 |
Hashes for pycades-1.1.2-py3-none-manylinux_2_31_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 767e949ac8920bc59091ab9b1dd56e751fdc8a66e6ce05b280837c8f41c1aaaa |
|
MD5 | 68756c071032eccb530fb938e1b286e8 |
|
BLAKE2b-256 | 1cf55d3f4865535cf12ae71e7e2ef76e0a0c09db0a10410e01ed60a955d9ea33 |
Hashes for pycades-1.1.2-py3-none-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | afafa19fa34cc6ac6db9644146603b615dc21c3127fb83a6aa13c49ed6d056d8 |
|
MD5 | ecdf52abad5c9b96118c2b83f3fab2f2 |
|
BLAKE2b-256 | 50361c8b23bf009555180ca03cf7cceb4815a10d0c54feb0259e05b734991e47 |
Hashes for pycades-1.1.2-py3-none-manylinux_2_27_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd1356e24f49a88219de64aef79ebb78adc7ab566a0868fe0a31ea41cb9a5898 |
|
MD5 | 82dc279322e62c14d20e63ea8548583b |
|
BLAKE2b-256 | a87cbe99d156e7b46ab28318ca5255241a5be4e759117b64deb86dce6dd06d41 |
Hashes for pycades-1.1.2-py3-none-manylinux_2_24_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d67752146c22504346acf6e5bb1e1c4ed308a929637a0a73eec77ea91de5c2d0 |
|
MD5 | 4e8b89774cd19f4ece5b92a99a0868cc |
|
BLAKE2b-256 | 28db645ca8ed10c5659892a91378f817a69577017a37e0a08b6b21d4573021a5 |