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 = [<class 'scapy.layers.tpm.KeyAttestation'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<StrFixedLenField (KeyAttestation).Magic>, <LEIntEnumField (KeyAttestation).Platform>, <LEIntField (KeyAttestation).HeaderSize>, <LEIntField (KeyAttestation).cbKeyAttest>, <LEIntField (KeyAttestation).cbSignature>, <LEIntField (KeyAttestation).cbKeyBlob>, <scapy.fields.MultipleTypeField object>, <StrLenField (KeyAttestation).signature>, <scapy.fields.MultipleTypeField object>]
- 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 = [<class 'scapy.layers.tpm.KeyAttestationStatement'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<StrFixedLenField (KeyAttestationStatement).Magic>, <LEIntField (KeyAttestationStatement).Version>, <LEIntEnumField (KeyAttestationStatement).Platform>, <LEIntField (KeyAttestationStatement).HeaderSize>, <LEIntField (KeyAttestationStatement).cbIdBinding>, <LEIntField (KeyAttestationStatement).cbKeyAttestation>, <LEIntField (KeyAttestationStatement).cbAIKOpaque>, <scapy.fields.MultipleTypeField object>, <PacketLenField (KeyAttestationStatement).keyAttestation>, <scapy.fields.MultipleTypeField object>]
- 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 = [<class 'scapy.layers.tpm.PCP_20_KEY_BLOB'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<StrFixedLenField (PCP_20_KEY_BLOB).Magic>, <LEIntField (PCP_20_KEY_BLOB).cbHeader>, <LEIntEnumField (PCP_20_KEY_BLOB).pcpType>, <FlagsField (PCP_20_KEY_BLOB).flags>, <LEIntField (PCP_20_KEY_BLOB).cbPublic>, <LEIntField (PCP_20_KEY_BLOB).cbPrivate>, <LEIntField (PCP_20_KEY_BLOB).cbMigrationPublic>, <LEIntField (PCP_20_KEY_BLOB).cbMigrationPrivate>, <LEIntField (PCP_20_KEY_BLOB).cbPolicyDigestList>, <LEIntField (PCP_20_KEY_BLOB).cbPCRBinding>, <LEIntField (PCP_20_KEY_BLOB).cbPCRDigest>, <LEIntField (PCP_20_KEY_BLOB).cbEncryptedSecret>, <LEIntField (PCP_20_KEY_BLOB).cbTpm12HostageBlob>, <LEIntField (PCP_20_KEY_BLOB).pcrAlgId>, <PacketLenField (PCP_20_KEY_BLOB).public>, <PacketLenField (PCP_20_KEY_BLOB).private>, <PacketLenField (PCP_20_KEY_BLOB).migrationPublic>, <PacketLenField (PCP_20_KEY_BLOB).migrationPrivate>, <PacketLenField (PCP_20_KEY_BLOB).policyDigestList>, <StrLenField (PCP_20_KEY_BLOB).pcrBinding>, <StrLenField (PCP_20_KEY_BLOB).pcrDigest>, <StrLenField (PCP_20_KEY_BLOB).encryptedSecret>, <StrLenField (PCP_20_KEY_BLOB).tpm12HostageBlob>]
- 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 = [<class 'scapy.layers.tpm.PCP_IDBinding20'>, <class 'scapy.packet.Packet'>]
- 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 = [<class 'scapy.layers.tpm.PCP_KEY_BLOB'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.tpm.TPM2B_ATTEST(_pkt, /, *, size=0, attestationData=<TPMS_ATTEST |>)[source]
Bases:
_Packet- aliastypes = [<class 'scapy.layers.tpm.TPM2B_ATTEST'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- 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 = [<class 'scapy.layers.tpm.TPM2B_CREATION_DATA'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.tpm.TPM2B_DATA(_pkt, /, *, size=0, buffer=b'')[source]
Bases:
_Packet- aliastypes = [<class 'scapy.layers.tpm.TPM2B_DATA'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.tpm.TPM2B_DIGEST(_pkt, /, *, size=0, buffer=b'')[source]
Bases:
_Packet- aliastypes = [<class 'scapy.layers.tpm.TPM2B_DIGEST'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.tpm.TPM2B_NAME(_pkt, /, *, size=0, Name=b'')[source]
Bases:
_Packet- aliastypes = [<class 'scapy.layers.tpm.TPM2B_NAME'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.tpm.TPM2B_PRIVATE(_pkt, /, *, size=0, buffer=<_PRIVATE integrityOuter=<TPM2B_DIGEST |> integrityInner=<TPM2B_DIGEST |> |>)[source]
Bases:
_Packet- aliastypes = [<class 'scapy.layers.tpm.TPM2B_PRIVATE'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.tpm.TPM2B_PRIVATE_KEY_RSA(_pkt, /, *, size=0, buffer=b'')[source]
Bases:
_Packet- aliastypes = [<class 'scapy.layers.tpm.TPM2B_PRIVATE_KEY_RSA'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.tpm.TPM2B_PUBLIC(_pkt, /, *, size=0, publicArea=<TPMT_PUBLIC |>)[source]
Bases:
_Packet- aliastypes = [<class 'scapy.layers.tpm.TPM2B_PUBLIC'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.tpm.TPM2B_PUBLIC_KEY_RSA(_pkt, /, *, size=0, buffer=b'')[source]
Bases:
_Packet- aliastypes = [<class 'scapy.layers.tpm.TPM2B_PUBLIC_KEY_RSA'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.tpm.TPM2B_SENSITIVE(_pkt, /, *, size=0, sensitiveArea=<TPMT_SENSITIVE |>)[source]
Bases:
_Packet- aliastypes = [<class 'scapy.layers.tpm.TPM2B_SENSITIVE'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.tpm.TPMA_LOCALITY(_pkt, /, *, locZero=0, locOne=0, locTwo=0, locThree=0, locFour=0, Extended=0)[source]
Bases:
_Packet- aliastypes = [<class 'scapy.layers.tpm.TPMA_LOCALITY'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.tpm.TPML_DIGEST(_pkt, /, *, count=0, digests=[])[source]
Bases:
_Packet- aliastypes = [<class 'scapy.layers.tpm.TPML_DIGEST'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.tpm.TPML_PCR_SELECTION(_pkt, /, *, count=0, pcrSelections=[])[source]
Bases:
_Packet- aliastypes = [<class 'scapy.layers.tpm.TPML_PCR_SELECTION'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- 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 = [<class 'scapy.layers.tpm.TPMS_ATTEST'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<StrFixedLenField (TPMS_ATTEST).magic>, <ShortEnumField (TPMS_ATTEST).type>, <PacketField (TPMS_ATTEST).qualifiedSigned>, <PacketField (TPMS_ATTEST).extraData>, <PacketField (TPMS_ATTEST).clockInfo>, <LongField (TPMS_ATTEST).firmwareVersion>, <scapy.fields.MultipleTypeField object>]
- class scapy.layers.tpm.TPMS_CERTIFY_INFO(_pkt, /, *, Name=<TPM2B_NAME |>, qualifiedName=<TPM2B_DIGEST |>)[source]
Bases:
_Packet- aliastypes = [<class 'scapy.layers.tpm.TPMS_CERTIFY_INFO'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.tpm.TPMS_CLOCK_INFO(_pkt, /, *, clock=0, resetCount=0, restartCount=0, safe=0)[source]
Bases:
_Packet- aliastypes = [<class 'scapy.layers.tpm.TPMS_CLOCK_INFO'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- 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 = [<class 'scapy.layers.tpm.TPMS_CREATION_DATA'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<PacketField (TPMS_CREATION_DATA).pcrSelect>, <PacketField (TPMS_CREATION_DATA).pcrDigest>, <PacketField (TPMS_CREATION_DATA).locality>, <ShortEnumField (TPMS_CREATION_DATA).parentNameAlg>, <PacketField (TPMS_CREATION_DATA).parentName>, <PacketField (TPMS_CREATION_DATA).parentQualifiedName>, <PacketField (TPMS_CREATION_DATA).outsideInfo>]
- class scapy.layers.tpm.TPMS_CREATION_INFO(_pkt, /, *, objectName=<TPM2B_NAME |>, creationHash=<TPM2B_DIGEST |>)[source]
Bases:
_Packet- aliastypes = [<class 'scapy.layers.tpm.TPMS_CREATION_INFO'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.tpm.TPMS_NULL_PARMS(_pkt, /, *, algorithm=16)[source]
Bases:
_Packet- aliastypes = [<class 'scapy.layers.tpm.TPMS_NULL_PARMS'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.tpm.TPMS_PCR_SELECTION(_pkt, /, *, hash=0, sizeOfSelect=0, pcrSelect=b'')[source]
Bases:
_Packet- aliastypes = [<class 'scapy.layers.tpm.TPMS_PCR_SELECTION'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- 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 = [<class 'scapy.layers.tpm.TPMS_RSA_PARMS'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.tpm.TPMS_SCHEME_SIGHASH(_pkt, /, *, hashAlg=0)[source]
Bases:
_Packet- aliastypes = [<class 'scapy.layers.tpm.TPMS_SCHEME_SIGHASH'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.tpm.TPMS_SIGNATURE_RSAPSS(_pkt, /, *, hash=0, sig=<TPM2B_PUBLIC_KEY_RSA |>)[source]
Bases:
_Packet- aliastypes = [<class 'scapy.layers.tpm.TPMS_SIGNATURE_RSAPSS'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.tpm.TPMS_SIGNATURE_RSASSA(_pkt, /, *, hash=0, sig=<TPM2B_PUBLIC_KEY_RSA |>)[source]
Bases:
_Packet- aliastypes = [<class 'scapy.layers.tpm.TPMS_SIGNATURE_RSASSA'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- 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 = [<class 'scapy.layers.tpm.TPMT_PUBLIC'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- fields_desc: ClassVar[List[Field[Any, Any] | _FieldContainer]] = [<ShortEnumField (TPMT_PUBLIC).type>, <ShortEnumField (TPMT_PUBLIC).nameAlg>, <FlagsField (TPMT_PUBLIC).objectAttributes>, <PacketField (TPMT_PUBLIC).authPolicy>, <scapy.fields.MultipleTypeField object>, <PacketField (TPMT_PUBLIC).unique>]
- class scapy.layers.tpm.TPMT_RSA_SCHEME(_pkt, /, *, scheme=0, parameters=None)[source]
Bases:
_Packet- aliastypes = [<class 'scapy.layers.tpm.TPMT_RSA_SCHEME'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.tpm.TPMT_SENSITIVE(_pkt, /, *, sensitiveType=0, authValue=<TPM2B_DIGEST |>, seedValue=<TPM2B_DIGEST |>, sensitive=None)[source]
Bases:
_Packet- aliastypes = [<class 'scapy.layers.tpm.TPMT_SENSITIVE'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]
- class scapy.layers.tpm.TPMT_SIGNATURE(_pkt, /, *, sigAlg=0, signature=None)[source]
Bases:
_Packet- aliastypes = [<class 'scapy.layers.tpm.TPMT_SIGNATURE'>, <class 'scapy.layers.tpm._Packet'>, <class 'scapy.packet.Packet'>]