wolfSSL入門 – Visual Studio 2022

Microsoft WindowsのVisual Studio 2022でwolfSSLを使い始めるのが、これまで以上に簡単になりました。

wolfssl/wolfcryptコアライブラリと、テストおよびベンチマークのためのサンプルプログラムの両方について、Visual Studio2022専用のプロジェクトとソリューションファイルを新たに作成しました。これらのファイルはGitHubからすぐに入手でき、最新のリリースに含めています。

後方互換性を確保するために、最新バージョンに更新可能な古いバージョンのVisual Studioもサポートしてきました。詳しくはこちらのページ(英語)をご覧ください。
今回Visual Studio 2022のために用意したファイルを使用すれば、手動での調整は必要ありません。プロジェクトファイルはすぐに使用できます。プロジェクトファイルを開いて実行ボタンをクリックするだけです。

早速、C:\workspaceディレクトリにGitHubから最新バージョンのwolfSSLをクローンします。

$ git clone https://github.com/wolfSSL/wolfssl

テストベンチマークのサンプルプログラムディレクトリには、vcxproj.userファイルも含んでいます。プロジェクトの作業ディレクトリをwolfSSLのルートレベルに指定することで、コンパイルされたバイナリを簡単に見つけることができます。

サンプルプログラムを実行するには、まずwolfCryptベンチマークディレクトリに移動します。

$ C:\workspace\wolfssl\wolfcrypt\benchmark

そして、Visual Studio 2022benchmark-VS2022.vcxprojプロジェクトまたはbenchmark-VS2022.slnソリューションファイルを開きます。

WSLも使用しているWindowsの開発者の場合、Visual StudioのgitステータスとWSLプロンプトでの結果が異なることがあります。これは、同じファイルシステムを共有している場合(例:C:\workspace/mnt/c/workspace)のWindows とLinux間でのファイル権限の扱い方の違いにより、テキストの変更がないのにVisual Studioがファイルの変更を検出してしまうことが原因です。

これを修正するには、以下のgitコマンドを使用します。

$ git config core.fileMode false

WSLプロンプトでコマンドを入力した時にVisual Studioが既に実行されていた場合は、再起動が必要かもしれません。

WindowsでwolfSSLを使用する場合、user_settings.hファイルを使用するのが一般的です。wolfssl/IDE/WINディレクトリでサンプルを提供しています。

wolfCrypt BenchmarkwolfCrypt Testアプリケーションもリファレンスコードとして使用できます。
例えば、benchmark.cファイルの冒頭にwolfSSLライブラリを使用する一般的なパターンを示しています。

#ifdef HAVE_CONFIG_H
    #include
#endif
#ifndef WOLFSSL_USER_SETTINGS
    #include
#endif
#include /* also picks up user_settings.h */

Cコンパイラのプリプロセッサ処理のため、WOLFSSL_USER_SETTINGSを定義することが重要です。

#include <wolfssl/wolfcrypt/settings.h>は、他のwolfSSLヘッダーをインクルードする前に記述する必要があります。
user_settings.hsettings.hファイルに含まれています。
user_settings.hは、他のソースコードヘッダーで明示的にインクルードしてはいけません。

ベンチマークとテストの例を超えて

プロジェクトにwolfsslライブラリを追加したい場合は、ソリューションファイルを右クリックして「追加 – 既存のプロジェクト…」を選択します。

wolfSSLソースコードのルートディレクトリに移動し、wolfssl-VS2022.vcxprojファイルをソリューションに追加します。

続いて、wolfsslライブラリを使用する各プロジェクトに参照を追加します。「参照」を右クリックし、「wolfssl」プロジェクトにチェックを入れてください。

プロジェクトのディレクトリ構造と相対的な位置によって、wolfsslソースコードヘッダーへのパスを追加のインクルードディレクトリに追加する必要があります。
一般的には、ルートディレクトリを指定します。

C:/workspace/wolfssl

そして多くの場合、IDE/Winディレクトリにある例のように、user_settings.hも同様に指定します。

C:/workspace/wolfssl/IDE/Win

プロパティページは以下のようになります。

これで完了です!
あとはプロジェクトをビルドして実行するだけです。

まもなく行う再編成について

Visual Studioのプロジェクトとソリューションファイルは、近々.\IDE\VS2010.\IDE\VS2022ディレクトリに移動する予定です。

現在他のディレクトリに散在しているFIPS関連のビルドは、まもなく新しい.\IDE-FIPSディレクトリに統合・移動する予定です。詳細はPR #8126をご参照ください。

詳細情報

ポスト量子

既存のプロジェクトに量子耐性を付加するには、こちらをご覧ください。

FIPS認証取得!

プロジェクトのNIST認証が必要でしたら、wolfSSLがお手伝いいたします。先日、NIST認証番号#4718で、世界初のFIPS 140-3自動提出を提供できることを発表しました。
詳細はプレスリリースをご覧ください。

ご質問がございましたら、ぜひ info@wolfssl.jp までお問い合わせください。

原文:https://www.wolfssl.com/getting-started-with-wolfssl-using-visual-studio-2022