aboutsummaryrefslogtreecommitdiffstats
path: root/src/cryptography/x509/extensions.py
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2015-12-22 21:40:20 -0600
committerPaul Kehrer <paul.l.kehrer@gmail.com>2015-12-22 21:40:20 -0600
commit3b95cd7f563809c136205c0642b4d54395e6b2eb (patch)
tree34ff578474ce4d1c665242a7b0dda0ff49f03044 /src/cryptography/x509/extensions.py
parent53f45f92d8594ce97f6af99edba1ddca0c4fd838 (diff)
downloadcryptography-3b95cd7f563809c136205c0642b4d54395e6b2eb.tar.gz
cryptography-3b95cd7f563809c136205c0642b4d54395e6b2eb.tar.bz2
cryptography-3b95cd7f563809c136205c0642b4d54395e6b2eb.zip
CRLNumber needs to be a class for reasons.
Diffstat (limited to 'src/cryptography/x509/extensions.py')
-rw-r--r--src/cryptography/x509/extensions.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/cryptography/x509/extensions.py b/src/cryptography/x509/extensions.py
index 71ce8a15..15feb717 100644
--- a/src/cryptography/x509/extensions.py
+++ b/src/cryptography/x509/extensions.py
@@ -109,6 +109,31 @@ class Extensions(object):
@utils.register_interface(ExtensionType)
+class CRLNumber(object):
+ oid = ExtensionOID.CRL_NUMBER
+
+ def __init__(self, crl_number):
+ if not isinstance(crl_number, six.integer_types):
+ raise TypeError("crl_number must be an integer")
+
+ self._crl_number = crl_number
+
+ def __eq__(self, other):
+ if not isinstance(other, CRLNumber):
+ return NotImplemented
+
+ return self.crl_number == other.crl_number
+
+ def __ne__(self, other):
+ return not self == other
+
+ def __repr__(self):
+ return "<CRLNumber({0})>".format(self.crl_number)
+
+ crl_number = utils.read_only_property("_crl_number")
+
+
+@utils.register_interface(ExtensionType)
class AuthorityKeyIdentifier(object):
oid = ExtensionOID.AUTHORITY_KEY_IDENTIFIER