def foundPeer(self, endkey, peer): print('foundPeer!!! '+str(endkey)+' '+str(peer)) destkey=decode(peer[0]) addr=peer[1] data=self.msg.encode('ascii') sessionKey=keypair.createSession(Key(destkey, False)) print('session '+str(sessionKey.bytes)) packet=DataPacket() packet.createDataPacket(sessionKey.bytes, data, keys.entropy) self.dustmail.sendMessage(encode(self.keypair.public.bytes), encode(destkey), encode(packet.packet))
def foundPeer(self, endkey, peer): print('foundPeer!!! ' + str(endkey) + ' ' + str(peer)) destkey = decode(peer[0]) addr = peer[1] data = self.msg.encode('ascii') sessionKey = keypair.createSession(Key(destkey, False)) print('session ' + str(sessionKey.bytes)) packet = DataPacket() packet.createDataPacket(sessionKey.bytes, data, keys.entropy) self.dustmail.sendMessage(encode(self.keypair.public.bytes), encode(destkey), encode(packet.packet))
def encodePacket(self, addr, data): sessionKey=self.makeSession(addr, True) if not sessionKey: print('Unknown address', addr, 'trying introduction...') sessionKey=self.introducer.makeIntroduction(addr, self.sock) if not sessionKey: print('Introduction failed.') return packet=DataPacket() packet.createDataPacket(sessionKey, data, self.keys.entropy) return packet
def decodePacket(self, addr, data): sessionKey=self.makeSession(addr, False) # Don't introduce yourself when you receive a packet from an unknown host, that's not the protocol if sessionKey: # Must be a data packet packet=DataPacket() packet.decodeDataPacket(sessionKey, data) if packet.checkMac() and packet.checkTimestamp(): return packet else: print('Integrity failed', packet.checkMac(), packet.checkTimestamp()) print(packet) return None else: # Must be an intro packet print('Unknown address', addr) if self.introducer: intro=self.introducer.acceptIntroduction(data, addr) if intro: return intro else: return None
from dust.crypto.keys import KeyManager from dust.core.data_packet import DataPacket keys=KeyManager() psk=keys.entropy.getBytes(32) packet=DataPacket() packet.createDataPacket(psk, b"Hello", keys.entropy) print(packet) print('l:', len(packet.packet)) print('------------------------') pc=DataPacket() pc.createDataPacket(psk, b"Chained!", keys.entropy) print('l:', len(pc.packet)) print(pc) chain=packet.packet+pc.packet print('l:', len(chain)) print('------------------------') p2=DataPacket() p2.decodeDataPacket(psk, chain) print(p2) print('------------------------')
from dust.crypto.keys import KeyManager from dust.core.data_packet import DataPacket from dust.core.util import encode, decode keys=KeyManager() #psk=keys.entropy.getBytes(32) psk=decode("5475e69147a1463ef65116ccd8b3d732ead5ce8b5c9b0e61eb4c218fe6165013") packet=DataPacket() packet.createDataPacket(psk, b"test #3", keys.entropy) print('packet:', packet) print('packetData:', encode(packet.packet)) print('------------------------') p2=DataPacket() p2.decodeDataPacket(psk, packet.packet) print(p2) print('checkMac:', p2.checkMac()) print('checkTimestamp:', p2.checkTimestamp())
def __init__(self): DataPacket.__init__(self) self.sender = None self.receiver = None
def __init__(self): DataPacket.__init__(self) self.multiplex=None
from dust.crypto.keys import KeyManager from dust.core.data_packet import DataPacket keys = KeyManager() psk = keys.entropy.getBytes(32) packet = DataPacket() packet.createDataPacket(psk, b"Hello", keys.entropy) print(packet) print('l:', len(packet.packet)) print('------------------------') pc = DataPacket() pc.createDataPacket(psk, b"Chained!", keys.entropy) print('l:', len(pc.packet)) print(pc) chain = packet.packet + pc.packet print('l:', len(chain)) print('------------------------') p2 = DataPacket() p2.decodeDataPacket(psk, chain) print(p2) print('------------------------')
def __init__(self): DataPacket.__init__(self) self.sender = None self.receiver = None