wolfSSLライブラリは、その黎明期からクライアントとサーバーのサンプルプログラムを一緒に提供してきました。サンプルプログラムはさまざまな構成でwolfSSLを使用することが簡単であることを示してきました。また、サンプルプログラムはwolfSSLライブラリのテストにも使用します。TLSの新機能を何年にもわたっサンプルプログラムに追加してきたので少々複雑になってきていますが、ぜひ GitHubのwolfSSLサンプルプログラムリポジトリを覗いてみてください。
サンプルプログラムはあえてwolfSSLライブラリの使用経験がほとんどない、もしくは全くない、インターン学生の何人かにアサインし、彼らが作成したものです。様々な接続を設定、テストするサンプルクライアントとサンプルサーバーです。クライアント、またはサーバーをセットアップしwolfSSLライブラリを利用するシンプルなデモンストレーションになっています。また、証明書マネージャーなど、ライブラリのいくつかの機能の使用方法を示すサンプルプログラムもあります。 リポジトリには、C言語で記述されたサンプルアプリケーションがあり、接続をセキュアにするためのwolfSSL SSL/TLSライブラリの使用方法をデモンストレーションしています。ディレクトリはトピック毎に分かれており(SSL / TLS、DTLS、PSKなど)、Makefileとそのトピックに関する簡単なチュートリアルを含んでいます。
現在のサンプルプログラム:
-
utasker(uTasker wolfSSL サンプルタスク)
このディレクトリにはuTaskerスタックとしてwolfSSLを利用するuTaskerクライアントとサーバータスクが含まれています。これらはuTaskerシミュレーターでテスト済みです。詳細と使用方法はをuTasker/README.mdを参照ください。
-
android (Android NDK サンプルプログラム)
このディレクトリにはwolfSSL、wolfSSLJNI とAndroid NDK ツールチェーンを使って, Androidプラットフォーム上で動作させるサンプルプログラムを含んでいます。詳細と使用方法はをandroid/README.mdを参照ください。
-
certfields (X509 フィールド抽出)
このディレクトリにはwolfSSL を使ってDERエンコードされた証明書を読み出して公開鍵とサブジェクト名を抽出するサンプルプログラムを含んでいます。詳細と使用方法はcertfields/README.mdを参照ください。
-
certmanager (wolfSSL CertManager)
このディレクトリにはwolfSSL CertManager( Certificate Manager)機能を使うサンプルプログラムを含んでいます。詳細と使用方法はをcertmanager/README.mdを参照ください。
-
wolfCLU (wolfSSL コマンドラインユーティリティ)
wolfCrypt暗号化ライブラリにアクセスするためのコマンドラインツールです。このコマンドラインユーティリティを使ってユーザが指定したファイルを暗号化/復号できるようになります。その際のファイル名と拡張子は任意に指定することができます。詳細と使用方法はをclu/README.mdを参照ください。ファイル拡張子をユニークにできる機能は文字通りwolfSSL CLUの持つユニークな機能です。この機能はファイルに対するブルートフォース攻撃を行う自動化ツールに対抗するために設けられたものです。セキュリティ機能を向上させるわけではありませんが、攻撃者が攻撃の都度ファイルヘッダ情報をチェックせざるを得なくなるのでフラストレーションと余計なステップを必要とさせる効果があります。
このディレクトリにはDTLSを使うクライアントとサーバのサンプルプログラムを含んでいます。このサンプルプログラムはUDP、DTLS、ノンブロッキングソケット、セッション再開とマルチスレッディングをデモンストレーションします。このサンプルプログラムをコンパイルする際には下記のようなコンフィギュレーションオプションが必要です:
$cd wolfssl-[version] $./configure --enable-dtls
さらにビルドは、
$cd ./dtls $make
このディレクトリにはPSKを使うクライアントとサーバのサンプルプログラムを含んでいます。このサンプルプログラムはTCP/IP、PSK、ノンブロッキングソケット、セッション再開とマルチスレッディングをデモンストレーションします。このサンプルプログラムをコンパイルする際には下記のようなコンフィギュレーションオプションが必要です:
$cd wolfssl-[version] $./configure --enable-psk
さらにビルドは、
$cd ./psk $make
このディレクトリにはSSL/TLSを使うクライアントとサーバのサンプルプログラムを含んでいます。このサンプルプログラムはTCP/IP、SSL/TLS、ノンブロッキングソケット、セッション再開とマルチスレッディングをデモンストレーションします。
サンプルプログラムのビルドは下記のように行ってください:
$cd ./tls $make
このディレクトリはBluetooth Low Energy Link(BTLE)をセキュアにするサンプルプログラムを含んでいます。BTLE パケットは、サイズが小さくスループットも低いのですが、サンプルプログラムはBTLE ペアリングなしで安全にデータ交換する方法をデモンストレーションします。
ノート:
サンプルプログラムは必要に応じて./certsディレクトリにあるサンプル証明書や鍵を使います。この証明書や鍵はメインのwolfSSLレポジトリから取り込まれます。
ご質問は、info@wolfssl.jpまでお問い合わせください。テクニカルサポートについては、support@wolfssl.comにお問い合わせください。