AIA hashing (#3911)

diff --git a/src/cryptography/x509/extensions.py b/src/cryptography/x509/extensions.py
index 9eff343..44d5be9 100644
--- a/src/cryptography/x509/extensions.py
+++ b/src/cryptography/x509/extensions.py
@@ -284,6 +284,9 @@
     def __getitem__(self, idx):
         return self._descriptions[idx]
 
+    def __hash__(self):
+        return hash(tuple(self._descriptions))
+
 
 class AccessDescription(object):
     def __init__(self, access_method, access_location):
diff --git a/tests/x509/test_x509_ext.py b/tests/x509/test_x509_ext.py
index 929a938..808b368 100644
--- a/tests/x509/test_x509_ext.py
+++ b/tests/x509/test_x509_ext.py
@@ -2749,6 +2749,40 @@
         assert aia[-1] == aia[4]
         assert aia[2:6:2] == [aia[2], aia[4]]
 
+    def test_hash(self):
+        aia = x509.AuthorityInformationAccess([
+            x509.AccessDescription(
+                AuthorityInformationAccessOID.OCSP,
+                x509.UniformResourceIdentifier(b"http://ocsp.domain.com")
+            ),
+            x509.AccessDescription(
+                AuthorityInformationAccessOID.CA_ISSUERS,
+                x509.UniformResourceIdentifier(b"http://domain.com/ca.crt")
+            )
+        ])
+        aia2 = x509.AuthorityInformationAccess([
+            x509.AccessDescription(
+                AuthorityInformationAccessOID.OCSP,
+                x509.UniformResourceIdentifier(b"http://ocsp.domain.com")
+            ),
+            x509.AccessDescription(
+                AuthorityInformationAccessOID.CA_ISSUERS,
+                x509.UniformResourceIdentifier(b"http://domain.com/ca.crt")
+            )
+        ])
+        aia3 = x509.AuthorityInformationAccess([
+            x509.AccessDescription(
+                AuthorityInformationAccessOID.OCSP,
+                x509.UniformResourceIdentifier(b"http://ocsp.other.com")
+            ),
+            x509.AccessDescription(
+                AuthorityInformationAccessOID.CA_ISSUERS,
+                x509.UniformResourceIdentifier(b"http://domain.com/ca.crt")
+            )
+        ])
+        assert hash(aia) == hash(aia2)
+        assert hash(aia) != hash(aia3)
+
 
 @pytest.mark.requires_backend_interface(interface=RSABackend)
 @pytest.mark.requires_backend_interface(interface=X509Backend)