django-ca is a small project to manage TLS certificate authorities and easily issue certificates. It is based on cryptography and Django. It can be used as an app in an existing Django project or stand-alone with the basic project included. Certificates can be managed through Djangos admin interface or via commands - so no webserver is needed, if you’re happy with the command-line.

Documentation is available at


  1. Set up a secure local certificate authority in just a few minutes.
  2. Written in Python 3.5+, Django 2.2+ and cryptography 2.7+.
  3. Management via command line and/or via Djangos admin interface.
  4. Certificate revocation via CRLs and OCSP.
  5. Get email notifications about certificates about to expire.

Please see for more extensive documentation.


Documentation is available at


Please see


Ideas on what we could do for future releases:

  1. Add parameter to add generic CRL/OCSP URLs to CAs.
  2. Test CRL signing certificates.
  3. Only send out one notification if multiple certificates expire for a user.
  4. Add ability to automatically regenerate CRLs when a certificate is revoked.


This project is free software licensed under the GPLv3.