1.24.0 (2023-05-01)¶
Warning
docker or source users that do *not* use PostgreSQL:
The USE_TZ setting was
switched to True in the Django project. See Switch to USE_TZ=True by default for update information.
Add support for cryptography 40.0, django 4.2 and acme 2.4.0 and 2.5.0.
Use Django’s timezone support by default by enabling
USE_TZ=True. See Switch to USE_TZ=True by default for update information.Make the default order of subjects configurable via CA_DEFAULT_NAME_ORDER.
Certificates for OCSP responders now include the “OCSPNoCheck” extension by default.
Certificates for OCSP responders now use a commonName designating the certificate as OCSP responder as subject, other fields from the CAs subject are discarded.
A profile can now ignore CA_DEFAULT_SUBJECT by setting
subjecttoFalse.Copy all extensions when using manage.py resign_cert.
Add support for multiple OCSP responder and CA Issuer entries when creating a certificate authority.
Add typehints when installing as wheel.
Command-line interface¶
Continuing the standardization effort started in 1.23.0, some options have been replaced and/or use a different syntax. See the update notes for more detailed instructions.
The
--pathlenand--no-pathlenparameters for manage.py init_ca were renamed to--path-lengthand--no-path-length.The
--key-usageoption was changed to/split into--key-usageand--key-usage-non-critical.--key-usagetakes multiple option values instead of a single comma-separated list.The
--ext-key-usageoption was changed to/split into--extended-key-usageand--extended-key-usage-critical.--extended-key-usagetakes multiple option values instead of a single comma-separated list.The
--tls-featureoption was changed to/split into--tls-featureand--tls-feature-critical.--tls-featuretakes multiple option values instead of a single comma-separated list.Add support for specifying a custom Key Usage extension when using manage.py init_ca.
Add support for adding the Inhibit anyPolicy, Policy Constraints and TLS feature extensions when using manage.py init_ca.
Add support for adding the OCSP No Check extension in when issuing certificates with manage.py sign_cert or manage.py resign_cert.
Add support for specifying a date when the certificate was compromised when revoking a certificate with manage.py revoke_cert.
Backwards incompatible changes¶
The
--ext-key-usageflag to manage.py sign_cert was replaced with--extended-key-usage.The critical flag for the Key Usage, Extended Key Usage and TLS Feature is now set with dedicated options, with the recommended value being the default. See above and the update notes for details.
The
pre_issue_certwas removed. Use thepre_sign_certsignal instead.
Deprecation notices¶
Removed in django-ca==1.25.0:
This is the last release to support acme 2.3.0 and cryptography 38.
Support for the
CA_DIGEST_ALGORITHMsetting, useCA_DEFAULT_SIGNATURE_HASH_ALGORITHMinstead.Support for the
CA_DEFAULT_ECC_CURVEsetting, useCA_DEFAULT_ELLIPTIC_CURVEinstead.Support for non-standard algorithm names (e.g.
sha512, useSHA-512instead).Support for non-standard elliptic key curve names (e.g.
SECP384R1, usesecp384r1instead).
Removed in django-ca==1.26.0:
Support for
cryptography==39andacme==2.4.0(other versions may removed depending on release time).Support for using
ECCandEdDSAas key type. UseECandEd25519instead.The
--pathlenand--no-pathlenparameters to manage.py init_ca will be removed. Use--path-lengthand--no-path-lengthinstead.Support for comma-separated lists in
--key-usage,--extended-key-usageand--tls-feature. Use lists instead (e.g.--key-usage keyAgreement keyEnciphermentinstead of--key usagekeyAgreement,keyEncipherment.Support for non-standard TLS feature names “OCSPMustStaple” and “MultipleCertStatusRequest”. Use
status_requestandstatus_request_v2instead.