aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cryptography/hazmat/backends/openssl/x509.py4
-rw-r--r--src/cryptography/x509.py6
2 files changed, 10 insertions, 0 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/x509.py b/src/cryptography/hazmat/backends/openssl/x509.py
index 7bfeb2ce..5e42b8e4 100644
--- a/src/cryptography/hazmat/backends/openssl/x509.py
+++ b/src/cryptography/hazmat/backends/openssl/x509.py
@@ -226,6 +226,10 @@ class _Certificate(object):
def __ne__(self, other):
return not self == other
+ def __hash__(self):
+ # TODO: Using fingerprint() with SHA256 is way overkill.
+ return hash(self.fingerprint(hashes.SHA256()))
+
def fingerprint(self, algorithm):
h = hashes.Hash(algorithm, self._backend)
bio = self._backend._create_mem_bio()
diff --git a/src/cryptography/x509.py b/src/cryptography/x509.py
index afd28f20..8d28c35c 100644
--- a/src/cryptography/x509.py
+++ b/src/cryptography/x509.py
@@ -1324,6 +1324,12 @@ class Certificate(object):
"""
@abc.abstractmethod
+ def __hash__(self):
+ """
+ Computes a hash.
+ """
+
+ @abc.abstractmethod
def public_bytes(self, encoding):
"""
Serializes the certificate to PEM or DER format.