scapy.layers.tpm
Implementation of structures related to TPM 2.0 and Windows PCP
(Windows Plateform Crypto Provider)
- class scapy.layers.tpm.KeyAttestation(_pkt, /, *, Magic=b'KADS', Platform=2, HeaderSize=0, cbKeyAttest=0, cbSignature=0, cbKeyBlob=0, keyAttest=None, signature=b'', keyBlob=None)[source]
Bases:
Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAGIC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PLATFORM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HEADERSIZE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CBKEYATTEST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CBSIGNATURE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CBKEYBLOB | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | KEYATTEST | SIGNATURE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | KEYBLOB | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. KeyAttestationKeyAttestation fields Magic
b'KADS'Platform
2HeaderSize
0cbKeyAttest
0cbSignature
0cbKeyBlob
0keyAttest
MultipleTypeField(PacketLenField, StrLenField)b''signature
b''keyBlob
MultipleTypeField(PacketLenField, PacketLenField, StrLenField)b''
- class scapy.layers.tpm.KeyAttestationStatement(_pkt, /, *, Magic=b'KAST', Version=1, Platform=2, HeaderSize=0, cbIdBinding=0, cbKeyAttestation=0, cbAIKOpaque=0, idBinding=None, keyAttestation=<KeyAttestation |>, aikOpaque=None)[source]
Bases:
Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAGIC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VERSION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PLATFORM | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HEADERSIZE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CBIDBINDING | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CBKEYATTESTATION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CBAIKOPAQUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IDBINDING | KEYATTESTATION | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AIKOPAQUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. KeyAttestationStatementKeyAttestationStatement fields Magic
b'KAST'Version
1Platform
2HeaderSize
0cbIdBinding
0cbKeyAttestation
0cbAIKOpaque
0idBinding
MultipleTypeField(PacketLenField, StrLenField)b''keyAttestation
<KeyAttestation |>aikOpaque
MultipleTypeField(PacketLenField, PacketLenField, StrLenField)b''
- class scapy.layers.tpm.PCP_20_KEY_BLOB(_pkt, /, *, Magic=b'PCPM', cbHeader=0, pcpType=2, flags=<Flag 0 ()>, cbPublic=0, cbPrivate=0, cbMigrationPublic=0, cbMigrationPrivate=0, cbPolicyDigestList=0, cbPCRBinding=0, cbPCRDigest=0, cbEncryptedSecret=0, cbTpm12HostageBlob=0, pcrAlgId=0, public=<TPM2B_PUBLIC publicArea=<TPMT_PUBLIC |> |>, private=<TPM2B_PRIVATE buffer=<_PRIVATE integrityOuter=<TPM2B_DIGEST |> integrityInner=<TPM2B_DIGEST |> |> |>, migrationPublic=None, migrationPrivate=<TPM2B_PRIVATE buffer=<_PRIVATE integrityOuter=<TPM2B_DIGEST |> integrityInner=<TPM2B_DIGEST |> |> |>, policyDigestList=<TPML_DIGEST |>, pcrBinding=b'', pcrDigest=b'', encryptedSecret=b'', tpm12HostageBlob=b'')[source]
Bases:
Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAGIC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CBHEADER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PCPTYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CBPUBLIC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CBPRIVATE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CBMIGRATIONPUBLIC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CBMIGRATIONPRIVATE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CBPOLICYDIGESTLIST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CBPCRBINDING | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CBPCRDIGEST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CBENCRYPTEDSECRET | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CBTPM12HOSTAGEBLOB | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PCRALGID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PUBLIC | PRIVATE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MIGRATIONPUBLIC | MIGRATIONPRIVATE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | POLICYDIGESTLIST | PCRBINDING | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PCRDIGEST | ENCRYPTEDSECRET | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TPM12HOSTAGEBLOB | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. PCP_20_KEY_BLOBPCP_20_KEY_BLOB fields Magic
b'PCPM'cbHeader
0pcpType
2flags
<Flag 0 ()>cbPublic
0cbPrivate
0cbMigrationPublic
0cbMigrationPrivate
0cbPolicyDigestList
0cbPCRBinding
0cbPCRDigest
0cbEncryptedSecret
0cbTpm12HostageBlob
0pcrAlgId
0public
<TPM2B_PUBLIC publicArea=<TPMT_PUBLIC |> |>private
<TPM2B_PRIVATE buffer=<_PRIVATE integrityOuter=<TPM2B_DIGEST |> integrityInner=<TPM2B_DIGEST |> |> |>migrationPublic
NonemigrationPrivate
<TPM2B_PRIVATE buffer=<_PRIVATE integrityOuter=<TPM2B_DIGEST |> integrityInner=<TPM2B_DIGEST |> |> |>policyDigestList
<TPML_DIGEST |>pcrBinding
b''pcrDigest
b''encryptedSecret
b''tpm12HostageBlob
b''
- class scapy.layers.tpm.PCP_IDBinding20(_pkt, /, *, PublicKey=<TPM2B_PUBLIC publicArea=<TPMT_PUBLIC |> |>, CreationData=<TPM2B_CREATION_DATA creationData=<TPMS_CREATION_DATA pcrSelect=<TPML_PCR_SELECTION |> pcrDigest=<TPM2B_DIGEST |> locality=<TPMA_LOCALITY |> parentName=<TPM2B_NAME |> parentQualifiedName=<TPM2B_NAME |> outsideInfo=<TPM2B_DATA |> |> |>, Attest=<TPM2B_ATTEST attestationData=<TPMS_ATTEST |> |>, Signature=<TPMT_SIGNATURE |>)[source]
Bases:
Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PUBLICKEY | CREATIONDATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ATTEST | SIGNATURE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. PCP_IDBinding20PCP_IDBinding20 fields PublicKey
<TPM2B_PUBLIC publicArea=<TPMT_PUBLIC |> |>CreationData
<TPM2B_CREATION_DATA creationData=<TPMS_CREATION_DATA pcrSelect=<TPML_PCR_SELECTION |> pcrDigest=<TPM2B_DIGEST |> locality=<TPMA_LOCALITY |> parentName=<TPM2B_NAME |> parentQualifiedName=<TPM2B_NAME |> outsideInfo=<TPM2B_DATA |> |> |>Attest
<TPM2B_ATTEST attestationData=<TPMS_ATTEST |> |>Signature
<TPMT_SIGNATURE |>
- class scapy.layers.tpm.PCP_KEY_BLOB(_pkt, /, *, Magic=b'PCPM', cbHeader=0, pcpType=1, flags=<Flag 0 ()>, cbTpmKey=0, tpmKey=b'')[source]
Bases:
Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAGIC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CBHEADER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PCPTYPE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FLAGS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CBTPMKEY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TPMKEY | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. PCP_KEY_BLOBPCP_KEY_BLOB fields Magic
b'PCPM'cbHeader
0pcpType
1flags
<Flag 0 ()>cbTpmKey
0tpmKey
b''
- class scapy.layers.tpm.TPM2B_ATTEST(_pkt, /, *, size=0, attestationData=<TPMS_ATTEST |>)[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SIZE | ATTESTATIONDATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPM2B_ATTESTTPM2B_ATTEST fields size
0attestationData
<TPMS_ATTEST |>
- scapy.layers.tpm.TPM2B_AUTH[source]
alias of
TPM2B_DIGEST
- class scapy.layers.tpm.TPM2B_CREATION_DATA(_pkt, /, *, size=0, creationData=<TPMS_CREATION_DATA pcrSelect=<TPML_PCR_SELECTION |> pcrDigest=<TPM2B_DIGEST |> locality=<TPMA_LOCALITY |> parentName=<TPM2B_NAME |> parentQualifiedName=<TPM2B_NAME |> outsideInfo=<TPM2B_DATA |> |>)[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SIZE | CREATIONDATA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPM2B_CREATION_DATATPM2B_CREATION_DATA fields size
0creationData
<TPMS_CREATION_DATA pcrSelect=<TPML_PCR_SELECTION |> pcrDigest=<TPM2B_DIGEST |> locality=<TPMA_LOCALITY |> parentName=<TPM2B_NAME |> parentQualifiedName=<TPM2B_NAME |> outsideInfo=<TPM2B_DATA |> |>
- class scapy.layers.tpm.TPM2B_DATA(_pkt, /, *, size=0, buffer=b'')[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SIZE | BUFFER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPM2B_DATATPM2B_DATA fields size
0buffer
b''
- class scapy.layers.tpm.TPM2B_DIGEST(_pkt, /, *, size=0, buffer=b'')[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SIZE | BUFFER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPM2B_DIGESTTPM2B_DIGEST fields size
0buffer
b''
- class scapy.layers.tpm.TPM2B_NAME(_pkt, /, *, size=0, Name=b'')[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SIZE | NAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPM2B_NAMETPM2B_NAME fields size
0Name
b''
- class scapy.layers.tpm.TPM2B_PRIVATE(_pkt, /, *, size=0, buffer=<_PRIVATE integrityOuter=<TPM2B_DIGEST |> integrityInner=<TPM2B_DIGEST |> |>)[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SIZE | BUFFER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPM2B_PRIVATETPM2B_PRIVATE fields size
0buffer
<_PRIVATE integrityOuter=<TPM2B_DIGEST |> integrityInner=<TPM2B_DIGEST |> |>
- class scapy.layers.tpm.TPM2B_PRIVATE_KEY_RSA(_pkt, /, *, size=0, buffer=b'')[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SIZE | BUFFER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPM2B_PRIVATE_KEY_RSATPM2B_PRIVATE_KEY_RSA fields size
0buffer
b''
- class scapy.layers.tpm.TPM2B_PUBLIC(_pkt, /, *, size=0, publicArea=<TPMT_PUBLIC |>)[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SIZE | PUBLICAREA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPM2B_PUBLICTPM2B_PUBLIC fields size
0publicArea
<TPMT_PUBLIC |>
- class scapy.layers.tpm.TPM2B_PUBLIC_KEY_RSA(_pkt, /, *, size=0, buffer=b'')[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SIZE | BUFFER | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPM2B_PUBLIC_KEY_RSATPM2B_PUBLIC_KEY_RSA fields size
0buffer
b''
- class scapy.layers.tpm.TPM2B_SENSITIVE(_pkt, /, *, size=0, sensitiveArea=<TPMT_SENSITIVE |>)[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SIZE | SENSITIVEAREA | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPM2B_SENSITIVETPM2B_SENSITIVE fields size
0sensitiveArea
<TPMT_SENSITIVE |>
- class scapy.layers.tpm.TPMA_LOCALITY(_pkt, /, *, locZero=0, locOne=0, locTwo=0, locThree=0, locFour=0, Extended=0)[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |L|L|L|L|L|EXTEN| +-+-+-+-+-+-+-+-+ Fig. TPMA_LOCALITYTPMA_LOCALITY fields locZero
BitField(1 bit)0locOne
BitField(1 bit)0locTwo
BitField(1 bit)0locThree
BitField(1 bit)0locFour
BitField(1 bit)0Extended
BitField(3 bits)0
- class scapy.layers.tpm.TPML_DIGEST(_pkt, /, *, count=0, digests=[])[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | COUNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | DIGESTS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPML_DIGESTTPML_DIGEST fields count
0digests
[]
- class scapy.layers.tpm.TPML_PCR_SELECTION(_pkt, /, *, count=0, pcrSelections=[])[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | COUNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PCRSELECTIONS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPML_PCR_SELECTIONTPML_PCR_SELECTION fields count
0pcrSelections
[]
- class scapy.layers.tpm.TPMS_ATTEST(_pkt, /, *, magic=b'\xffTCG', type=0, qualifiedSigned=<TPM2B_NAME |>, extraData=<TPM2B_DATA |>, clockInfo=<TPMS_CLOCK_INFO |>, firmwareVersion=0, attested=None)[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MAGIC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | QUALIFIEDSIGNED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EXTRADATA | CLOCKINFO | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FIRMWAREVERSION | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ATTESTED | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPMS_ATTESTTPMS_ATTEST fields magic
b'\xffTCG'type
0qualifiedSigned
<TPM2B_NAME |>extraData
<TPM2B_DATA |>clockInfo
<TPMS_CLOCK_INFO |>firmwareVersion
0attested
MultipleTypeField(PacketField, PacketField, StrField)b''
- class scapy.layers.tpm.TPMS_CERTIFY_INFO(_pkt, /, *, Name=<TPM2B_NAME |>, qualifiedName=<TPM2B_DIGEST |>)[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | NAME | QUALIFIEDNAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPMS_CERTIFY_INFOTPMS_CERTIFY_INFO fields Name
<TPM2B_NAME |>qualifiedName
<TPM2B_DIGEST |>
- class scapy.layers.tpm.TPMS_CLOCK_INFO(_pkt, /, *, clock=0, resetCount=0, restartCount=0, safe=0)[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CLOCK | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESETCOUNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RESTARTCOUNT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SAFE | +-+-+-+-+-+-+-+-+ Fig. TPMS_CLOCK_INFOTPMS_CLOCK_INFO fields clock
0resetCount
0restartCount
0safe
0
- class scapy.layers.tpm.TPMS_CREATION_DATA(_pkt, /, *, pcrSelect=<TPML_PCR_SELECTION |>, pcrDigest=<TPM2B_DIGEST |>, locality=<TPMA_LOCALITY |>, parentNameAlg=0, parentName=<TPM2B_NAME |>, parentQualifiedName=<TPM2B_NAME |>, outsideInfo=<TPM2B_DATA |>)[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PCRSELECT | PCRDIGEST | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LOCALITY | PARENTNAMEALG | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PARENTNAME | PARENTQUALIFIEDNAME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OUTSIDEINFO | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPMS_CREATION_DATATPMS_CREATION_DATA fields pcrSelect
<TPML_PCR_SELECTION |>pcrDigest
<TPM2B_DIGEST |>locality
<TPMA_LOCALITY |>parentNameAlg
0parentName
<TPM2B_NAME |>parentQualifiedName
<TPM2B_NAME |>outsideInfo
<TPM2B_DATA |>
- class scapy.layers.tpm.TPMS_CREATION_INFO(_pkt, /, *, objectName=<TPM2B_NAME |>, creationHash=<TPM2B_DIGEST |>)[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OBJECTNAME | CREATIONHASH | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPMS_CREATION_INFOTPMS_CREATION_INFO fields objectName
<TPM2B_NAME |>creationHash
<TPM2B_DIGEST |>
- class scapy.layers.tpm.TPMS_NULL_PARMS(_pkt, /, *, algorithm=16)[source]
Bases:
_Packet- aliastypes
- class scapy.layers.tpm.TPMS_PCR_SELECTION(_pkt, /, *, hash=0, sizeOfSelect=0, pcrSelect=b'')[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HASH | SIZEOFSELECT | PCRSELECT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPMS_PCR_SELECTIONTPMS_PCR_SELECTION fields hash
0sizeOfSelect
0pcrSelect
b''
- class scapy.layers.tpm.TPMS_RSA_PARMS(_pkt, /, *, symmetric=<TPMT_SYM_DEF_OBJECT |>, scheme=<TPMT_RSA_SCHEME |>, keyBits=0, exponent=0)[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SYMMETRIC | SCHEME | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | KEYBITS | EXPONENT | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPMS_RSA_PARMSTPMS_RSA_PARMS fields symmetric
<TPMT_SYM_DEF_OBJECT |>scheme
<TPMT_RSA_SCHEME |>keyBits
0exponent
0
- class scapy.layers.tpm.TPMS_SCHEME_SIGHASH(_pkt, /, *, hashAlg=0)[source]
Bases:
_Packet- aliastypes
- class scapy.layers.tpm.TPMS_SIGNATURE_RSAPSS(_pkt, /, *, hash=0, sig=<TPM2B_PUBLIC_KEY_RSA |>)[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HASH | SIG | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPMS_SIGNATURE_RSAPSSTPMS_SIGNATURE_RSAPSS fields hash
0sig
<TPM2B_PUBLIC_KEY_RSA |>
- class scapy.layers.tpm.TPMS_SIGNATURE_RSASSA(_pkt, /, *, hash=0, sig=<TPM2B_PUBLIC_KEY_RSA |>)[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | HASH | SIG | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPMS_SIGNATURE_RSASSATPMS_SIGNATURE_RSASSA fields hash
0sig
<TPM2B_PUBLIC_KEY_RSA |>
- class scapy.layers.tpm.TPMT_PUBLIC(_pkt, /, *, type=1, nameAlg=0, objectAttributes=<Flag 0 ()>, authPolicy=<TPM2B_DIGEST |>, parameters=None, unique=<TPM2B_DIGEST |>)[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TYPE | NAMEALG | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OBJECTATTRIBUTES | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AUTHPOLICY |PARAMETER| UNIQUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPMT_PUBLICTPMT_PUBLIC fields type
1nameAlg
0objectAttributes
<Flag 0 ()>authPolicy
<TPM2B_DIGEST |>parameters
MultipleTypeField(PacketField, StrFixedLenField)b''unique
<TPM2B_DIGEST |>
- class scapy.layers.tpm.TPMT_RSA_SCHEME(_pkt, /, *, scheme=0, parameters=None)[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SCHEME |PARAMETER| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPMT_RSA_SCHEMETPMT_RSA_SCHEME fields scheme
0parameters
MultipleTypeField(PacketField, StrFixedLenField)b''
- class scapy.layers.tpm.TPMT_SENSITIVE(_pkt, /, *, sensitiveType=0, authValue=<TPM2B_DIGEST |>, seedValue=<TPM2B_DIGEST |>, sensitive=None)[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SENSITIVETYPE | AUTHVALUE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SEEDVALUE | SENSITIVE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPMT_SENSITIVETPMT_SENSITIVE fields sensitiveType
0authValue
<TPM2B_DIGEST |>seedValue
<TPM2B_DIGEST |>sensitive
MultipleTypeField(PacketField, StrField)b''
- class scapy.layers.tpm.TPMT_SIGNATURE(_pkt, /, *, sigAlg=0, signature=None)[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SIGALG | SIGNATURE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPMT_SIGNATURETPMT_SIGNATURE fields sigAlg
0signature
MultipleTypeField(PacketField, PacketField, StrField)b''
- class scapy.layers.tpm.TPMT_SYM_DEF_OBJECT(_pkt, /, *, algorithm=0, keyBits=0, mode=0)[source]
Bases:
_Packet- aliastypes
- fields_desc
Display RFC-like schema
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ALGORITHM | KEYBITS | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MODE | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Fig. TPMT_SYM_DEF_OBJECTTPMT_SYM_DEF_OBJECT fields algorithm
0keyBits
ShortField(Cond)0mode
ShortField(Cond)0