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

Release files for pykalkan 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pykalkan 1.3.0
File Size Uploaded
pykalkan-1.3.0.tar.gz 16.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pykalkan 1.3.0
File Interpreter ABI Platform
pykalkan-1.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 35.3 kB

Release files / pykalkan-1.3.0.tar.gz

Download URL pykalkan-1.3.0.tar.gz
Size 16.4 kB
Tags Source
SHA-256 checksum
How to use checksums
7bb80384c9bc3b8b01b046037efb7c2cdab31b8ed1b1b8f90624bdd1389d7e73
BLAKE2b-256 checksum
How to use checksums
5c7e088edbcaa54496072a149b0a63bcb80d868a7292dac2b0493ec3062c2516
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / pykalkan-1.3.0-py3-none-any.whl

Download URL pykalkan-1.3.0-py3-none-any.whl
Size 18.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4f6084fb6850cf217565f9fea659f050ced26470d3a5072c24936cb30df28637
BLAKE2b-256 checksum
How to use checksums
3d17d721702289cbb19b3e63015bd53a0ee1a109ac54cf6b9cccdbd3b3d7a786
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page