Skip to main content

KeyCard Python SDK - APDU communication and cryptographic utilities.

Project description

KeyCard Python SDK

License Python codecov PyPI version Build status Documentation stars lastcommit numcontributors

A minimal, clean, fully native Python SDK for communicating with Keycard smart cards.

This SDK is under active development.
APDU commands are being implemented one by one.

Supported Commands

  • SELECT
  • INIT
  • IDENT
  • OPEN SECURE CHANNEL
  • MUTUALLY AUTHENTICATE
  • PAIR
  • UNPAIR
  • GET STATUS
  • VERIFY PIN
  • CHANGE PIN
  • UNBLOCK PIN
  • LOAD KEY
  • DERIVE KEY
  • GENERATE MNEMONIC
  • REMOVE KEY
  • GENERATE KEY
  • SIGN
  • SET PINLESS PATH
  • EXPORT KEY
  • STORE DATA
  • GET DATA
  • FACTORY RESET

Goals

  • Fully native Python implementation
  • Clean API surface
  • Easy to integrate
  • Clear separation between transport, protocol, parsing, and crypto
  • Fully tested, deterministic behavior
  • Focused on correctness, clarity, and maintainability

Installation

git clone https://github.com/mmlado/keycard-py.git
cd keycard-py
python -m venv venv
source venv/bin/activate
pip install -e .
pytest

License

MIT

Contributions

Contributions are welcome as this SDK grows.

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

keycard-0.1.0.tar.gz (41.0 kB view details)

Uploaded Source

Built Distribution

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

keycard-0.1.0-py2.py3-none-any.whl (34.8 kB view details)

Uploaded Python 2Python 3

File details

Details for the file keycard-0.1.0.tar.gz.

File metadata

  • Download URL: keycard-0.1.0.tar.gz
  • Upload date:
  • Size: 41.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.4

File hashes

Hashes for keycard-0.1.0.tar.gz
Algorithm Hash digest
SHA256 79cc1f67ed7188ffbdf61036f7ff1875da6be2aa9a4d8ce1befe522ed1718e82
MD5 6f1d476b38b5b510e54a9b4221194a45
BLAKE2b-256 b64f085fc233b7c670b026a5ef9a2f019cedeb4024a90587c9727875e040109e

See more details on using hashes here.

File details

Details for the file keycard-0.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: keycard-0.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 34.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.4

File hashes

Hashes for keycard-0.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 081b97243a84bfc11111c036130639d00f90e74d81e28e5f865c728ab96134b0
MD5 d2217c9d1a7e89205eead576822d537a
BLAKE2b-256 c721f762cff58c85447b7c5b89f3e7ab0bcb538a201ffa44ebb2142df2f857ad

See more details on using hashes here.

Supported by

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