OwnCA makes it easy to handle a Certificate Authority (CA) and manage certificates for hosts, servers or clients.
An example of high-level usage:
>>> from ownca import CertificateAuthority
>>> ca = CertificateAuthority(ca_storage='/opt/CA', common_name='Corp CA')
>>> example_com = ca.issue_certificate('www.example.com', dns_names=['www.example.com', 'w3.example.com'])
Basically, in these three lines we:
-
Imported the ownca Certificate Authority library
-
Created a new CA named Corp CA that uses
/opt/CA
as CA storage for certificates, keys, etc. -
Created a signed certificate by Corp CA for www.example.com, whose files are also stored in
/opt/CA/certs/www.example.com
>>> example_com.cert <Certificate(subject=<Name(CN=www.example.com)>, ...)>
More detailed usage can be found in http://ownca.readthedocs.org.
pip install ownca
Visit http://ownca.readthedocs.org
git clone [email protected]:OwnCA/ownca.git
cd ownca
pipenv shell
pipenv install -d
In case you have macOS M1:
pip uninstall cryptography cffi
LDFLAGS=-L$(brew --prefix libffi)/lib CFLAGS=-I$(brew --prefix libffi)/include pip install cffi cryptography rust --no-binary :all:
To automatically run checks before you commit your changes you should install the git hook scripts with pre-commit:
pre-commit install
pre-commit autoupdate