def handle(self): #log_in_request form #####\nUserID self.log_in_request = self.request.recv(1024) #seperating the id from the encrypted message self.encyripted_message, self.id = parse_message(self.log_in_request) #finding the requests key from the database self.key=find_key(self.id) #print self.key #Decrypting message self.message= decrypt_func(self.key, self.encyripted_message) #print self.message serverinfo=self.message.split("\n") print int(serverinfo[1]) print authentication_server.server_database self.session_key=str(session_key) #print self.session_key self.server_encryption_key=find_server_key((serverinfo[0],int(serverinfo[1])),authentication_server.server_database) #create ticket self.ticket=prepare_ticket(self.server_encryption_key, self.session_key) #Sending Token self.token= prepare_token(self.ticket,session_key,(serverinfo[0],serverinfo[1])) self.encryipted_token=encrypt_func(self.key,self.token) self.request.send(self.encryipted_token)
def prepare_ticket(server_key, session_key): ticket_expiration=datetime.now()+timedelta(0,0,0,0,10) ticket= encrypt_func(server_key,"{}\n{}".format(session_key,ticket_expiration)) return ticket