| 603 | |
| 604 | |
| 605 | class 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 | ), |
no test coverage detected
searching dependent graphs…