Skip to main content

pykalkan

Установка:

pip install pykalkan

Начало работы

Для работы с ЭЦП (Электронной Цифровой Подписью) используется библиотека Kalkan Crypt. Вам необходимо выполнить следующие шаги:

  1. Установите нужную версию библиотеки Kalkan Crypt из SDK (SDK/C/Linux/C/libs). Например:

    sudo cp -f libkalkancryptwr-64.so.2.0.2 /usr/lib/libkalkancryptwr-64.so
    
  2. Установите CA (Certificate Authority) сертификаты из папки SDK/C/Linux/ca-certs. В этой папке находятся два типа сертификатов: production и test. Для установки сертификатов используйте предоставленные скрипты.

    Обратите внимание, что при установке сертификатов потребуются права суперпользователя (sudo).

Пример работы с библиотекой Kalkan Crypt

Вот пример использования библиотеки Kalkan Crypt для проверки ЭЦП на валидность:

Внимание! Динамическая библиотека не предназначена для одновременного обращения к ней


Подключение библиотеки и загрузка хранилища ключей

from pykalkan import Adapter

lib = "libkalkancryptwr-64.so"

# Инициализация происходит в контекстном менеждере
# При выходе из контекста происходит finalize()
with Adapter(lib) as adapter:
    adapter.load_key_store(CERT_PATH, CERT_PASSWORD)
    adapter.set_tsa_url()

Подпись данных в виде base64 строки

...
data = "SGVsbG8sIFdvcmxkIQ=="

signed_data = adapter.sign_data(data)
...

Проверка подписи на валидность и отозванность (OCSP или CRL)

...
res = adapter.verify_data(signed_data, data_to_verify)

cert = res.get("Cert").decode()

validate_result = adapter.x509_validate_certificate_ocsp(cert)  # OCSP
#  или
validate_result = adapter.x509_validate_certificate_crl(cert, path_to_crl_file)  # CRL
...

На данный момент (на 21.08.23) реализованы следующие функции из библиотеки:

  • KC_Init
  • KC_LoadKeyStore
  • KC_Finalize
  • KC_SignData
  • KC_VerifyData
  • X509ExportCertificateFromStore
  • X509LoadCertificateFromStore
  • X509CertificateGetInfo
  • X509ValidateCertificate (CRL + OCSP)
  • TSASetUrl
  • GetTimeFromSign

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pykalkan-1.3.0.tar.gz (16.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pykalkan-1.3.0-py3-none-any.whl (18.9 kB view details)

Uploaded Python 3

File details

Details for the file pykalkan-1.3.0.tar.gz.

File metadata

  • Download URL: pykalkan-1.3.0.tar.gz
  • Upload date:
  • Size: 16.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pykalkan-1.3.0.tar.gz
Algorithm Hash digest
SHA256 7bb80384c9bc3b8b01b046037efb7c2cdab31b8ed1b1b8f90624bdd1389d7e73
MD5 f538bf78dfa38830e6839737d9643be8
BLAKE2b-256 5c7e088edbcaa54496072a149b0a63bcb80d868a7292dac2b0493ec3062c2516

See more details on using hashes here.

File details

Details for the file pykalkan-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: pykalkan-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 18.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pykalkan-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4f6084fb6850cf217565f9fea659f050ced26470d3a5072c24936cb30df28637
MD5 95d67ae08cafd2124c48333c867dbadc
BLAKE2b-256 3d17d721702289cbb19b3e63015bd53a0ee1a109ac54cf6b9cccdbd3b3d7a786

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page