def try_algo(self, algo): enc = 1 dec = 0 data = '123456789012345678901234' # Encrypt. mem = BIO.MemoryBuffer() cf = BIO.CipherStream(mem) cf.set_cipher(algo, 'key', 'iv', 1) cf.write(data) cf.flush() cf.write_close() cf.close() xxx = mem.read() # Decrypt. mem = BIO.MemoryBuffer(xxx) cf = BIO.CipherStream(mem) cf.set_cipher(algo, 'key', 'iv', 0) cf.write_close() data2 = cf.read() cf.close() assert not cf.readable() self.assertRaises(IOError, cf.read) self.assertRaises(IOError, cf.readline) self.assertRaises(IOError, cf.readlines) assert data == data2, '%s algorithm cipher test failed' % algo
def try_algo(self, algo): data = b'123456789012345678901234' my_key = 3 * 15 * b"key" my_IV = 3 * 16 * b'IV' # Encrypt. mem = BIO.MemoryBuffer() cf = BIO.CipherStream(mem) cf.set_cipher(algo, my_key, my_IV, 1) cf.write(data) cf.flush() cf.write_close() cf.close() ciphertext = mem.read() # Decrypt. mem = BIO.MemoryBuffer(ciphertext) cf = BIO.CipherStream(mem) cf.set_cipher(algo, my_key, my_IV, 0) cf.write_close() data2 = cf.read() cf.close() self.assertFalse(cf.readable()) with self.assertRaises(IOError): cf.read() with self.assertRaises(IOError): cf.readline() with self.assertRaises(IOError): cf.readlines() self.assertEqual(data, data2, '%s algorithm cipher test failed' % algo)