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

Class KeyAttestation

scapy/layers/tpm.py:605–666  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

603
604
605class KeyAttestation(Packet):
606 fields_desc = [
607 StrFixedLenField("Magic", b"KADS", length=4),
608 LEIntEnumField("Platform", 2, _PCP_TYPE),
609 LEIntField("HeaderSize", 0),
610 LEIntField("cbKeyAttest", 0),
611 LEIntField("cbSignature", 0),
612 LEIntField("cbKeyBlob", 0),
613 MultipleTypeField(
614 [
615 (
616 PacketLenField(
617 "keyAttest",
618 TPMS_ATTEST(),
619 TPMS_ATTEST,
620 length_from=lambda pkt: pkt.cbKeyAttest,
621 ),
622 lambda pkt: pkt.Platform == 2,
623 )
624 ],
625 StrLenField(
626 "keyAttest",
627 b"",
628 length_from=lambda pkt: pkt.cbKeyAttest,
629 ),
630 ),
631 StrLenField(
632 "signature",
633 b"",
634 length_from=lambda pkt: pkt.cbSignature,
635 ),
636 MultipleTypeField(
637 [
638 (
639 PacketLenField(
640 "keyBlob",
641 PCP_20_KEY_BLOB(),
642 PCP_20_KEY_BLOB,
643 length_from=lambda pkt: pkt.cbKeyBlob,
644 ),
645 lambda pkt: pkt.Platform == 2,
646 ),
647 (
648 PacketLenField(
649 "keyBlob",
650 PCP_KEY_BLOB(),
651 PCP_KEY_BLOB,
652 length_from=lambda pkt: pkt.cbKeyBlob,
653 ),
654 lambda pkt: pkt.Platform == 1,
655 ),
656 ],
657 StrLenField(
658 "keyBlob",
659 b"",
660 length_from=lambda pkt: pkt.cbKeyBlob,
661 ),
662 ),

Callers 1

Calls 9

StrFixedLenFieldClass · 0.90
LEIntEnumFieldClass · 0.90
LEIntFieldClass · 0.90
MultipleTypeFieldClass · 0.90
PacketLenFieldClass · 0.90
StrLenFieldClass · 0.90
TPMS_ATTESTClass · 0.85
PCP_20_KEY_BLOBClass · 0.85
PCP_KEY_BLOBClass · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…