ESP デバイスの複数証明書管理を実装するにはどうすればよいですか?

  • 証明書ファイルを保存する特定のパーティションを設定する
  • 複数の証明書ファイルの管理
  • 証明書形式の変換
  • 証明書をフラッシュにダウンロードする
  • 対応する証明書ファイルを使用する

1. 証明書ファイルを保存する特定のパーティションを設定します。

次のように、プロジェクト パーティション テーブル ファイルで証明書ファイル パーティションを定義します。

ここに画像の説明を挿入

  • 上記のように、変換されたcertificate.binダウンロードアドレスは、0x41000
  • 証明書ファームウェアのサイズは です300 KB。パーティションが重複しないようにする必要があり、bin ファイルのサイズがフラッシュ サイズ設定を満たしていることを確認する必要があります。

2. 複数の証明書ファイルの管理

  • 顧客プロジェクトの下にカスタマイズされたフォルダーを作成します
  • カスタマイズされたフォルダー ディレクトリに証明書フォルダーとcertificate.csv ファイルを作成します。
  • certificateさまざまな証明書ファイルがフォルダーの下に保存されます (例server_ca.crt: 、、server_cert.crt)。server.key
  • certificate.csv[ファイル]で、さまざまな証明書のファイル パスを次の形式で指定します。
key,type,encoding,value
server_cert,namespace,,
server_cert,file,binary,E:\esp\test\customized\server_cert\server_cert.crt
server_key,namespace,,
server_key,file,binary,E:\esp\test\customized\server_key\server.key
server_ca,namespace,,
server_ca,file,binary,E:\esp\test\customized\server_ca\server_ca.crt

ここに画像の説明を挿入

管理対象としてサポートされているファイル タイプについては、「CSV ファイル形式の説明」を参照してください。

  • ストレージの種類が異なると、異なる設定を行う必要がありますEncoding
    ここに画像の説明を挿入

3. 証明書形式の変換

E:\esp\test\customized\certificate.csvファイルをcertificate.bin形式に変換します

NVS スクリプト ツールの使用方法については、「NVS パーティション ジェネレーター」を参照してください。

コマンドは次のとおりです。

python nvs_partition_gen.py generate E:\esp\test\customized\certificate.csv certificate.bin 0x4B000

0x4B000変換された bin ファイルのサイズです

ここに画像の説明を挿入


4. 証明書をフラッシュにダウンロードします。

パーティション テーブルが上記で設定されているため、変換されたcertificate.binダウンロードアドレスは となり0x41000、Flash ダウンロード ツールを直接使用してcertificate.binファイル

  • 新しい証明書ファイルを置き換える必要がある場合は、対応するE:\esp\test\customized\certificateフォルダー、nvs_partition_gen.pyスクリプト ツールを使用して証明書ファイル形式を bin ファームウェアに変換するだけです。
  • 新しい証明書をプロジェクトに配置し、プロジェクトを再コンパイルして証明書ファームウェア (bin ファイル) を取得する必要はありません。

5. 対応する証明書ファイルを使用します。

アプリケーションで証明書ファイルを使用する必要がある場合は、nvs_open_from_partition API を使用して証明書ファイルを取得し、対応するパラメータは次のように設定されます。

ここに画像の説明を挿入

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/Marchtwentytwo/article/details/130970605