Python API¶
django-ca provides a Python API for everyone that wants to extend the functionality or build your own solution on top.
Note
This project is developed using Python and Django. Using the Python API requires knowledge in both. If you need help, both projects provide excellent documentation.
General¶
django-ca is a standard Django App. Using it requires a basic Django environment. You do not have to provide any special settings, default settings should be fine.
If you plan on using this project in standalone scripts, Django has some hints to get you started. But note that you still have to configure all of the basic Django settings and there is virtually no functionality without a database.
In some environments, e.g. where django-ca is exclusively used with command-line scripts, it might we worth it to use the default SQLite database backend.
Certificates¶
Certificates are represented by the Certificate
model, they too are a standard
Django model:
>>> from django_ca.models import Certificate
>>> cert = Certificate.objects.get(serial=cert_serial)
>>> cert.revoke() # this already calls save()
Much like with certificate authorities, creating a new certificate requires a manager method,
Certificate.objects.create_cert()
:
>>> from django_ca.utils import x509_name
>>> Certificate.objects.create_cert(ca, csr, subject=x509_name('/CN=example.com'))
<Certificate: example.com>
Signals¶
Signals are a way for a developer to execute code whenever an event happens, for example to send out an email whenever a new certificate is issued. django-ca provides some custom signals.