diff --git a/src/cryptography/hazmat/backends/openssl/x509.py b/src/cryptography/hazmat/backends/openssl/x509.py
index 4bddee4..2f7d082 100644
--- a/src/cryptography/hazmat/backends/openssl/x509.py
+++ b/src/cryptography/hazmat/backends/openssl/x509.py
@@ -873,10 +873,18 @@
             yield self._revoked_cert(i)
 
     def __getitem__(self, idx):
-        idx = operator.index(idx)
-        if not 0 <= idx < len(self):
-            raise IndexError
-        return self._revoked_cert(idx)
+        if isinstance(idx, slice):
+            start, stop, step = idx.indices(len(self))
+            return [
+                self._revoked_cert(idx) for idx in range(start, stop, step)
+            ]
+        else:
+            idx = operator.index(idx)
+            if idx < 0:
+                idx += len(self)
+            if not 0 <= idx < len(self):
+                raise IndexError
+            return self._revoked_cert(idx)
 
     def __len__(self):
         revoked = self._backend._lib.X509_CRL_get_REVOKED(self._x509_crl)
diff --git a/tests/test_x509.py b/tests/test_x509.py
index 099dfd5..755b65f 100644
--- a/tests/test_x509.py
+++ b/tests/test_x509.py
@@ -461,15 +461,20 @@
 
     def test_indexing(self, backend):
         crl = _load_cert(
-            os.path.join("x509", "custom", "crl_empty.pem"),
+            os.path.join("x509", "custom", "crl_all_reasons.pem"),
             x509.load_pem_x509_crl,
             backend
         )
 
         with pytest.raises(IndexError):
-            crl[-1]
+            crl[-13]
         with pytest.raises(IndexError):
-            crl[0]
+            crl[12]
+
+        assert crl[-1].serial_number == crl[11].serial_number
+        assert len(crl[2:4]) == 2
+        assert crl[2:4][0].serial_number == crl[2].serial_number
+        assert crl[2:4][1].serial_number == crl[3].serial_number
 
 
 @pytest.mark.requires_backend_interface(interface=RSABackend)
