scapy.contrib.automotive.autosar.secoc

SecOC

class scapy.contrib.automotive.autosar.secoc.PduPayloadField(name: str, default: Packet, guess_pkt_cls: Callable[[Packet, bytes], Packet], length_from: Callable[[Packet], int] | None = None)[source]

Bases: PacketLenField

guess_pkt_cls
m2i(pkt: Packet | None, m: bytes) Packet[source]
class scapy.contrib.automotive.autosar.secoc.SecOCMixin[source]

Bases: object

static calculate_cmac(key: bytes, payload: bytes, freshness_value: bytes) bytes[source]
get_message_authentication_code()[source]
get_secoc_freshness_value() bytes[source]

Override this method for customization

get_secoc_key() bytes[source]

Override this method for customization

get_secoc_payload() bytes[source]

Override this method for customization

pdu_payload_cls_by_identifier: Dict[int, Type[Packet]] = {}
classmethod register_secoc_protected_pdu(pdu_id: int, pdu_payload_cls: ~typing.Type[~scapy.packet.Packet] = <class 'scapy.packet.Raw'>) None[source]
secoc_authenticate() None[source]
secoc_protected_pdus_by_identifier: Set[int] = {}
secoc_verify() bool[source]
classmethod unregister_secoc_protected_pdu(pdu_id: int) None[source]