| 667 | |
| 668 | |
| 669 | class KeyAttestationStatement(Packet): |
| 670 | fields_desc = [ |
| 671 | StrFixedLenField("Magic", b"KAST", length=4), |
| 672 | LEIntField("Version", 1), |
| 673 | LEIntEnumField("Platform", 2, _PCP_TYPE), |
| 674 | LEIntField("HeaderSize", 0), |
| 675 | LEIntField("cbIdBinding", 0), |
| 676 | LEIntField("cbKeyAttestation", 0), |
| 677 | LEIntField("cbAIKOpaque", 0), |
| 678 | MultipleTypeField( |
| 679 | [ |
| 680 | ( |
| 681 | PacketLenField( |
| 682 | "idBinding", |
| 683 | PCP_IDBinding20(), |
| 684 | PCP_IDBinding20, |
| 685 | length_from=lambda pkt: pkt.cbIdBinding, |
| 686 | ), |
| 687 | lambda pkt: pkt.Platform == 2, |
| 688 | ) |
| 689 | ], |
| 690 | StrLenField( |
| 691 | "idBinding", |
| 692 | b"", |
| 693 | length_from=lambda pkt: pkt.cbIdBinding, |
| 694 | ), |
| 695 | ), |
| 696 | PacketLenField( |
| 697 | "keyAttestation", |
| 698 | KeyAttestation(), |
| 699 | KeyAttestation, |
| 700 | length_from=lambda pkt: pkt.cbKeyAttestation, |
| 701 | ), |
| 702 | MultipleTypeField( |
| 703 | [ |
| 704 | ( |
| 705 | PacketLenField( |
| 706 | "aikOpaque", |
| 707 | PCP_20_KEY_BLOB(), |
| 708 | PCP_20_KEY_BLOB, |
| 709 | length_from=lambda pkt: pkt.cbAIKOpaque, |
| 710 | ), |
| 711 | lambda pkt: pkt.Platform == 2, |
| 712 | ), |
| 713 | ( |
| 714 | PacketLenField( |
| 715 | "aikOpaque", |
| 716 | PCP_KEY_BLOB(), |
| 717 | PCP_KEY_BLOB, |
| 718 | length_from=lambda pkt: pkt.cbAIKOpaque, |
| 719 | ), |
| 720 | lambda pkt: pkt.Platform == 1, |
| 721 | ), |
| 722 | ], |
| 723 | StrLenField( |
| 724 | "aikOpaque", |
| 725 | b"", |
| 726 | length_from=lambda pkt: pkt.cbAIKOpaque, |
no test coverage detected
searching dependent graphs…