From 5e9eeefe201e15f559f51953c8002a966cb9af1e Mon Sep 17 00:00:00 2001 From: Paul Kehrer Date: Thu, 14 Sep 2017 11:15:21 +0800 Subject: add __hash__ to GeneralNames, SAN, IAN, and CertificateIssuer (#3916) --- src/cryptography/x509/extensions.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src') diff --git a/src/cryptography/x509/extensions.py b/src/cryptography/x509/extensions.py index 0bfe6f92..7a03139f 100644 --- a/src/cryptography/x509/extensions.py +++ b/src/cryptography/x509/extensions.py @@ -1113,6 +1113,9 @@ class GeneralNames(object): def __getitem__(self, idx): return self._general_names[idx] + def __hash__(self): + return hash(tuple(self._general_names)) + @utils.register_interface(ExtensionType) class SubjectAlternativeName(object): @@ -1145,6 +1148,9 @@ class SubjectAlternativeName(object): def __ne__(self, other): return not self == other + def __hash__(self): + return hash(self._general_names) + @utils.register_interface(ExtensionType) class IssuerAlternativeName(object): @@ -1177,6 +1183,9 @@ class IssuerAlternativeName(object): def __getitem__(self, idx): return self._general_names[idx] + def __hash__(self): + return hash(self._general_names) + @utils.register_interface(ExtensionType) class CertificateIssuer(object): @@ -1209,6 +1218,9 @@ class CertificateIssuer(object): def __getitem__(self, idx): return self._general_names[idx] + def __hash__(self): + return hash(self._general_names) + @utils.register_interface(ExtensionType) class CRLReason(object): -- cgit v1.2.3