def initialize(self): if self.type == 'CDN': return True self.session_key = CryptoUtil.create_session_key() crypted_key = CryptoUtil.rsa_encrypt(self.session_key) url = "http://%s:%s/initsession/" % (self.host, self.port) payload = dict(sessionkey = crypted_key) if self.app_ticket: payload['appticket'] = CryptoUtil.symmetric_encrypt(self.app_ticket, self.session_key) else: payload['anonymoususer'] = 1 payload['steamid'] = self.steamid.steamid r = self.session.post(url, payload) if r.status_code != 200: return False sessionkv = vdf.loads(r.content)['response'] self.csid = sessionkv['csid'] self.session_id = int(sessionkv['sessionid']) & 0xFFFFFFFFFFFFFFFF self.req_counter = int(sessionkv['req-counter']) return True
def initialize(self): if self.type == 'CDN': return True self.session_key = CryptoUtil.create_session_key() crypted_key = CryptoUtil.rsa_encrypt(self.session_key) url = "http://%s:%s/initsession/" % (self.host, self.port) payload = dict(sessionkey = crypted_key) if self.app_ticket: payload['appticket'] = CryptoUtil.symmetric_encrypt(self.app_ticket, self.session_key) else: payload['anonymoususer'] = 1 payload['steamid'] = self.steamid.steamid r = self.session.post(url, payload) if r.status_code != 200: return False sessionkv = vdf.loads(r.content)['response'] self.csid = sessionkv['csid'] self.session_id = int(sessionkv['sessionid']) & 0xFFFFFFFFFFFFFFFF self.req_counter = int(sessionkv['req-counter']) return True
def auth_appticket(self, depotid, app_ticket): if depotid in self.depots: return True crypted_ticket = CryptoUtil.symmetric_encrypt(app_ticket, self.session_key) (url, headers) = self._make_request_url('authdepot') payload = dict(appticket = crypted_ticket) r = self.session.post(url, payload, headers=headers) if r.status_code != 200: return False self.depots.append(depotid) return True
def auth_appticket(self, depotid, app_ticket): if depotid in self.depots: return True crypted_ticket = CryptoUtil.symmetric_encrypt(app_ticket, self.session_key) (url, headers) = self._make_request_url('authdepot') payload = dict(appticket = crypted_ticket) r = self.session.post(url, payload, headers=headers) if r.status_code != 200: return False self.depots.append(depotid) return True
def process_outgoing(self, data): return CryptoUtil.symmetric_encrypt(data, self.key)
def process_outgoing(self, data): return CryptoUtil.symmetric_encrypt(data, self.key)