secure-systems-lab / securesystemslib

Cryptographic and general-purpose routines for Secure Systems Lab projects at NYU
MIT License
48 stars 49 forks source link

securesystemslib

CI Documentation Status

Securesystemslib is a cryptography interface for signing and verifying digital signatures. It is developed for the TUF and in-toto projects: the key and signature containers are compatible with metadata formats from those projects.

Under the hood, Securesystemslib can use various digital signing systems (e.g. cryptography, PIV hardware keys and multiple cloud-based key management systems).

Installation

The default installation supports pure-Python ed25519 signature verification only. To enable other schemes and signature creation, securesystemslib can be installed with extras. See pyproject.toml for available optional dependencies.

# Install with ed25519, RSA, ECDSA sign and verify support
pip install securesystemslib[crypto]
# ...or with HSM (e.g. Yubikey) support
pip install securesystemslib[hsm]

Usage

python-securesystemslib.readthedocs.io

Contact

Contribute

See Instructions for contributors.

Legacy key migration

Use migrate_keys script to convert key pairs generated with legacy keys or interface modules to a consistent standard format, which is compatible with CryptoSigner. The script requires securesystemslib~=0.31.0.