def setUp(self): self.listenAddr = ("127.0.0.1", getValidAddr()[1]) password = randomPwd() self.cipher = Cipher.NewCipher(password) self.loop = asyncio.new_event_loop() self.server = Server(loop=self.loop, pwd=password, listenAddr=self.listenAddr)
def setUp(self): self.ls_local, self.ls_server = socket.socketpair() password = randomPwd() self.loop = asyncio.new_event_loop() self.cipher = Cipher.NewCipher(password) self.securesocket = SecureSocket(loop=self.loop, cipher=self.cipher) self.msg = bytearray(b"hello world") self.encripted_msg = self.msg.copy() self.cipher.encode(self.encripted_msg)
def test_dumps_and_loads_fail(self): password = randomPwd() password[random.randint(1, 255)] = 0 with self.assertRaises(InvalidPasswordErr): dumpsPwd(password) string = base64.encodebytes(password).decode("utf8", errors="strict") with self.assertRaises(InvalidPasswordErr): loadsPwd(string) password = randomPwd() password = password[:-2] with self.assertRaises(InvalidPasswordErr): dumpsPwd(password) string = dumpsPwd(IDENTITY_PASSWORD) string = string[:-3] with self.assertRaises(InvalidPasswordErr): loadsPwd(string)
def run_server(): loop = asyncio.get_event_loop() listenAddr = ("0.0.0.0", 8388) pwd = randomPwd() server = Server(loop=loop, pwd=pwd, listenAddr=listenAddr) def didListen(address): print("Listen to %s:%d\n" % address) print(f"password is {dumpsPwd(pwd)}") asyncio.ensure_future(server.listen(didListen)) loop.run_forever()
def test_encryption(self): password = randomPwd() original_data = bytearray() for _ in range(0xFFFF): original_data.append(random.randint(0, 255)) cipher = Cipher.NewCipher(password) data = original_data.copy() cipher.encode(data) self.assertNotEqual(data, original_data) cipher.decode(data) self.assertEqual(data, original_data)
def setUp(self): self.listenAddr = ("127.0.0.1", 11111) self.remoteAddr = ("127.0.0.1", 22222) self.remoteServer = socket.socket() self.remoteServer.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) self.remoteServer.bind(self.remoteAddr) self.remoteServer.listen(socket.SOMAXCONN) self.remoteServer.setblocking(False) pwd = randomPwd() self.cipher = Cipher.NewCipher(pwd) self.loop = asyncio.new_event_loop() self.local = Local( loop=self.loop, pwd=pwd, listenAddr=self.listenAddr, remoteAddr=self.remoteAddr, ) self.msg = bytearray(b"hello world") self.encrypted_msg = self.msg.copy() self.cipher.encode(self.encrypted_msg)
def test_dumps_and_loads_succeed(self): password = randomPwd() string = dumpsPwd(password) loaded_password = loadsPwd(string) self.assertEqual(password, loaded_password)
def test_randomPassword(self): for idx in range(0xFF): with self.subTest(idx): password = randomPwd() isValid = validatePwd(password) self.assertTrue(isValid)