Skip to main content

Module blob

Module blob 

Source
Expand description

Construction of the 128-byte configuration zone blob.

Every field, every bit, every value here matches docs/config-zone-layout.md section by section. If you change anything in this file, update the doc and re-run the tests.

Constantsยง

CHIP_MODE ๐Ÿ”’
Value of byte 19, ChipMode.
CONFIG_ZONE_SIZE ๐Ÿ”’
Total size of the configuration zone.
COUNT_MATCH ๐Ÿ”’
Value of byte 18, CountMatch. The CountMatch feature is unused, the byte stays at zero.
I2C_ADDRESS_BYTE ๐Ÿ”’
I2C address byte stored at offset 16.
KEY_CFG_DATA_GENERIC ๐Ÿ”’
KeyConfig for generic data slots.
KEY_CFG_ECC_LOCKABLE_OFF ๐Ÿ”’
KeyConfig for ECC P-256 slots with Lockable = 0.
KEY_CFG_ECC_LOCKABLE_ON ๐Ÿ”’
KeyConfig for ECC P-256 slots with Lockable = 1.
LOCK_CONFIG_UNLOCKED ๐Ÿ”’
Value placed at the LockConfig (byte 87) field. 0x55 means the configuration zone is unlocked. The chip overwrites this with 0x00 when the Lock(config) command is issued.
LOCK_VALUE_UNLOCKED ๐Ÿ”’
Value placed at the LockValue (byte 86) field. 0x55 means the data zone is unlocked. The chip overwrites this with 0x00 when the Lock(data) command is issued.
RESERVED2 ๐Ÿ”’
Value of byte 17. Required to be zero by the ATECC608B reference.
SLOT_CFG_DATA_IO_KEY ๐Ÿ”’
SlotConfig for the I/O Protection master key (slot 8).
SLOT_CFG_DATA_PIN_PUK ๐Ÿ”’
SlotConfig for the PIN hash slot (slot 5) and the PUK hash slot (slot 6).
SLOT_CFG_ECC_GENKEY_ONLY ๐Ÿ”’
SlotConfig for ECC P-256 slots that allow GenKey but not PrivWrite.
SLOT_CFG_ECC_GENKEY_OR_IMPORT ๐Ÿ”’
SlotConfig for ECC P-256 slots that allow both GenKey and encrypted PrivWrite import.

Functionsยง

build ๐Ÿ”’
Build the full 128-byte configuration zone blob, including factory-area placeholders at bytes 0-15.
key_config_for ๐Ÿ”’
Return the KeyConfig value for a given slot index.
slot_config_for ๐Ÿ”’
Return the SlotConfig value for a given slot index.