from ctypes import create_string_buffer,c_char_p,c_void_p,c_int,c_long,byref,POINTER
from ctypescrypto import libcrypto
from ctypescrypto.exception import LibCryptoError
from ctypes import create_string_buffer,c_char_p,c_void_p,c_int,c_long,byref,POINTER
from ctypescrypto import libcrypto
from ctypescrypto.exception import LibCryptoError
if len(key) != cipher_type.key_length():
if (cipher_type.flags() & 8) != 0:
# Variable key length cipher.
if len(key) != cipher_type.key_length():
if (cipher_type.flags() & 8) != 0:
# Variable key length cipher.
- result = libcrypto.EVP_CipherInit_ex(self.ctx,cipher_type.cipher,None,None,None,c_int(enc))
+ result = libcrypto.EVP_CipherInit_ex(self.ctx, cipher_type.cipher, None, None, None, c_int(enc))
result=libcrypto.EVP_CIPHER_CTX_set_key_length(self.ctx,len(key))
if result == 0:
self._clean_ctx()
raise CipherError("Unable to set key length")
result=libcrypto.EVP_CIPHER_CTX_set_key_length(self.ctx,len(key))
if result == 0:
self._clean_ctx()
raise CipherError("Unable to set key length")
- result = libcrypto.EVP_CipherInit_ex(self.ctx, cipher_type.cipher, None, key_ptr, iv_ptr, c_int(enc))
+ else:
+ result = libcrypto.EVP_CipherInit_ex(self.ctx, cipher_type.cipher, None, key_ptr, iv_ptr, c_int(enc))
raise CipherError, "Cipher operation is already completed"
outbuf=create_string_buffer(self.block_size)
self.cipher_finalized = True
raise CipherError, "Cipher operation is already completed"
outbuf=create_string_buffer(self.block_size)
self.cipher_finalized = True