wolfSSLではビルドのコンフィギュレーションに使用できるようにuser_settings.hのサンプルを数多く用意しています。
Autotoolsを利用できないユーザー、カスタムIDEを使ってビルドしたいユーザー、またはヘッダーファイルでwolfSSLのビルドコンフィグレーションをトラックしたり管理したいユーザー向けにカスタムuser_settings.hの使用をお勧めしています。wolfSSLのソースファイルをコンパイルする際に、”WOLFSSL_USER_SETTINGS”が定義されていると、wolfSSLはuser_settings.hを自動的にインクルードします。Autotoolsを使用する場合には、”–enable-usersettings”コンフィグレーションオプションを指定することで”WOLFSSL_USER_SETTINGS”を定義することができます。user_settings.hファイルはユーザーが作成しインクルードパスに配置する必要があります。ユーザーはwolfSSLのビルド設定をこの一つのファイルで維持できるようになります。
user_settings.hファイルの設定例がwolfSSLリポジトリ:https://github.com/wolfSSL/wolfssl/tree/master/examples/configsに用意してあります。下記にリストアップしました:
- user_settings_template.h: #if 0 ロジックを使用してモジュール化されたアルゴリズム機能を選択できるテンプレート
- user_settings_all.h: すべての機能を有効にしたwolfSSLを構成する設定例です。”./configure –enable-all”と同等です。
- user_settings_min_ecc.h: ECCとSHA-256のみを有効にしている例です。ECC検証の場合はBUILD_VERIFY_ONLYのみを追加してください。
- user_settings_wolfboot_keytools.h:これは wolfBoot ツール/キーツールからのもので、ECC、RSA、ED25519、および ChaCha20を有効にしてある例です。
- user_settings_fipsv2.h: FIPS v2 (3389) 140-2 証明書ビルド オプション。
- user_settings_fipsv5.h: FIPS v5 (ready) 140-3 ビルド オプション。 ./configure –enable-fips=v5-dev と同等です。
- user_settings_stm32.h: wolfSSL STM32 Cube パックから生成された設定ファイルの例です。
これらの設定例を使用するには:
1.ローカル プロジェクトにコピーし、名前を user_settings.h に変更します。作成したuser_settings.hを配置したフォルダをインクルードパスに追加します。
2.プロジェクトにプリプロセッサ マクロ WOLFSSL_USER_SETTINGS を追加します。
3.アプリケーションの他の wolfSSL ヘッダーの前に #include <wolfssl/wolfcrypt/settings.h> を含めてください。
wolfSSL 組み込み SSL/TLS ライブラリは、TLS 1.3 および DTLS 1.3 までをサポートし、FIPS 140-2 および DO-178C 用の認定バージョンの wolfCrypt を提供しています。