django_ca.subject
- X509 Subject¶
Module for handling x509 subjects.
- class django_ca.subject.Subject(subject=None)[source]¶
Convenience class to handle X509 Subjects.
This class accepts a variety of values and intelligently parses them:
>>> Subject('/CN=example.com') Subject("/CN=example.com") >>> Subject({'CN': 'example.com'}) Subject("/CN=example.com") >>> Subject([('CN', 'example.com'), ]) Subject("/CN=example.com")
In most respects, this class handles like a
dict
:>>> s = Subject('/CN=example.com') >>> 'CN' in s True >>> s.get('OU', 'Default OU') 'Default OU' >>> s.setdefault('C', 'AT') ['AT'] >>> s.setdefault('C', 'DE') ['AT'] >>> s['C'], s['CN'] ('AT', 'example.com')
- property fields: Iterator[Tuple[cryptography.hazmat._oid.ObjectIdentifier, str]]¶
This subject as a list of
NameOID
instances.>>> list(Subject('/C=AT/CN=example.com').fields) [(<ObjectIdentifier(oid=2.5.4.6, name=countryName)>, 'AT'), (<ObjectIdentifier(oid=2.5.4.3, name=commonName)>, 'example.com')]
- property name: cryptography.x509.name.Name¶
This subject as
x509.Name
.>>> Subject('/C=AT/CN=example.com').name <Name(C=AT,CN=example.com)>