ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Matter 制造数据流程指南:NXP 平台的证书生成、Provisioning 数据写入与 DAC 私钥安全存储

Matter 制造数据流程指南:NXP 平台的证书生成、Provisioning 数据写入与 DAC 私钥安全存储 Matter 制造数据流程指南NXP 平台的证书生成、Provisioning 数据写入与 DAC 私钥安全存储【免费下载链接】connectedhomeipMatter (formerly Project CHIP) creates more connections between more objects, simplifying development for manufacturers and increasing compatibility for consumers, guided by the Connectivity Standards Alliance.项目地址: https://gitcode.com/GitHub_Trending/co/connectedhomeip导读本文围绕 Matter (connectedhomeip) 仓库中 NXP 平台的制造数据Manufacturing Data生成与写入全流程展开默认情况下示例应用把通用测试证书与配置数据随应用代码一并烧录而量产阶段必须为每台设备生成独立的制造数据。读完本文你将掌握使用chip-cert与spake2p工具生成 PAA/PAI/DAC/CD 证书链、用factory_data_generator工具生成明文或 AES 加密的 KLV 格式工厂数据二进制、按芯片平台MCX W71/W72、RW61x、RT1060/RT1170写入指定 Flash 地址以及通过 SSS/EdgeLock 2Go 实现 DAC 私钥安全存储的两种进阶方案。1. 制造数据在 Matter 设备生命周期中的位置在 Matter原 Project CHIP的认证体系里每台设备出厂前都需要烧录一组与设备唯一性绑定的数据包括证书链PAAProduct Attestation Authority产品认证机构、PAIProduct Attestation Intermediate产品认证中间证书、DACDevice Attestation Certificate设备认证证书Certification DeclarationCD由 CSA 签发的认证声明Provisioning 数据SPAKE2 配对参数salt、iteration count、passcode、verifier、discriminator、VID/PID、产品信息、序列号、制造日期等。默认情况下NXP 示例应用使用嵌入在应用代码中的通用测试证书与配置数据仅适合开发调试。而“最终量产”阶段的应用应当依照本文描述的流程为每一台设备生成独立的制造数据。这一整套流程由 docs/platforms/nxp/nxp_manufacturing_flow.md 定义本指南以该文档为主线并结合仓库中 scripts/tools/nxp 目录下的真实工具实现进行展开。2. 前置条件构建 chip-cert 与 spake2p 工具制造数据生成依赖两个由 Matter 仓库构建出来的命令行工具chip-cert用于生成、转换 Matter 证书PAA/PAI/DAC与认证声明 CD源码位于src/tools/chip-certspake2p用于生成 SPAKE2 verifier即配对口令passcode对应的验证器源码位于src/tools/spake2p。在 Matter 仓库根目录先执行gn gen生成构建文件gn gen out然后分别构建两个工具ninja -C out chip-cert ninja -C out spake2p构建完成后chip-cert与spake2p的可执行文件会位于out/目录下后续所有生成步骤都需要通过--chip_cert_path、--spake2p_path参数引用它们。3. 第一步生成证书与认证声明3.1 工具概览NXP 提供了 Python 脚本 scripts/tools/nxp/generate_certs.py 来批量生成证书。从源码看该脚本内部通过subprocess调用chip-cert执行三类操作gen-att-cert生成 PAA--type a、PAI--type i、DAC--type d证书其中 PAI 由 PAA 签发、DAC 由 PAI 签发形成完整的 attestation 证书链gen-cd生成 Certification Declarationconvert-cert/convert-key将.pem证书与密钥转换为.der格式。脚本总是会生成 PAI 与 DAC 证书/密钥PAA 证书/密钥与 CD 是否生成取决于参数见下表。3.2 参数说明参数说明类型是否必填--chip_cert_pathchip-cert可执行文件路径string是--output证书输出目录string是--vendor_idVendor Identification Number厂商识别号integer 或 hex integer是--product_idProduct Identification Number产品识别号integer 或 hex integer是--vendor_name人类可读的厂商名称string是--product_name人类可读的产品名称string是--gen_cd是否生成 Certification Declarationboolean否--cd_typeCD 类型0- development1- provisional2- officialinteger否--device_type节点实现的主设备类型须为 Matter Device Library 规范中的设备类型标识符int否--paa_certPAA 证书路径不提供时自动生成string否--paa_keyPAA 密钥路径不提供时自动生成string否--valid_from证书有效期起始日期string否--lifetime证书有效期天string否从 scripts/tools/nxp/generate_certs.py 的参数定义可以看到两个值得注意的默认值--cd_type默认值为1provisional--valid_from默认值为2023-01-01 00:00:00--lifetime默认值为7305约 20 年按YYYY-MM-DD [HH:MM:SS]格式传入--vendor_id/--product_id使用int(i, 0)解析因此十进制与十六进制如0x1037均被接受。输入参数支持整数与十六进制整数例如0x1037。当--gen_cd启用时脚本使用仓库中 CSA 测试签名证书 credentials/test/certification-declaration/Chip-Test-CD-Signing-Cert.pem 及其密钥对 CD 签名并输出为Chip-Test-CD-VID-PID.der。3.3 生成 PAA、PAI、DAC、CD以下示例命令会生成 CD、PAA、PAI 与 DAC 证书和密钥并以.pem与.der两种格式输出python scripts/tools/nxp/generate_certs.py --gen_cd --cd_type 1 --chip_cert_path ./out/chip-cert --vendor_id 0x1037 --product_id 0xA220 --vendor_name NXP Semiconductors --product_name all-clusters-app --device_type 65535 --output .生成后输出目录中会得到类似下面的文件集合命名规则可在 scripts/tools/nxp/generate_certs.py 中看到Chip-Test-CD-1037-A220.der认证声明Chip-PAA-NXP-Cert.pem/.der、Chip-PAA-NXP-Key.pemChip-PAI-NXP-1037-A220-Cert.pem/.der、Chip-PAI-NXP-1037-A220-Key.pemChip-DAC-NXP-1037-A220-Cert.pem/.der、Chip-DAC-NXP-1037-A220-Key.pem注意本文给出的命令仅用于演示请根据你的实际用例VID/PID、证书类型、有效期等进行调整。如果要查看所有参数的详细说明与默认值可直接运行python scripts/tools/nxp/generate_certs.py --help3.4 复用自有 PAA若已拥有自己的 PAA 证书与密钥例如由认证机构签发可通过--paa_cert与--paa_key传入路径脚本将跳过 PAA 的生成直接用你提供的 PAA 为 PAI 签名对应源码 scripts/tools/nxp/generate_certs.py 中的分支逻辑。这也意味着 PAI/DAC 会随每次生成的 VID/PID 而不同而 PAA 可复用。提示运行python scripts/tools/nxp/generate_certs.py --help可获取参数的完整帮助信息。4. 第二步生成 Provisioning工厂数据二进制4.1 工具实现与数据格式工厂数据由 scripts/tools/nxp/factory_data_generator/generate.py 生成该工具由三个文件组成详见 scripts/tools/nxp/factory_data_generator/README.mdgenerate.py入口负责argparse参数解析、调用spake2p、组装并写出二进制default.py定义基类InputArgument及IntArgument、Base64Argument、StrArgument、FileArgument等默认参数类custom.py为每个需要写入二进制的参数定义具体类并分配唯一key()magic number。最终产物是一份KLVKey-Length-Value编码的二进制每个参数对应一个(K, L, V)三元组K为 1 字节小端 key、L为 2 字节小端长度、V为编码后的值。例如 scripts/tools/nxp/factory_data_generator/custom.py 中Verifier的 key 为 1、Salt的 key 为 2、IterationCount为 3、DacPKey为 4……直至El2GoDacCertID为 26。数据在写入时按 key 升序排列以保证同一输入生成的二进制在 SHA-256 层面可复现比对见KlvGenerator.generate()。二进制的整体封装见 generate.py 的to_bin为拼接所有 KLV 条目计算内容前 4 字节 SHA-256 作为完整性校验值前置数据长度4 字节小端前置 Hash IDCE47BA5E反转后的字节序可选若指定--hw_params再追加APP_FACT_DATA:头部与 CRC-16 (XMODEM) 校验将数据存入 Hardware Parameters APP 分区若指定 AES key则先将 KLV 内容按 16 字节对齐补齐后使用AES-128/256 ECB加密再附加校验值与长度头。4.2 生成未加密的工厂数据推荐默认SPAKE2 参数salt、iteration count、passcode、verifier是设备配对的关键数据命令行中直接给出 salt 与 passcodespake2p会在生成过程中自动计算 verifierpython3 ./scripts/tools/nxp/factory_data_generator/generate.py -i 10000 -s UXKLzwHdN3DZZLBaL2iVGhQi/OoQwIwJRQV4rpEalbA -p 14014 -d 1000 --vid 0x1037 --pid 0xA220 --vendor_name NXP Semiconductors --product_name Lighting app --serial_num 12345678 --date 2023-01-01 --hw_version 1 --hw_version_str 1.0 --cert_declaration ./Chip-Test-CD-1037-A220.der --dac_cert ./Chip-DAC-NXP-1037-A220-Cert.der --dac_key ./Chip-DAC-NXP-1037-A220-Key.der --pai_cert ./Chip-PAI-NXP-1037-A220-Cert.der --spake2p_path ./out/spake2p --unique_id 00112233445566778899aabbccddeeff --out ./factory_data.bin4.3 使用预生成的 verifier如果已经通过其他途径生成了 verifier可以传入--spake2p_verifier直接使用spake2p将不会被调用python3 ./scripts/tools/nxp/factory_data_generator/generate.py -i 10000 -s UXKLzwHdN3DZZLBaL2iVGhQi/OoQwIwJRQV4rpEalbA -p 14014 -d 1000 --vid 0x1037 --pid 0xA220 --vendor_name NXP Semiconductors --product_name Lighting app --serial_num 12345678 --date 2023-01-01 --hw_version 1 --hw_version_str 1.0 --cert_declaration ./Chip-Test-CD-1037-A220.der --dac_cert ./Chip-DAC-NXP-1037-A220-Cert.der --dac_key ./Chip-DAC-NXP-1037-A220-Key.der --pai_cert ./Chip-PAI-NXP-1037-A220-Cert.der --spake2p_path ./out/spake2p --spake2p_verifier ivD5n3L2t5zeFt6SjW7BhHRF30gFXWZVvvXgDxgCNcEBGuTA5AUaVm3qDZBcMMKn1a6CakI4SxyPUnJr0CpJ4pwpr0DvpTlkQKqaRvkOQfAQ1XDyf55DuavM5KVGdDrg --unique_id 00112233445566778899aabbccddeeff --out ./factory_data.bin注意当设置了--spake2p_verifier时所有 SPAKE2 输入salt、iteration count、passcode仍会被编码进二进制只是不再现场计算 verifier对应 generate.py 的逻辑。4.4 生成 AES 加密的工厂数据如需防止工厂数据在 Flash 中被直接读取可加上--aes128_key选项整个数据集会以 AES-128 ECB 加密后写入若指定--aes256_key则用 AES-256见 generate.py 的优先级判断--aes128_key 2B7E151628AED2A6ABF7158809CF4F3C将上述选项追加到 4.2 或 4.3 任一命令即可。前提是目标应用/板卡必须支持该特性它持有解密私钥并实现了工厂数据的解密机制。仓库中 Kconfig 亦默认开启 AES-128 ECB 加密config/nxp/cmake/Kconfig.matter.nxp 中CHIP_ENCRYPTED_FACTORY_DATA默认yCHIP_ENCRYPTED_FACTORY_DATA_AES128_KEY默认值为2B7E151628AED2A6ABF7158809CF4F3C。4.5 必需参数与可选参数速查必需参数解释-i - SPAKE2 iteration迭代次数 -s - SPAKE2 saltbase64 编码字符串 -p - SPAKE2 passcode配对口令 -d - discriminator发现码 --vid - Vendor ID --pid - Product ID --vendor_name - Vendor Name --product_name - Product Name --hw_version - Hardware Version 数字形式 --hw_version_str - Hardware Version 字符串形式 --cert_declaration - Certification Declarationder 格式路径 --pai_cert - PAI 证书der 格式路径 --spake2p_path - spake2p 工具路径 --out - 输出二进制文件名可选参数解释--dac_cert - DAC 证书der 格式路径 --dac_key - DAC 密钥der 格式路径 --EL2GO_bin - EdgeLock 2Go 二进制bin 格式路径 --EL2GO_DAC_KEY_ID - 配置于 EdgeLock 2Go 中的 DAC key IDhex 值 --EL2GO_DAC_CERT_ID - 配置于 EdgeLock 2Go 中的 DAC 证书 IDhex 值 --dac_key_password - 解码 DAC 密钥的密码 --dac_key_use_sss_blob - 当 --dac_key 指向加密 blob 而非实际 DAC 私钥时使用。 blob 元数据大小为 24因此总长度 私钥长度32 24 56。默认关闭。 --spake2p_verifier - 预生成的 SPAKE2 verifierbase64 编码。设置后所有 SPAKE2 输入都会被编码进二进制且不再调用 spake2p 生成新 verifier。 --aes128_key - 用于加密整个数据集的 128 位 AES 密钥。使用前请确认目标应用/板卡 持有私钥并实现了解密机制。 --date - 制造日期YYYY-MM-DD 格式 --part_number - 部件号字符串 --product_url - 产品 URL字符串 --product_label - 产品标签字符串 --serial_num - 序列号 --unique_id - 用于旋转设备 IDrotating device id生成的唯一 ID --product_finish - 产品可见表面处理 --product_primary_color - 产品可见部分代表色 --hw_params - 使用 Hardware Parameters 组件的应用工厂数据补充说明来自 custom.py 与 default.py 的实现细节字符串参数默认最大长度 32 字节其中ManufacturingDate为 16、HardwareVersionStr与ProductLabel为 64、ProductURL为 256生成时若超出会被断言拦截--product_finish的合法取值为[Other, Matte, Satin, Polished, Rugged, Fabric]--product_primary_color的合法取值有 21 种如Black、Blue、Red、Silver、Gold等编码时以 1 字节索引写入--dac_key若未加--dac_key_use_sss_blob会通过cryptography库将 DER 私钥解析并提取 32 字节原始私钥值写入--vid/--pid固定以 2 字节小端写入--hw_version同样为 2 字节其余整数参数默认 4 字节小端。5. 第三步将工厂数据写入设备 Flash根据目标 NXP 平台写入方式与目标地址各不相同平台工具命令说明mcxw71JLinkloadfile factory_data.bin 0xFE080NAmcxw72blhostwrite-memory 0x2002680 factory_data.bin工厂数据写入IFR0的 sector 1 预定偏移处此处地址已展开rw61xJLinkloadfile factory_data.bin 0xBFFF0000xBFFF000是对应.map文件中符号__FACTORY_DATA_START的值rt1060MCUXpresso Flash Tool GUINA地址由.map文件中__FACTORY_DATA_START符号给出rt1170MCUXpresso Flash Tool GUINA地址由.map文件中__FACTORY_DATA_START符号给出提示0x2002680这类地址会因构建/链接结果而变化请以实际.map文件中的__FACTORY_DATA_START符号值为准。6. 第四步构建应用与测试验证6.1 启用工厂数据构建时需显式启用工厂数据支持GN 构建在gn gen构建命令中加入参数nxp_use_factory_datatrueCMake 构建在构建命令中加入-DCONFIG_CHIP_FACTORY_DATAy或使用支持工厂数据的prj_flavour.conf配置文件。完整配置文件列表参见 docs/platforms/nxp/nxp_examples_freertos_platforms.md 的 “available project configuration files and platform compatibility” 一节。从 CMake 侧的桥接逻辑可以看到这些开关的对应关系config/nxp/chip-cmake-freertos/CMakeLists.txtmatter_add_gn_arg_bool(nxp_use_factory_data ${CONFIG_CHIP_FACTORY_DATA}) matter_add_gn_arg_bool(nxp_enable_secure_whole_factory_data ${CONFIG_CHIP_ENABLE_SECURE_WHOLE_FACTORY_DATA}) matter_add_gn_arg_bool(nxp_enable_secure_EL2GO_factory_data ${CONFIG_CHIP_ENABLE_EL2GO_FACTORY_DATA})即 GN 参数nxp_use_factory_data对应 Kconfig 的CONFIG_CHIP_FACTORY_DATA。此外 config/nxp/cmake/Kconfig.matter.nxp 中还提供了丰富的配套开关例如CONFIG_CHIP_PLAT_LOAD_REAL_FACTORY_DATA允许从 Flash 加载已烧录的工厂数据CONFIG_CHIP_DEVICE_PRODUCT_URL/CONFIG_CHIP_DEVICE_PRODUCT_LABEL/CONFIG_CHIP_DEVICE_PART_NUMBER以 Basic Information 集群属性暴露的产品 URL、标签、部件号CONFIG_CHIP_FACTORY_DATA_CUSTOM_BACKEND使用自定义工厂数据后端与默认 NXP 实现互斥。6.2 使用新 PAA 运行 chip-tool 验证由于设备端 DAC 是自签发的测试链controller 侧需要信任对应的 PAA 才能完成 attestation 校验。用--paa-trust-store-path指定 PAA 存放目录运行 chip-tool./chip-tool pairing ble-thread 2 hex: $hex_value 14014 1000 --paa-trust-store-path /home/ubuntu/certs/paa参数解释--paa-trust-store-path - 生成的 PAAder 格式所在路径注意paa-trust-store-path目录中只能放置 PAA 证书不要混入其他证书否则会干扰 chip-tool 的信任库解析。PAA 证书可通过 SCP 等方式复制到运行 chip-tool 的机器上。这一步仅用于测试自签 DAC 的场景若使用由生产级 PAI 签发的 DAC通常不需要显式指定 PAA。6.3 已知说明制造数据烧录的实现已使用OpenSSL 1.1.1l生成的测试证书完成验证启用工厂数据所需的示例 DAC、PAI、PAA 证书包含dut1/dut2两套 DAC位于 scripts/tools/nxp/demo_generated_certs 目录结构为dac/、pai/、paa/三个子目录便于快速搭建验证环境。7. 进阶安全方案保护 DAC 私钥量产场景中DAC 私钥是设备 attestation 信任链的根绝不能以明文形式暴露给攻击者。NXP 平台提供了两条基于安全子系统SSSSecure SubSystem的加固路径。7.1 方案一基于 EdgeLock 2GoEL2GO的云端安全烧录EdgeLock 2Go 服务可在制造阶段将 DAC key/cert 安全地预置到安全元件中。使用前需先按 NXP 的 EL2GO 流程AN14705生成 EL2GO 数据含加密的 DAC 私钥与证书的secure_objects.bin。随后在工厂数据生成命令中追加以下选项--EL2GO_bin ~/secure_objects.bin # 含加密 DAC 私钥与证书的 EL2GO 信息 --EL2GO_DAC_KEY_ID 0x40000 # EL2GO key 生成时选定的 DAC key ID --EL2GO_DAC_CERT_ID 0x40001 # EL2GO key 生成时选定的 DAC 证书 ID完整参考命令python3 ./scripts/tools/nxp/factory_data_generator/generate.py -i 10000 -s UXKLzwHdN3DZZLBaL2iVGhQi/OoQwIwJRQV4rpEalbA -p ${passcode} -d ${discriminator} --vid 0x$VID --pid 0x$PID --vendor_name NXP Semiconductors --product_name Thermostat --serial_num 12345678 --date $DATE --hw_version 1 --hw_version_str 1.0 --cert_declaration $FACTORY_DATA_DEST/Chip-Test-CD-$VID-$PID.der --EL2GO_bin ~/secure_objects.bin --EL2GO_DAC_KEY_ID 0x40000 --EL2GO_DAC_CERT_ID 0x40001 --pai_cert $FACTORY_DATA_DEST/Chip-PAI-NXP-$VID-$PID-Cert.der --spake2p_path ./out/spake2p --unique_id 00112233445566778899aabbccddeeff --out $FACTORY_DATA_DEST/factory_data.bin支持平台rw61x构建启用方式GN 构建在nxp_use_factory_datatrue基础上再以nxp_enable_secure_EL2GO_factory_datatrue构建 Matter 应用CMake 构建启用 Kconfig 的CONFIG_CHIP_ENABLE_EL2GO_FACTORY_DATA可写入支持工厂数据的prj_flavour.conf或在命令行加-DCONFIG_CHIP_ENABLE_EL2GO_FACTORY_DATAy。EL2GO 模式下密钥始终保持加密状态、只对 SSS 可用所有需要 DAC 私钥的操作都会被移交到 SSS 执行。仓库中还为 EL2GO 预置了 PSA 持久化 key ID 区间config/nxp/cmake/Kconfig.matter.nxpCHIP_CRYPTO_PSA_KEY_ID_EL2GO_BASE默认0x40000CHIP_CRYPTO_PSA_KEY_ID_EL2GO_END默认0x4FFFF与示例中的0x40000/0x40001ID 一致。7.2 方案二SSS 本地加密 blob无需 EL2GO对于具备安全子系统SSS的 NXP 平台可将 DAC 私钥转换为加密 blobblob 会覆盖工厂数据中的 DAC 私钥区域并在应用初始化时由工厂数据提供者FactoryDataProvider实例导入 SSS。支持平台mcxw71、rw61x在该架构下制造流程之外 DAC 私钥始终只能由 SSS 使用所有需要 DAC 私钥的操作都会被移交到 SSS。应用在初始化时会检查 DAC 私钥是否已转换若未转换则自动转换但出于安全考虑转换应在制造阶段完成。参考命令注意该示例未提供--dac_key应用会在运行时完成转换python3 ./scripts/tools/nxp/factory_data_generator/generate.py -i 10000 -s UXKLzwHdN3DZZLBaL2iVGhQi/OoQwIwJRQV4rpEalbA -p 14014 -d 1000 --vid 0x1037 --pid 0xA221 --vendor_name NXP Semiconductors --product_name Lighting app --serial_num 12345678 --date 2023-01-01 --hw_version 1 --hw_version_str 1.0 --cert_declaration ./Chip-Test-CD-1037-A221.der --dac_cert ./Chip-DAC-NXP-1037-A221-Cert.der --dac_key ./Chip-DAC-NXP-1037-A221-Key.der --pai_cert ./Chip-PAI-NXP-1037-A221-Cert.der --spake2p_path ./out/spake2p --unique_id 00112233445566778899aabbccddeeff --hw_params --out ./factory_data.bin此方案无需额外的二进制文件后续步骤为将工厂数据二进制写入设备 Flash构建应用GN 构建设置nxp_use_factory_datatrueCMake 构建加-DCONFIG_CHIP_FACTORY_DATAy或使用支持工厂数据的prj_flavour.conf完整列表见 docs/platforms/nxp/nxp_examples_freertos_platforms.md将应用烧录到板卡并正常使用。烧录后工厂数据中应包含加密 blob 而非 DAC 私钥明文。7.3 直接使用已转换的加密 blob如果已经通过其他途径得到了 DAC 私钥的加密 blob则无需再执行转换流程改用--dac_key_use_sss_blob选项此时--dac_key指向的是包含加密 blob 的二进制文件python3 ./scripts/tools/nxp/factory_data_generator/generate.py -i 10000 -s UXKLzwHdN3DZZLBaL2iVGhQi/OoQwIwJRQV4rpEalbA -p 14014 -d 1000 --vid 0x1037 --pid 0xA221 --vendor_name NXP Semiconductors --product_name Lighting app --serial_num 12345678 --date 2023-01-01 --hw_version 1 --hw_version_str 1.0 --cert_declaration ./Chip-Test-CD-1037-A221.der --dac_cert ./Chip-DAC-NXP-1037-A221-Cert.der --dac_key ./Chip-DAC-NXP-1037-A221-Key-encrypted-blob.bin --pai_cert ./Chip-PAI-NXP-1037-A221-Cert.der --spake2p_path ./out/spake2p --unique_id 00112233445566778899aabbccddeeff --dac_key_use_sss_blob --out ./factory_data_with_blob.bin请留意此例中--dac_key指向的是包含加密 blob 的二进制文件而非原始私钥。从源码看custom.py--dac_key_use_sss_blob会把文件原始内容blob 元数据 24 字节 32 字节私钥 56 字节直接作为 DAC 私钥字段写入不再进行 DER 解析。7.4 回退选项明文 DAC 私钥如需在无 SSS 的场景下直接使用明文 DAC 私钥rw61x 不支持可在 GN 构建中加入参数chip_use_plain_dac_keytrue该选项与 SSS 方案互斥仅在平台能力受限且接受私钥明文暴露于 Flash 的前提下使用。8. 制造数据生成全流程回顾阶段工具/操作产物准备gn gen outninja -C out chip-cert/spake2pchip-cert、spake2p可执行文件证书scripts/tools/nxp/generate_certs.pyPAA/PAI/DAC 证书与密钥、CDpem der工厂数据scripts/tools/nxp/factory_data_generator/generate.pyKLV 格式factory_data.bin明文或 AES 加密烧录JLink / blhost / MCUXpresso Flash Tool设备 Flash 中的工厂数据分区验证chip-tool--paa-trust-store-path配对与 attestation 验证通过9. 相关文档与源码索引制造数据流程主文档docs/platforms/nxp/nxp_manufacturing_flow.md证书生成脚本scripts/tools/nxp/generate_certs.py配套 shell 版本见 scripts/tools/nxp/generate_cert.sh工厂数据生成器scripts/tools/nxp/factory_data_generatorgenerate.py、default.py、custom.py示例证书scripts/tools/nxp/demo_generated_certsNXP 平台配置与 Kconfigconfig/nxp/cmake/Kconfig.matter.nxp、config/nxp/chip-cmake-freertos/CMakeLists.txt支持的示例平台指南docs/platforms/nxp/nxp_examples_freertos_platforms.md、docs/platforms/nxp/nxp_rw61x_guide.md、docs/platforms/nxp/nxp_mcxw72_guide.md、docs/platforms/nxp/nxp_se05x_guide.md【免费下载链接】connectedhomeipMatter (formerly Project CHIP) creates more connections between more objects, simplifying development for manufacturers and increasing compatibility for consumers, guided by the Connectivity Standards Alliance.项目地址: https://gitcode.com/GitHub_Trending/co/connectedhomeip创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进