Matter 規格の使用 - AWS Private Certificate Authority

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Matter 規格の使用

Matter 接続規格は、モノのインターネット (IoT) デバイスのセキュリティと一貫性を向上させる証明書構成を規定しています。Matter 準拠のルート CA、中間 CA、およびエンドエンティティ証明書を作成するための Java サンプルは AWS Private CA API を使用した Matter 規格の実装 (Java の例) にあります。

トラブルシューティングに役立つように、Matter 開発者は chip-cert という証明書検証ツールを提供しています。次の表に、ツールが報告するエラーとその対処方法を示します。

エラーコード 意味 修正

0x00000305

BasicConstraintsKeyUsageExtensionKeyUsage 拡張は「重要」とマークする必要があります。

ユースケースに適したテンプレートを選択していることを確認してください。

0x00000050

権限キー識別子拡張が存在している必要があります。

AWS Private CA は、ルート証明書に権限キー識別子拡張を設定しません。CSR を使用して Base64-encodedされたAuthorityKeyIdentifier 値を生成し、それを に渡す必要がありますCustomExtension。詳細については、「ノード運用証明書 (NOC) のルート CA を有効にします。」および「製品認証機関 (PAA) をアクティブ化する」を参照してください。
0x0000004E 証明書の有効期限が切れています。 使用する証明書の有効期限が切れていないことを確認してください。
0x00000014 証明書チェーンの検証に失敗しました。

このエラーは、提供された Java の例 を使用せずに Matter 準拠のエンドエンティティ証明書を作成しようとすると発生する可能性があります。この例では、 AWS Private CA API を使用して適切に設定された を渡します KeyUsage。

デフォルトでは、 は 9 ビットの KeyUsage 拡張値 AWS Private CA を生成し、9 番目のビットは余分なバイトになります。Matter はフォーマット変換中に余分なバイトを無視するため、チェーン検証が失敗します。ただし、APIPassthroughテンプレートCustomExtensionの を使用して、 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.pem および noc_converted.pem ファイルは、文字列比較ツールで確認されたものとまったく同じである必要があります。