diff --git a/src/cryptography/x509/extensions.py b/src/cryptography/x509/extensions.py
index 15feb71..7ec653d 100644
--- a/src/cryptography/x509/extensions.py
+++ b/src/cryptography/x509/extensions.py
@@ -102,6 +102,9 @@
     def __len__(self):
         return len(self._extensions)
 
+    def __getitem__(self, idx):
+        return self._extensions[idx]
+
     def __repr__(self):
         return (
             "<Extensions({0})>".format(self._extensions)
diff --git a/tests/test_x509_ext.py b/tests/test_x509_ext.py
index d9743c8..1144d47 100644
--- a/tests/test_x509_ext.py
+++ b/tests/test_x509_ext.py
@@ -858,6 +858,18 @@
             exts.get_extension_for_class(x509.IssuerAlternativeName)
         assert exc.value.oid == ExtensionOID.ISSUER_ALTERNATIVE_NAME
 
+    def test_indexing(self, backend):
+        cert = _load_cert(
+            os.path.join("x509", "cryptography.io.pem"),
+            x509.load_pem_x509_certificate,
+            backend
+        )
+        exts = cert.extensions
+        assert exts[-1] == exts[7]
+        assert len(exts[3:5]) == 2
+        assert exts[2:4][0] == exts[2]
+        assert exts[2:4][1] == exts[3]
+
     def test_one_extension_get_for_class(self, backend):
         cert = _load_cert(
             os.path.join(
