def authenticate(server_key,request_message): lines=request_message.split("\n") ticket=lines[0] encrypted_message=lines[1] #print(request_message) session_key_and_ticket_expiration =decrypt_func(server_key,ticket) session_key=session_key_and_ticket_expiration.split("\n")[0] ticket_expiration=session_key_and_ticket_expiration.split("\n")[1] if(datetime.strptime(ticket_expiration,"%Y-%m-%d %H:%M:%S.%f")>datetime.now()): message=decrypt_func(session_key,encrypted_message) return message else: return "Expired Ticket"
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)