def processDisconnect(self, src, msg): if src in self.peers.keys(): out = util.secure('None', util.clientDisconnect(self.id, src, 'None')) self.ss.send(json.dumps(out) + TERMINATOR) self.delPeer(src) return
def sendDisconnect(self, msg): dst = msg[5:9] msg = msg[10:] if dst in self.peers.keys(): out = util.secure('None', util.clientDisconnect(self.id, dst, 'None')) self.ss.send(json.dumps(out) + TERMINATOR) self.delPeer(dst) return
def processConnect(self, src, request): if not all(k in request.keys() for k in ('ciphers', 'phase', 'src', 'dst', 'data')): print 'Connect message with missing fields' return if src not in self.peers.keys(): out = util.secure( 'None', util.clientConnect(self.id, src, request['phase'] + 1, 'NONE', 'NONE')) self.ss.send(json.dumps(out) + TERMINATOR) self.addPeer(src) return
def sendComm(self, dst, msg): try: sig = base64.b64encode(cc.sign(msg)) puk = base64.b64encode(cc.cert_puk(cc.get_certificate())) except: sig = base64.b64encode("") puk = base64.b64encode("") nounce = util.generate_nonce() self.nounces.append(nounce) payload = util.clientCom(self.id, dst, { 'msg': msg, 'sign': sig, 'puk': puk, 'nounce': nounce }) out = util.secure('none', payload) self.ss.send(json.dumps(out) + TERMINATOR) print "My nounce: ", nounce
def sendAck(self, src, nounce): try: cert = base64.b64encode(cc.get_certificate()) puk = base64.b64encode(cc.cert_puk(cc.get_certificate())) sign = base64.b64encode(cc.sign(nounce)) cc_flag = str(1) except Exception as e: cert = "" puk = "" sign = "" cc_flag = str(0) payload = util.ack( self.id, src, { 'nounce': nounce, 'cc_flag': cc_flag, 'cert': cert, 'sign': sign, 'puk': puk }) out = util.secure('None', payload) self.ss.send(json.dumps(out) + TERMINATOR)
def sendConnect(self, dst): payload = util.clientConnect(self.id, dst, 1, self.ciphers, 'none') out = util.secure('none', payload) self.ss.send(json.dumps(out) + TERMINATOR)
def sendList(self, msg): payload = util.lista('None') out = util.secure('None', payload) self.ss.send(json.dumps(out) + TERMINATOR)