MCPcopy Index your code
hub / github.com/secdev/scapy / PCP_20_KEY_BLOB

Class PCP_20_KEY_BLOB

scapy/layers/tpm.py:521–595  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

519
520
521class PCP_20_KEY_BLOB(Packet):
522 fields_desc = [
523 StrFixedLenField("Magic", b"PCPM", length=4),
524 LEIntField("cbHeader", 0),
525 LEIntEnumField("pcpType", 2, _PCP_TYPE),
526 FlagsField(
527 "flags",
528 0,
529 -32,
530 {
531 0x00000001: "authRequired",
532 0x00000002: "undocumented2",
533 },
534 ),
535 LEIntField("cbPublic", 0),
536 LEIntField("cbPrivate", 0),
537 LEIntField("cbMigrationPublic", 0),
538 LEIntField("cbMigrationPrivate", 0),
539 LEIntField("cbPolicyDigestList", 0),
540 LEIntField("cbPCRBinding", 0),
541 LEIntField("cbPCRDigest", 0),
542 LEIntField("cbEncryptedSecret", 0),
543 LEIntField("cbTpm12HostageBlob", 0),
544 LEIntField("pcrAlgId", 0),
545 PacketLenField(
546 "public",
547 TPM2B_PUBLIC(),
548 TPM2B_PUBLIC,
549 length_from=lambda pkt: pkt.cbPublic,
550 ),
551 PacketLenField(
552 "private",
553 TPM2B_PRIVATE(),
554 TPM2B_PRIVATE,
555 length_from=lambda pkt: pkt.cbPrivate,
556 ),
557 PacketLenField(
558 "migrationPublic",
559 None,
560 TPM2B_PUBLIC,
561 length_from=lambda pkt: pkt.cbMigrationPublic,
562 ),
563 PacketLenField(
564 "migrationPrivate",
565 TPM2B_PRIVATE(),
566 TPM2B_PRIVATE,
567 length_from=lambda pkt: pkt.cbMigrationPrivate,
568 ),
569 PacketLenField(
570 "policyDigestList",
571 TPML_DIGEST(),
572 TPML_DIGEST,
573 length_from=lambda pkt: pkt.cbPolicyDigestList,
574 ),
575 StrLenField(
576 "pcrBinding",
577 b"",
578 length_from=lambda pkt: pkt.cbPCRBinding,

Callers 2

KeyAttestationClass · 0.85

Calls 9

StrFixedLenFieldClass · 0.90
LEIntFieldClass · 0.90
LEIntEnumFieldClass · 0.90
FlagsFieldClass · 0.90
PacketLenFieldClass · 0.90
StrLenFieldClass · 0.90
TPM2B_PUBLICClass · 0.85
TPM2B_PRIVATEClass · 0.85
TPML_DIGESTClass · 0.85

Tested by

no test coverage detected