From 979c26303fbd6a2f4044855d989f4a74a4d51ac5 Mon Sep 17 00:00:00 2001 From: Paul Kehrer Date: Thu, 14 Sep 2017 04:24:30 +0800 Subject: add aki hash (#3910) * Implement __hash__ on AuthorityKeyIdentifier * Adding dirname to fix build issue on AuthorityKeyIdentifier test * .authority_cert_issuer to str * use a tuple and not a str repr --- src/cryptography/x509/extensions.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src') diff --git a/src/cryptography/x509/extensions.py b/src/cryptography/x509/extensions.py index 01378b38..8880f744 100644 --- a/src/cryptography/x509/extensions.py +++ b/src/cryptography/x509/extensions.py @@ -213,6 +213,15 @@ class AuthorityKeyIdentifier(object): def __ne__(self, other): return not self == other + def __hash__(self): + if self.authority_cert_issuer is None: + aci = None + else: + aci = tuple(self.authority_cert_issuer) + return hash(( + self.key_identifier, aci, self.authority_cert_serial_number + )) + key_identifier = utils.read_only_property("_key_identifier") authority_cert_issuer = utils.read_only_property("_authority_cert_issuer") authority_cert_serial_number = utils.read_only_property( -- cgit v1.2.3