Certy provides a simple API for creating X509 certificates and certificate revocation lists on demand when running unit tests. No more storing test certificates and private keys in the repository!
Python-certy is a version of similar tool for command line and Golang called certyaml and java-certy for Java.
from certy import Credential
ca = Credential().subject("CN=ca")
ca.write_certificates_as_pem("ca.pem")
cred = Credential().subject("CN=server").issuer(ca)
cred.write_certificates_as_pem("cert.pem")
cred.write_private_key_as_pem("key.pem")The latest documentation is available here. See also tests for more examples.
Install certy from PyPI:
pip install certyCreate virtual environment by running python3 -m venv .venv, then activate it source .venv/bin/activate.
Install dependencies by running pip install -r dev-requirements.txt.
Run tests with pytest.
To build wheel, run flit build and check the generated wheel in dist directory.
To find out coverage of tests, execute coverage run -m pytest and then coverage html.
The coverage report is generated to htmlcov/index.html.
Run make html on docs directory to generate documentation.
Open docs/_build/html/index.html to view the generated documentation.