aboutsummaryrefslogtreecommitdiffstats
path: root/src/cryptography/hazmat/backends/openssl/x509.py
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2015-12-24 11:34:24 -0500
committerAlex Gaynor <alex.gaynor@gmail.com>2015-12-24 11:34:24 -0500
commita3fa8d6872d32005e6e600e27a48343d2f21d13d (patch)
treea8da549445876744823e39fac91a2f84007250af /src/cryptography/hazmat/backends/openssl/x509.py
parent9f71bf79971d5365a4a89cfbc6b29197a57e9042 (diff)
downloadcryptography-a3fa8d6872d32005e6e600e27a48343d2f21d13d.tar.gz
cryptography-a3fa8d6872d32005e6e600e27a48343d2f21d13d.tar.bz2
cryptography-a3fa8d6872d32005e6e600e27a48343d2f21d13d.zip
full indexing support + testsg
Diffstat (limited to 'src/cryptography/hazmat/backends/openssl/x509.py')
-rw-r--r--src/cryptography/hazmat/backends/openssl/x509.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/x509.py b/src/cryptography/hazmat/backends/openssl/x509.py
index 4bddee4c..2f7d082f 100644
--- a/src/cryptography/hazmat/backends/openssl/x509.py
+++ b/src/cryptography/hazmat/backends/openssl/x509.py
@@ -873,10 +873,18 @@ class _CertificateRevocationList(object):
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)