Example #1
0
	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
Example #2
0
	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
Example #3
0
	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
Example #4
0
	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)
Example #6
0
 def process_outgoing(self, data):
     return CryptoUtil.symmetric_encrypt(data, self.key)