def test_18_challenges(self):
        db_token = Token.query.filter_by(serial=self.serial1).first()
        token = TokenClass(db_token)

        db_token.set_pin("test")
        # No challenge request
        req = token.is_challenge_request("test", User(login="******",
                                                      realm=self.realm1))
        self.assertFalse(req, req)
        # A challenge request
        req = token.is_challenge_request("test",
                                         User(login="******",
                                              realm=self.realm1),
                                         {"data": "a challenge"})
        self.assertTrue(req, req)

        resp = token.is_challenge_response(User(login="******",
                                                realm=self.realm1),
                                            "test123456")
        self.assertFalse(resp, resp)
        resp = token.is_challenge_response(User(login="******",
                                                realm=self.realm1),
                                            "test123456",
                                            options={"transaction_id": "123456789"})
        self.assertTrue(resp, resp)

        # test if challenge is valid
        C = Challenge("S123455", transaction_id="tid", challenge="Who are you?")
        C.save()
        self.assertTrue(C.is_valid())
示例#2
0
    def test_18_challenges(self):
        db_token = Token.query.filter_by(serial=self.serial1).first()
        token = TotpTokenClass(db_token)
        resp = token.is_challenge_response(
            User(login="******", realm=self.realm1), "test123456")
        self.assertFalse(resp, resp)

        transaction_id = "123456789"
        C = Challenge(self.serial1,
                      transaction_id=transaction_id,
                      challenge="Who are you?")
        C.save()
        resp = token.is_challenge_response(
            User(login="******", realm=self.realm1),
            "test123456",
            options={"transaction_id": transaction_id})
        self.assertTrue(resp, resp)

        # test if challenge is valid
        C.is_valid()
示例#3
0
    def test_18_challenges(self):
        db_token = Token.query.filter_by(serial=self.serial1).first()
        token = TokenClass(db_token)
        transaction_id = "123456789"

        db_token.set_pin("test")
        # No challenge request, since we have the wrong pin
        req = token.is_challenge_request(
            "testX", User(login="******", realm=self.realm1))
        self.assertFalse(req, req)
        # A challenge request, since we have the correct pin
        req = token.is_challenge_request(
            "test", User(login="******", realm=self.realm1))
        self.assertTrue(req, req)

        resp = token.is_challenge_response(
            User(login="******", realm=self.realm1), "test123456")
        self.assertFalse(resp, resp)

        # A the token has not DB entry in the challenges table, basically
        # "is_cahllenge_response"
        resp = token.is_challenge_response(
            User(login="******", realm=self.realm1),
            "test123456",
            options={"transaction_id": transaction_id})
        self.assertTrue(resp)
        # ... but is does not "has_db_challenge_response"
        resp = token.has_db_challenge_response(
            User(login="******", realm=self.realm1),
            "test123456",
            options={"transaction_id": transaction_id})
        self.assertFalse(resp)

        # Create a challenge
        C = Challenge(serial=self.serial1,
                      transaction_id=transaction_id,
                      challenge="12")
        C.save()
        resp = token.is_challenge_response(
            User(login="******", realm=self.realm1),
            "test123456",
            options={"transaction_id": transaction_id})
        self.assertTrue(resp)

        # test if challenge is valid
        self.assertTrue(C.is_valid())
示例#4
0
    def test_18_challenges(self):
        db_token = Token.query.filter_by(serial=self.serial1).first()
        token = TokenClass(db_token)
        transaction_id = "123456789"

        db_token.set_pin("test")
        # No challenge request
        req = token.is_challenge_request(
            "test", User(login="******", realm=self.realm1))
        self.assertFalse(req, req)
        # A challenge request
        req = token.is_challenge_request(
            "test", User(login="******", realm=self.realm1),
            {"data": "a challenge"})
        self.assertTrue(req, req)

        resp = token.is_challenge_response(
            User(login="******", realm=self.realm1), "test123456")
        self.assertFalse(resp, resp)
        resp = token.is_challenge_response(
            User(login="******", realm=self.realm1),
            "test123456",
            options={"transaction_id": transaction_id})
        # The token has not DB entry in the challenges table
        self.assertFalse(resp)

        # Create a challenge
        C = Challenge(serial=self.serial1,
                      transaction_id=transaction_id,
                      challenge="12")
        C.save()
        resp = token.is_challenge_response(
            User(login="******", realm=self.realm1),
            "test123456",
            options={"transaction_id": transaction_id})
        self.assertTrue(resp)

        # test if challenge is valid
        self.assertTrue(C.is_valid())