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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

pycades-1.1.4-py3-none-any.whl (55.1 MB view details)

Uploaded Python 3

File details

Details for the file pycades-1.1.4-py3-none-any.whl.

File metadata

  • Download URL: pycades-1.1.4-py3-none-any.whl
  • Upload date:
  • Size: 55.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for pycades-1.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9ee6cc528b98d846c54bbbfe076bf971d54e3eef9b78d640d0a9d34e3bd6e571
MD5 b77736c7917849e6afb3cfa11c3cbdf5
BLAKE2b-256 96db72ff568ea952099677d371a4a30d29200a3e40b7905ebd101024539a6753

See more details on using hashes here.

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