def createAuthBlob(self): data = "" if pathExists("/home/user/.wazapp/challenge"): f = open("/home/user/.wazapp/challenge", "rb") data = str(f.read()) f.close() if len(data) > 0: numArray = _bytearray( KeyStream.keyFromPasswordAndNonce(self.authObject.password, data)) self.conn.reader.inputKey = self.inputKey = KeyStream(numArray) self.outputKey = KeyStream(numArray) nums = [] nums.extend(self.username) nums.extend(str(data)) wt = WATime() utcNow = int(wt.utcTimestamp()) nums.extend(str(utcNow)) nums.extend(str(WAUtilities.UserAgent)) nums.extend(str(" Mcc/Mnc")) nums.extend(str(self.mcc)) nums.extend(str(self.mnc)) encoded = self.outputKey.encodeMessage(nums, 0, 0, len(nums)) encoded = "".join(map(chr, encoded)) return encoded else: blob = [] return ''.join(map(chr, blob))
def createAuthBlob(self): data = "" if pathExists("/home/user/.wazapp/challenge"): f = open("/home/user/.wazapp/challenge", "rb") data = str(f.read()) f.close() if len(data) > 0: numArray = _bytearray(KeyStream.keyFromPasswordAndNonce(self.authObject.password, data)) self.conn.reader.inputKey = self.inputKey = KeyStream(numArray) self.outputKey = KeyStream(numArray) nums = [] nums.extend(self.username) nums.extend(str(data)) wt = WATime() utcNow = int(wt.utcTimestamp()) nums.extend(str(utcNow)) nums.extend(str(WAUtilities.UserAgent)) nums.extend(str(" Mcc/Mnc")) nums.extend(str(self.mcc)) nums.extend(str(self.mnc)) encoded = self.outputKey.encodeMessage(nums, 0, 0, len(nums)) encoded = "".join(map(chr, encoded)) return encoded else: blob = [] return ''.join(map(chr, blob))
def parseOfflineMessageStamp(self,stamp): watime = WATime(); parsed = watime.parseIso(stamp) local = watime.utcToLocal(parsed) stamp = watime.datetimeToTimestamp(local) return stamp
def getAuthBlob(self, nonce): #numArray = _bytearray(KeyStream.keyFromPasswordAndNonce(self.authObject.password, nonce)) keys = KeyStream.generateKeys(self.authObject.password, nonce) self.conn.reader.inputKey = self.inputKey = KeyStream(keys[2], keys[3]) self.outputKey = KeyStream(keys[0], keys[1]) nums = [0] * 4 nums.extend(self.username) nums.extend(nonce) wt = WATime() utcNow = int(wt.utcTimestamp()) nums.extend(str(utcNow)) encoded = self.outputKey.encodeMessage(nums, 0, 4, len(nums) - 4) encoded = "".join(map(chr, encoded)) return encoded
def getAuthBlob(self, nonce): numArray = _bytearray(KeyStream.keyFromPasswordAndNonce(self.authObject.password, nonce)) self.conn.reader.inputKey = self.inputKey = KeyStream(numArray) self.outputKey = KeyStream(numArray) nums = [] for i in range(0,4): nums.append(0) nums.extend(self.username) nums.extend(nonce) wt = WATime() utcNow = int(wt.utcTimestamp()) nums.extend(str(utcNow)) encoded = self.outputKey.encodeMessage(nums, 0, 4, len(nums) - 4) encoded = "".join(map(chr, encoded)) return encoded
def getAuthBlob(self, nonce): numArray = _bytearray( KeyStream.keyFromPasswordAndNonce(self.authObject.password, nonce)) self.conn.reader.inputKey = self.inputKey = KeyStream(numArray) self.outputKey = KeyStream(numArray) nums = [] for i in range(0, 4): nums.append(0) nums.extend(self.username) nums.extend(nonce) wt = WATime() utcNow = int(wt.utcTimestamp()) nums.extend(str(utcNow)) encoded = self.outputKey.encodeMessage(nums, 0, 4, len(nums) - 4) encoded = "".join(map(chr, encoded)) return encoded