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
default_payload_class(payload)[source]
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. KeyAttestation                        
KeyAttestation fields

Magic

StrFixedLenField

b'KADS'

Platform

LEIntEnumField

2

HeaderSize

LEIntField

0

cbKeyAttest

LEIntField

0

cbSignature

LEIntField

0

cbKeyBlob

LEIntField

0

keyAttest

MultipleTypeField (PacketLenField, StrLenField)

b''

signature

StrLenField

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. KeyAttestationStatement                   
KeyAttestationStatement fields

Magic

StrFixedLenField

b'KAST'

Version

LEIntField

1

Platform

LEIntEnumField

2

HeaderSize

LEIntField

0

cbIdBinding

LEIntField

0

cbKeyAttestation

LEIntField

0

cbAIKOpaque

LEIntField

0

idBinding

MultipleTypeField (PacketLenField, StrLenField)

b''

keyAttestation

PacketLenField

<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_BLOB                       
PCP_20_KEY_BLOB fields

Magic

StrFixedLenField

b'PCPM'

cbHeader

LEIntField

0

pcpType

LEIntEnumField

2

flags

FlagsField

<Flag 0 ()>

cbPublic

LEIntField

0

cbPrivate

LEIntField

0

cbMigrationPublic

LEIntField

0

cbMigrationPrivate

LEIntField

0

cbPolicyDigestList

LEIntField

0

cbPCRBinding

LEIntField

0

cbPCRDigest

LEIntField

0

cbEncryptedSecret

LEIntField

0

cbTpm12HostageBlob

LEIntField

0

pcrAlgId

LEIntField

0

public

PacketLenField

<TPM2B_PUBLIC  publicArea=<TPMT_PUBLIC  |> |>

private

PacketLenField

<TPM2B_PRIVATE  buffer=<_PRIVATE  integrityOuter=<TPM2B_DIGEST  |> integrityInner=<TPM2B_DIGEST  |> |> |>

migrationPublic

PacketLenField

None

migrationPrivate

PacketLenField

<TPM2B_PRIVATE  buffer=<_PRIVATE  integrityOuter=<TPM2B_DIGEST  |> integrityInner=<TPM2B_DIGEST  |> |> |>

policyDigestList

PacketLenField

<TPML_DIGEST  |>

pcrBinding

StrLenField

b''

pcrDigest

StrLenField

b''

encryptedSecret

StrLenField

b''

tpm12HostageBlob

StrLenField

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_IDBinding20                       
PCP_IDBinding20 fields

PublicKey

PacketField

<TPM2B_PUBLIC  publicArea=<TPMT_PUBLIC  |> |>

CreationData

PacketField

<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

PacketField

<TPM2B_ATTEST  attestationData=<TPMS_ATTEST  |> |>

Signature

PacketField

<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_BLOB                         
PCP_KEY_BLOB fields

Magic

StrFixedLenField

b'PCPM'

cbHeader

LEIntField

0

pcpType

LEIntEnumField

1

flags

FlagsField

<Flag 0 ()>

cbTpmKey

LEIntField

0

tpmKey

StrLenField

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_ATTEST                         
TPM2B_ATTEST fields

size

ShortField

0

attestationData

PacketLenField

<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_DATA                     
TPM2B_CREATION_DATA fields

size

ShortField

0

creationData

PacketLenField

<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_DATA                          
TPM2B_DATA fields

size

ShortField

0

buffer

StrLenField

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_DIGEST                         
TPM2B_DIGEST fields

size

ShortField

0

buffer

StrLenField

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_NAME                          
TPM2B_NAME fields

size

ShortField

0

Name

StrLenField

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_PRIVATE                        
TPM2B_PRIVATE fields

size

ShortField

0

buffer

PacketLenField

<_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_RSA                    
TPM2B_PRIVATE_KEY_RSA fields

size

ShortField

0

buffer

StrLenField

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_PUBLIC                         
TPM2B_PUBLIC fields

size

ShortField

0

publicArea

PacketLenField

<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_RSA                     
TPM2B_PUBLIC_KEY_RSA fields

size

ShortField

0

buffer

StrFixedLenField

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_SENSITIVE                       
TPM2B_SENSITIVE fields

size

ShortField

0

sensitiveArea

PacketLenField

<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_LOCALITY                        
TPMA_LOCALITY fields

locZero

BitField (1 bit)

0

locOne

BitField (1 bit)

0

locTwo

BitField (1 bit)

0

locThree

BitField (1 bit)

0

locFour

BitField (1 bit)

0

Extended

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_DIGEST                         
TPML_DIGEST fields

count

IntField

0

digests

PacketListField

[]

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_SELECTION                      
TPML_PCR_SELECTION fields

count

IntField

0

pcrSelections

PacketListField

[]

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_ATTEST                         
TPMS_ATTEST fields

magic

StrFixedLenField

b'\xffTCG'

type

ShortEnumField

0

qualifiedSigned

PacketField

<TPM2B_NAME  |>

extraData

PacketField

<TPM2B_DATA  |>

clockInfo

PacketField

<TPMS_CLOCK_INFO  |>

firmwareVersion

LongField

0

attested

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_INFO                      
TPMS_CERTIFY_INFO fields

Name

PacketField

<TPM2B_NAME  |>

qualifiedName

PacketField

<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_INFO                       
TPMS_CLOCK_INFO fields

clock

LongField

0

resetCount

IntField

0

restartCount

IntField

0

safe

ByteField

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_DATA                      
TPMS_CREATION_DATA fields

pcrSelect

PacketField

<TPML_PCR_SELECTION  |>

pcrDigest

PacketField

<TPM2B_DIGEST  |>

locality

PacketField

<TPMA_LOCALITY  |>

parentNameAlg

ShortEnumField

0

parentName

PacketField

<TPM2B_NAME  |>

parentQualifiedName

PacketField

<TPM2B_NAME  |>

outsideInfo

PacketField

<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_INFO                      
TPMS_CREATION_INFO fields

objectName

PacketField

<TPM2B_NAME  |>

creationHash

PacketField

<TPM2B_DIGEST  |>

class scapy.layers.tpm.TPMS_NULL_PARMS(_pkt, /, *, algorithm=16)[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           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                       Fig. TPMS_NULL_PARMS                       
TPMS_NULL_PARMS fields

algorithm

ShortEnumField

16

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_SELECTION                      
TPMS_PCR_SELECTION fields

hash

ShortEnumField

0

sizeOfSelect

ByteField

0

pcrSelect

StrFixedLenField

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_PARMS                        
TPMS_RSA_PARMS fields

symmetric

PacketField

<TPMT_SYM_DEF_OBJECT  |>

scheme

PacketField

<TPMT_RSA_SCHEME  |>

keyBits

ShortField

0

exponent

IntField

0

class scapy.layers.tpm.TPMS_SCHEME_SIGHASH(_pkt, /, *, hashAlg=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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            HASHALG            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                     Fig. TPMS_SCHEME_SIGHASH                     
TPMS_SCHEME_SIGHASH fields

hashAlg

ShortEnumField

0

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_RSAPSS                    
TPMS_SIGNATURE_RSAPSS fields

hash

ShortEnumField

0

sig

PacketField

<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_RSASSA                    
TPMS_SIGNATURE_RSASSA fields

hash

ShortEnumField

0

sig

PacketField

<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_PUBLIC                         
TPMT_PUBLIC fields

type

ShortEnumField

1

nameAlg

ShortEnumField

0

objectAttributes

FlagsField

<Flag 0 ()>

authPolicy

PacketField

<TPM2B_DIGEST  |>

parameters

MultipleTypeField (PacketField, StrFixedLenField)

b''

unique

PacketField

<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_SCHEME                       
TPMT_RSA_SCHEME fields

scheme

ShortEnumField

0

parameters

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_SENSITIVE                        
TPMT_SENSITIVE fields

sensitiveType

ShortEnumField

0

authValue

PacketField

<TPM2B_DIGEST  |>

seedValue

PacketField

<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_SIGNATURE                        
TPMT_SIGNATURE fields

sigAlg

ShortEnumField

0

signature

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_OBJECT                     
TPMT_SYM_DEF_OBJECT fields

algorithm

ShortEnumField

0

keyBits

ShortField (Cond)

0

mode

ShortField (Cond)

0