Ejemplo n.º 1
0
    def test_permission_error_raises_fr(self, *_):
        # Setup
        with open(self.file_name, 'wb+') as f:
            f.write(os.urandom(PSK_FILE_SIZE))

        # Test
        error_raised = False
        try:
            with mock.patch('builtins.open', side_effect=PermissionError):
                key_ex_psk_rx(*self.args)
        except FunctionReturn as inst:
            error_raised = True
            self.assertEqual("Error: No read permission for the PSK file.", inst.message)
        self.assertTrue(error_raised)
Ejemplo n.º 2
0
    def test_valid_psk_overwrite_failure(self, *_: Any) -> None:
        # Setup
        keyset = self.key_list.get_keyset(nick_to_pub_key("Alice"))
        keyset.rx_mk = bytes(SYMMETRIC_KEY_LENGTH)
        keyset.rx_hk = bytes(SYMMETRIC_KEY_LENGTH)

        salt = os.urandom(ARGON2_SALT_LENGTH)
        rx_key = os.urandom(SYMMETRIC_KEY_LENGTH)
        rx_hek = os.urandom(SYMMETRIC_KEY_LENGTH)
        kek = argon2_kdf('test_password',
                         salt,
                         time_cost=1,
                         memory_cost=100,
                         parallelism=1)
        ct_tag = encrypt_and_sign(rx_key + rx_hek, key=kek)

        with open(self.file_name, 'wb+') as f:
            f.write(salt + ct_tag)

        # Test
        self.assertTrue(os.path.isfile(self.file_name))
        self.assertIsNone(key_ex_psk_rx(*self.args))
        self.assertTrue(os.path.isfile(self.file_name))
        self.assertEqual(keyset.rx_mk, rx_key)
        self.assertEqual(keyset.rx_hk, rx_hek)