Example #1
0
    def handle_session(self, session_path, challenge=None):
        session_params = session_path.split('/')
        session_params = [x for x in session_params if x != '']

        if session_params[0] == "cova_tls_session":
            if session_params[1] == "challenge":
                challenge = json.loads(self.json_data)
                data = self.get_challenge_response(challenge["challenge"])
                json_data = json.dumps(data)
                self.generate_response(self.encrypt(json_data))

            elif session_params[1] == "create":
                new_hand = Handshake(session_db, rsa_key_path, None)
                session_info = new_hand.create_session()
                self.generate_response(json.dumps(session_info))

            else:
                self.generate_response("cova_tls_session error !!")

            return False

        elif session_params[0] == "cova_tls_session_id":
            return self.initiate_session_key(session_params[1])

        else:
            self.generate_response("Session Error !!")
            return False