使用 Matter 标准 - Amazon Private Certificate Authority
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Matter 标准

Matter 连接标准规定了可提高物联网(IoT)设备安全性和一致性的证书配置。有关创建符合 Matter 标准的根 CA、中间 CA 和终端实体证书的 Java 示例,请访问 使用 Amazon 私有 CA API 实现 Matter 标准(Java 示例)

为了帮助进行故障排除,Matter 开发人员提供了一种名为 chip-cert 的证书验证工具。下表列出了此工具报告的错误以及修正措施。

错误代码 含义 修复

0x00000305

BasicConstraintsKeyUsage、和 ExtensionKeyUsage 扩展必须标记为重要。

确保为使用案例选择正确的模板。

0x00000050

必须存在授权密钥标识符扩展。

Amazon 私有 CA 不在根证书上设置授权密钥标识符扩展名。必须使用 CSR 生成一个 Base64 编码的AuthorityKeyIdentifier 值,然后将其传递给。CustomExtension有关更多信息,请参阅 激活节点操作证书 (NOC) 的根 CA。激活产品认证机构 (PAA)
0x0000004E 证书已过期。 确保您使用的证书未过期。
0x00000014 证书链验证失败。

如果您在不使用所提供的 Java 示例的情况下尝试创建符合 Matter 的最终实体证书,则可能会遇到此错误,这些示例使用 Amazon 私有 CA API 来传递正确配置的。 KeyUsage

默认情况下, Amazon 私有 CA 生成九位 KeyUsage 扩展值,第九位生成一个额外的字节。在格式转换期间,Matter 会忽略额外的字节,导致链验证失败。但是,APIPassthrough模板CustomExtension中的 a 可用于设置KeyUsage值中的确切字节数。有关示例,请参阅创建节点操作证书 (NOC)

如果您修改示例代码或使用 OpenSSL 等其他 X.509 实用程序,则需要执行手动验证以避免链验证错误。

验证转换是否无损
  1. 使用 openssl 验证节点(终端实体)证书是否包含有效的链。在此示例中,rcac.pem 是根 CA 证书,icac.pem 是中间 CA 证书,而 noc.pem 是节点证书。

    openssl verify -verbose -CAfile <(cat rcac.pem icac.pem) noc.pem
  2. 使用 chip-cert 将 PEM 格式的节点证书转换为 TLV(标签、长度、值)格式,然后再次转换回来。

    ./chip-cert convert-cert noc.pem noc.chip -c ./chip-cert convert-cert noc.chip noc_converted.pem -p

    文件 noc.pemnoc_converted.pem 应与字符串比较工具确认的完全相同。