Skip to main content

Расширение Pycades предоставляет программный интерфейс, аналогичный КриптоПро

Project description

pycades

Данный проект создан для удобной установки pycades в свой проект, пока только для linux систем

pycades представляет собой расширение для Python3, которое реализует интерфейс, аналогичный CAdESCOM.

Источник расширения

GitHub

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 Distribution

pycades-1.1.3.tar.gz (183.0 kB view hashes)

Uploaded Source

Built Distributions

pycades-1.1.3-py3-none-manylinux_2_35_x86_64.whl (13.7 MB view hashes)

Uploaded Python 3 manylinux: glibc 2.35+ x86-64

pycades-1.1.3-py3-none-manylinux_2_34_x86_64.whl (13.7 MB view hashes)

Uploaded Python 3 manylinux: glibc 2.34+ x86-64

pycades-1.1.3-py3-none-manylinux_2_31_x86_64.whl (13.7 MB view hashes)

Uploaded Python 3 manylinux: glibc 2.31+ x86-64

pycades-1.1.3-py3-none-manylinux_2_28_x86_64.whl (13.7 MB view hashes)

Uploaded Python 3 manylinux: glibc 2.28+ x86-64

pycades-1.1.3-py3-none-manylinux_2_27_x86_64.whl (13.7 MB view hashes)

Uploaded Python 3 manylinux: glibc 2.27+ x86-64

pycades-1.1.3-py3-none-manylinux_2_24_x86_64.whl (13.7 MB view hashes)

Uploaded Python 3 manylinux: glibc 2.24+ x86-64

pycades-1.1.3-py3-none-any.whl (183.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page