"""
self.cipher = libcrypto.EVP_get_cipherbyname(cipher_name)
if self.cipher is None:
- raise CipherError, "Unknown cipher: %s" % cipher_name
+ raise CipherError("Unknown cipher: %s" % cipher_name)
def __del__(self):
pass
iv_ptr = c_char_p(iv)
self.ctx = libcrypto.EVP_CIPHER_CTX_new()
if self.ctx == 0:
- raise CipherError, "Unable to create cipher context"
+ raise CipherError("Unable to create cipher context")
self.encrypt = encrypt
if encrypt:
enc = 1
result = libcrypto.EVP_CipherInit_ex(self.ctx, cipher_type.cipher, None, key_ptr, iv_ptr, c_int(enc))
if result == 0:
self._clean_ctx()
- raise CipherError, "Unable to initialize cipher"
+ raise CipherError("Unable to initialize cipher")
self.cipher_type = cipher_type
self.block_size = self.cipher_type.block_size()
self.cipher_finalized = False
called
"""
if self.cipher_finalized :
- raise CipherError, "No updates allowed"
+ raise CipherError("No updates allowed")
if type(data) != type(""):
- raise TypeError, "A string is expected"
+ raise TypeError("A string is expected")
if len(data) <= 0:
return ""
outbuf=create_string_buffer(self.block_size+len(data))
state, they would be processed and returned.
"""
if self.cipher_finalized :
- raise CipherError, "Cipher operation is already completed"
+ raise CipherError("Cipher operation is already completed")
outbuf=create_string_buffer(self.block_size)
self.cipher_finalized = True
outlen=c_int(0)
result = libcrypto.EVP_CipherFinal_ex(self.ctx,outbuf , byref(outlen))
if result == 0:
self._clean_ctx()
- raise CipherError, "Unable to finalize cipher"
+ raise CipherError("Unable to finalize cipher")
if outlen.value>0:
return outbuf.raw[:outlen.value]
else:
self.digest_name = digest_name\r
self.digest = libcrypto.EVP_get_digestbyname(self.digest_name)\r
if self.digest is None:\r
- raise DigestError, "Unknown digest: %s" % self.digest_name\r
+ raise DigestError("Unknown digest: %s" % self.digest_name)\r
\r
def __del__(self):\r
pass\r
self._clean_ctx()\r
self.ctx = libcrypto.EVP_MD_CTX_create()\r
if self.ctx == 0:\r
- raise DigestError, "Unable to create digest context"\r
+ raise DigestError("Unable to create digest context")\r
result = libcrypto.EVP_DigestInit_ex(self.ctx, digest_type.digest, None)\r
if result == 0:\r
self._clean_ctx()\r
- raise DigestError, "Unable to initialize digest"\r
+ raise DigestError("Unable to initialize digest")\r
self.digest_type = digest_type\r
self.digest_size = self.digest_type.digest_size()\r
self.block_size = self.digest_type.block_size()\r
otherwise only first length bytes\r
"""\r
if self.digest_finalized:\r
- raise DigestError, "No updates allowed"\r
+ raise DigestError("No updates allowed")\r
if type(data) != type(""):\r
- raise TypeError, "A string is expected"\r
+ raise TypeError("A string is expected")\r
if length is None:\r
length=len(data)\r
elif length> len(data):\r
length = c_long(0)\r
result = libcrypto.EVP_DigestFinal_ex(self.ctx, self.digest_out, byref(length))\r
if result != 1 :\r
- raise DigestError, "Unable to finalize digest"\r
+ raise DigestError("Unable to finalize digest")\r
self.digest_finalized = True\r
return self.digest_out.raw[:self.digest_size]\r
def copy(self):\r
"""
if num <= 0 :
- raise ValueError, "'num' should be > 0"
+ raise ValueError("'num' should be > 0")
buffer = create_string_buffer(num)
result = libcrypto.RAND_bytes(buffer, num)
if check_result and result == 0:
- raise RandError, "Random Number Generator not seeded sufficiently"
+ raise RandError("Random Number Generator not seeded sufficiently")
return buffer.raw[:num]
def pseudo_bytes(num):
not for key generation etc.
"""
if num <= 0 :
- raise ValueError, "'num' should be > 0"
+ raise ValueError("'num' should be > 0")
buffer = create_string_buffer(num)
libcrypto.RAND_pseudo_bytes(buffer, num)
return buffer.raw[:num]
value estimating amount of entropy in the data (in bytes).
"""
if type(data) != type(""):
- raise TypeError, "A string is expected"
+ raise TypeError("A string is expected")
ptr = c_char_p(data)
size = len(data)
if entropy is None: