MCPcopy Create free account
hub / github.com/secdev/scapy / set_from_krb

Method set_from_krb

scapy/modules/ticketer.py:239–271  ·  view source on GitHub ↗
(self, tkt, clientpart, sessionkey, kdcrep)

Source from the content-addressed store, hash-verified

237 return conf.padding_layer
238
239 def set_from_krb(self, tkt, clientpart, sessionkey, kdcrep):
240 self.ticket.data = bytes(tkt)
241
242 # Set sname
243 self.server.name_type = tkt.sname.nameType.val
244 self.server.realm = CCCountedOctetString(data=tkt.realm.val)
245 self.server.components = [
246 CCCountedOctetString(data=x.val) for x in tkt.sname.nameString
247 ]
248
249 # Set cname
250 self.client.name_type = clientpart.cname.nameType.val
251 self.client.realm = CCCountedOctetString(data=clientpart.crealm.val)
252 self.client.components = [
253 CCCountedOctetString(data=x.val) for x in clientpart.cname.nameString
254 ]
255
256 # Set the sessionkey
257 self.keyblock = CCKeyBlock(
258 keytype=sessionkey.etype,
259 keyvalue=sessionkey.key,
260 )
261
262 # Set timestamps
263 self.authtime = kdcrep.authtime.datetime.timestamp()
264 if kdcrep.starttime is not None:
265 self.starttime = kdcrep.starttime.datetime.timestamp()
266 self.endtime = kdcrep.endtime.datetime.timestamp()
267 if kdcrep.flags.val[8] == "1": # renewable
268 self.renew_till = kdcrep.renewTill.datetime.timestamp()
269
270 # Set flags
271 self.ticket_flags = int(kdcrep.flags.val, 2)
272
273
274class CCache(Packet):

Callers 2

import_krbMethod · 0.95
update_ticketMethod · 0.80

Calls 2

CCKeyBlockClass · 0.85

Tested by

no test coverage detected