Beispiel #1
0
 def append(self, value):
     """ Adds certificate to stack """
     if not self.need_free:
         raise ValueError("Stack is read-only")
     if not isinstance(value, X509):
         raise TypeError('StackOfX509 can contain only X509 objects')
     sk_push(self.ptr, libcrypto.X509_dup(value.cert))
Beispiel #2
0
 def __setitem__(self, index, value):
     if not self.need_free:
         raise ValueError("Stack is read-only")
     if index < 0 or index >= len(self):
         raise IndexError
     if not isinstance(value, X509):
         raise TypeError('StackOfX509 can contain only X509 objects')
     p = sk_value(self.ptr, index)
     sk_set(self.ptr, index, libcrypto.X509_dup(value.cert))
     libcrypto.X509_free(p)
Beispiel #3
0
 def __getitem__(self, index):
     if index < 0 or index >= len(self):
         raise IndexError
     p = sk_value(self.ptr, index)
     return X509(ptr=libcrypto.X509_dup(p))