Mbed TLS は、さまざまなプラットフォームでオンザフライで構築できるはずです。ただし、プラットフォーム固有の設定を微調整したり、構築される機能セットをカスタマイズしたりする必要がある場合があります。これらすべてを 1 つの構成ファイルで実行できます。
設定ファイル
デフォルトの設定ファイルはここにありますinclude/mbedtls/mbedtls_config.h
( include/mbedtls/config.h
Mbed TLS 2.28)。これは完全に文書化されており、次のセクションが含まれています。
-
System Supportのプラットフォームに応じてオプションを選択してください: コンパイラはインライン アセンブリをサポートしていますか、libc/network スタックは IPv6 を提供していますか、など。
-
Mbed TLS 機能のサポートで対応するモジュールに対して有効にする機能を選択します: サポートされる TLS バージョン、交換されるキー、特定の楕円曲線など。
-
ビルドするモジュールMbed TLS moduleを選択します。たとえば、RSA または MD5 が必要ない場合は、それらを完全に無効にすることができます。
-
モジュール構成オプションで、多倍長整数の最大サイズや SSL の内部 I/O バッファーのサイズなど、モジュールごとに特定のオプションを設定します。これらすべてのオプションにはデフォルト値があります。
配置脚本
任意のテキスト エディタを使用して、構成ファイルを手動で編集できます。ただし、場合によっては、よりプログラム的な方法でオプションを設定すると便利な場合があります。scripts/config.py
このためのPython スクリプトが用意されています。 scripts/config.py unset <name> scripts/config.py set <name> [<value>]
このconfig.py
スクリプトは、mbedtls_config.h
Mbed TLS のルートからこの方法で実行されると、ファイルを自動的に見つけます。別のディレクトリまたは別のプロファイル (以下を参照) から実行する場合は、-f
オプションを使用する必要があります。
代替プロファイル
アプリケーションのカスタム構成ファイルを Mbed TLS ソース ツリーの外部に保持したい場合があります。これを行うには、マクロを定義して、MBEDTLS_CONFIG_FILE
コンパイル時に目的のファイル名 (引用符または山かっこを含む) を取得します。たとえば、makeの場合: CFLAGS="-Ipath/to/config - DMBEDTLS_CONFIG_FILE='<my_config.h>'" make
または、Cmakeの場合:
-
初めて実行していない場合は、実行する前に:キャッシュをクリアします。
探す 。-iname '*cmake*' -not -name CMakeLists.txt -exec rm -rf {} + CFLAGS="-Ipath/to/config -DMBEDTLS_CONFIG_FILE='<my_config.h>'" cmake . 作る
Mbed TLS 2.2x のみ:構成ファイルの整合性をチェックするファイルを提供しますcheck_config.h
。include
カスタム構成ファイルの最後に配置することを強くお勧めします。include
上記の設定を使用する場合、コンパイラに応じてディレクティブを調整する必要がある場合があります。( Mbed TLS 3.0 以降はcheck_config.h
自動的に含まれます。)
構成例
configs
ディレクトリに構成例が用意されています。これらは通常、プロファイリングのサポートなど、特定の目標のための最小構成ですNSA suite B TLS
。また、リソースの使用量を減らすために、通常は次の設定も含まれます。
オリジナル