Repolode
Mbed-TLS

Mbed-TLS/mbedtls

組み込みシステムに適した、X.509証明書とTLS・DTLSを実装する小型で移植性の高いCライブラリ。

スター
7,008
フォーク
2,990
未解決の Issue
1,748
最終コミット
3 日前

これは何?

Mbed TLSは、X.509証明書の操作とTLS・DTLSプロトコルに対応するCライブラリです。コードサイズが小さいため、リソースが限られた組み込みシステムに適しています。

このプロジェクトには、PSA Cryptography APIの実装を提供するTF-PSA-Cryptoリポジトリも含まれています。設定はヘッダーファイルを直接編集するか、Pythonスクリプトを使って行えます。また、特定の用途向けの設定例も用意されています。

ビルドにはCMakeを使用し、暗号、X.509、TLSの各レイヤーについて個別のライブラリを生成します。サンプルプログラム、充実したテストスイート、Doxygenで生成できるドキュメントも含まれています。

主な機能

  • 01TLS・DTLSプロトコルとX.509証明書の処理を実装。
  • 02TF-PSA-Cryptoを通じてPSA Cryptography APIの実装を提供。
  • 03ヘッダーファイルまたはPythonスクリプトでコンパイル時に設定可能。
  • 04CMakeでビルドでき、共有ライブラリと静的ライブラリを選択可能。
  • 05サンプルプログラムと、実行にPythonが必要なテストスイートを同梱。

ユースケース

  • マイクロコントローラーなどの組み込みデバイスのファームウェアにTLS暗号化を追加する。
  • 証明書の解析とセキュアなネットワーク接続が必要なCまたはC++アプリケーションを開発する。
  • フットプリントに制約のある製品に、PSA準拠の暗号機能を組み込む。

クイックスタート

  1. 1

    クローン後にサブモジュールを初期化する

    git submodule update --init --recursive
  2. 2

    ビルドディレクトリを作成し、CMakeで設定する

    mkdir /path/to/build_dir && cd /path/to/build_dir cmake /path/to/mbedtls_source
  3. 3

    ライブラリをビルドする

    cmake --build .
  4. 4

    テストスイートを実行する

    ctest

使う前に知っておきたいこと

  • テストスイートの実行にはPythonが必要です。また、一部の生成ファイルにはPerlとPythonパッケージが必要です。
  • 開発ブランチからビルドする場合は、まずgitサブモジュールを初期化する必要があります。

トピック

よくある質問

mbedtls とは?
組み込みシステムに適した、X.509証明書とTLS・DTLSを実装する小型で移植性の高いCライブラリ。 Mbed TLSは、X.509証明書の操作とTLS・DTLSプロトコルに対応するCライブラリです。コードサイズが小さいため、リソースが限られた組み込みシステムに適しています。
mbedtls は無料で使えますか?ライセンスは?
mbedtls は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
mbedtls は今もメンテナンスされていますか?
活発にメンテナンス中。mbedtls の最終コミットは 2026年10月16日 です。
mbedtls は何に使えますか?
マイクロコントローラーなどの組み込みデバイスのファームウェアにTLS暗号化を追加する。 証明書の解析とセキュアなネットワーク接続が必要なCまたはC++アプリケーションを開発する。 フットプリントに制約のある製品に、PSA準拠の暗号機能を組み込む。
mbedtls のインストール方法は?
クローン後にサブモジュールを初期化する: git submodule update --init --recursive ビルドディレクトリを作成し、CMakeで設定する: mkdir /path/to/build_dir && cd /path/to/build_dir cmake /path/to/mbedtls_source ライブラリをビルドする: cmake --build . テストスイートを実行する: ctest
mbedtls はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/Mbed-TLS/mbedtls

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト