Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions provision/config/devices.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ efr32mg24:
file: "efr32mg24_ram.s37"
- version: "2.8"
file: "efr32mg24_csr_oids.s37"
- version: "2.9"
file: "efr32mg24_mfd.s37"

efr32mg26:
ram_addr: 0x20000000
Expand All @@ -55,6 +57,8 @@ efr32mg26:
file: "efr32mg26_ram.s37"
- version: "2.8"
file: "efr32mg26_csr_oids.s37"
- version: "2.9"
file: "efr32mg26_mfd.s37"

mgm24:
ram_addr: 0x20000000
Expand Down Expand Up @@ -87,6 +91,8 @@ mgm24:
file: "efr32mg24_ram.s37"
- version: "2.8"
file: "efr32mg24_csr_oids.s37"
- version: "2.9"
file: "efr32mg24_mfd.s37"

mgm26:
ram_addr: 0x20000000
Expand All @@ -113,6 +119,8 @@ mgm26:
file: "efr32mg26_ram.s37"
- version: "2.8"
file: "efr32mg26_csr_oids.s37"
- version: "2.9"
file: "efr32mg26_mfd.s37"

si917y:
alias: [siwg917y]
Expand All @@ -135,6 +143,8 @@ si917y:
file: "si917y_nvm3k3.rps"
- version: "2.8"
file: "si917y_csr_oids.rps"
- version: "2.9"
file: "si917y_mfd.rps"

si917:
alias: [siwg917]
Expand Down Expand Up @@ -163,6 +173,8 @@ si917:
file: "si917_nvm3k3.rps"
- version: "2.8"
file: "si917_csr_oids.rps"
- version: "2.9"
file: "si917_mfd.rps"

# l implies 4mb part.
simg301l:
Expand Down Expand Up @@ -193,6 +205,9 @@ simg301l:
- version: "2.8"
file: "sixg3l_csr_oids.s37"
rtt_addr: 0x20008518
- version: "2.9"
file: "sixg3l_mfd.s37"
rtt_addr: 0x200082c0

# w implies 3mb part.
simg301w:
Expand All @@ -218,6 +233,9 @@ simg301w:
- version: "2.8"
file: "sixg3w_csr_oids.s37"
rtt_addr: 0x20008518
- version: "2.9"
file: "sixg3w_mfd.s37"
rtt_addr: 0x200082c0

# k implies 2mb part.
simg301k:
Expand All @@ -237,6 +255,9 @@ simg301k:
- version: "2.8"
file: "sixg3k_csr_oids.s37"
rtt_addr: 0x20008518 # RTT control block in the SIMG301M114KIH
- version: "2.9"
file: "sixg3k_mfd.s37"
rtt_addr: 0x200082c0

# x is currently used for 8mb parts, however there are x parts of every size so this is temporary (x means external flash).
simg301x:
Expand All @@ -256,3 +277,6 @@ simg301x:
- version: "2.8"
file: "sixg3x8m_csr_oids.s37"
rtt_addr: 0x20008518 # RTT control block in the SIMG301M114X
- version: "2.9"
file: "sixg3x8m_mfd.s37"
rtt_addr: 0x200082c0
1 change: 1 addition & 0 deletions provision/config/parameters.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,7 @@ instance_info:
name: "manufacturing_date"
short: "md"
type: "date"
min: 8
max: 16

- id: 0x0154
Expand Down
9 changes: 9 additions & 0 deletions provision/config/versions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -135,3 +135,12 @@
summary: |-
- OIDs are now used in the CSR Subject for VID and PID
- Reset option added.

- version: "2.9"
date: "2026-06-15"
supports:
- release_2.9-1.6
module: "v2_0"
summary: |-
- Manufacturing date format changed to YYYYMMDD.
- Series 3 credentials address changed to prevent conflict with manufacturing tokens.
9 changes: 9 additions & 0 deletions provision/headers/AttestationKey.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,15 @@ namespace Provision {

static constexpr uint32_t kCreds_KeyId_Default = 2; //(PSA_KEY_ID_USER_MIN + 1);

// Size of the buffer holding the CSR subject name:
// "CN=<cn>, 1.3.6.1.4.1.37244.2.1=VVVV, 1.3.6.1.4.1.37244.2.2=PPPP\0"
// - <cn>: X.509 ub-common-name limit of 64 chars (RFC 5280, Appendix A.1)
// - VVVV/PPPP: Matter VID/PID OID values, 4 uppercase-hex chars each
// - literals: "CN=", ", " separators and the two OID prefixes = 59 chars
// - NUL: 1 char
// Worst case: 64 + 59 + 1 = 124, rounded up to 128.
static constexpr size_t kSubjectNameLengthMax = 128;

class AttestationKey
{
public:
Expand Down
3 changes: 2 additions & 1 deletion provision/headers/ProvisionStorage.h
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,8 @@ struct Storage : public GenericStorage,
static constexpr size_t kDeviceAttestationKeySizeMax = 128;
static constexpr size_t kSetupPayloadSizeMax = 32;
static constexpr size_t kCsrLengthMax = 512;
static constexpr size_t kCommonNameMax = 128;
// X.509 (RFC 5280, Appendix A.1): CommonName attribute value is limited to 64 characters
static constexpr size_t kCommonNameMax = 64;
static constexpr size_t kTotalPayloadDataSizeInBits =
(kVersionFieldLengthInBits + kVendorIDFieldLengthInBits + kProductIDFieldLengthInBits +
kCommissioningFlowFieldLengthInBits + kRendezvousInfoFieldLengthInBits + kPayloadDiscriminatorFieldLengthInBits +
Expand Down
Loading