ブログ連載始まります
wolfSSLでは初期の頃から、クライアントとサーバーのサンプルプログラムを提供してきました。これらのサンプルプログラムによって、さまざまな構成でwolfSSLを使用することがいかに簡単であるかお分かりいただけると思っています。これらサンプルプログラムはライブラリのテストにも使用します。何年にもわたって、サンプルプログラムにはTLSで利用できる新機能を追加してきました。その為段々大きくなりさらに複雑になってきています。以前にも、このブログでサンプルプログラムレポジトリについてお知らせしたことがありますが、その時点から多くのサンプルプログラムが追加されています。
GitHubのwolfSSL-examplesレポジトリを訪れてみてください。このレポジトリにはさまざまなタイプの接続をセットアップおよびテストするライアントとサーバーのサンプルプログラムが含まれています。 これらのクライアント/サーバーに加えて、特定のリアルタイムオペレーティングシステムと組み込みシステムおよびデバイス用のTCP / IPスタックを使用してwolfSSLを構築する方法、単純なエンクレーブを使用してwolfSSLライブラリとリンクする方法、証明書マネージャーやwolfCryptの公開鍵機能などのライブラリの一部の機能の使用方法なども含まれています。
サンプルアプリケーションはC言語で記述され、各ディレクトリは一意のトピック(TLS、DTLS、PSKなど)を表し、Makefileと特定のトピックに関する簡単なチュートリアルが含まれています。 wolfSSL-examples GitHubリポジトリは、wolfSSLライブラリに精通するための優れた方法であるため、この次のブログシリーズでは、このレポジトリに含まれる各トピック/ディレクトリを紹介します。取り上げるトピックの包括的なリストは次のとおりです。
android(Android NDKのサンプルプログラム)
このディレクトリには、Android NDKツールチェーンを使用して、AndroidプラットフォームでwolfSSLとwolfSSLJNIを使用する方法を示すサンプルプログラムが含まれています。
BTLE
このディレクトリには、Bluetooth Low Energy Link(BTLE)を保護するためのサンプルプログラムが含まれています。 BTLEパケットは小さく、スループットは低いため、これらのサンプルプログラムは、BTLEペアリングなしでデータを安全に交換する方法を示しています。
certfields(X509フィールド抽出)
このディレクトリには、wolfSSLを使用してDERでエンコードされた証明書を読み取り、公開鍵とサブジェクト名の情報を抽出するサンプルプログラムが含まれています。
certmanager(wolfSSL CertManager)
このディレクトリには、CertManager(Certificate Manager)機能の使用方法を示すサンプルプログラムが含まれています。
crypto(wolfCryptのサンプルプログラム)
このディレクトリには、wolfCrypt機能を使用してさまざまなアルゴリズム(AES、3DESなど)でファイルを暗号化する方法を示すサンプルプログラムが含まれています。
custom-io-callbacks(wolfSSLカスタムIOコールバック)
このディレクトリには、カスタムIOコールバックを使用して、任意のメディアを使用したTLS接続を容易にする方法を示すサンプルプログラムが含まれています。
DTLS(データグラムTLS)
このディレクトリには、DTLSを使うサンプルプログラムが含まれており、UDP、DTLS、ノンブロッキング、セッション再開、およびマルチスレッディングの使用例が示されています。
ecc(楕円曲線暗号)
このディレクトリには、wolfCrypt ECCのさまざまなユースケースを示すサンプルプログラムが含まれています。
embedded(組み込みシステム)
このディレクトリには、バッファを介して通信し、ソケットを使用するTLSクライアント/サーバーを示すサンプルプログラムが含まれています。
hash
このディレクトリには、wolfCryptを使用して入力ファイルをハッシュする方法を示すサンプルプログラムが含まれています。
java(wolfJSSEのサンプルプログラム)
このディレクトリには、wolfJSSEでのHTTPS URLの使用例とキーストアのサンプルプログラムが含まれています。
mynewt(Apache Mynewtのサンプルプログラム)
このディレクトリには、Apache Mynewt OSでwolfSSLを使用する方法を示すサンプルプログラムが含まれています。
picotcp(picoTCPのサンプルプログラム)
このディレクトリには、wolfSSLカスタムコールバックを介してpicoTCPを使用して作成されたTLSサーバーが含まれています。
pk(公開鍵)
このディレクトリには、さまざまなwolfCrypt公開鍵機能(生成後の鍵の保存と読み込み、秘密鍵からの公開鍵の抽出など)を示すサンプルプログラムが含まれています。
pkcs11(PKCS#11)
このディレクトリには、wolfSSLのPKCS#11機能の使用例と、PKCS11ベースのキーを使用したTLSサーバーのサンプルプログラムが含まれています。
pkcs7(PKCS#7)
このディレクトリには、wolfCryptPKCS#7 / CMSAPIの使用法を示すサンプルアプリケーションが含まれています。
PSK(事前共有キー)
このディレクトリには、PSKの使用例が含まれており、クライアントとサーバーの例では、TCP / IP、PSK、ノンブロッキング、セッション再開、およびマルチスレッドが示されています。
riot-os-posix-lwip(RIOT-OS)
このディレクトリには、RIOT-OSPOSIXソケット上でwolfSSLTLSソケットを使用する方法を示すサンプルプログラムが含まれています。
RT1060(i.MX RT1060-EVK)
このディレクトリには、i.MXRT1060-EVK用のwolfCryptベンチマークテストアプリケーションが含まれています。
SGX_Linux(Linuxエンクレーブ)
このディレクトリには、Cで記述されたサンプルアプリケーションが含まれています。これは、Linuxを使用してwolfSSL軽量SSL / TLSライブラリを単純なエンクレーブ(SGX)にリンクする方法を示しています。
SGX_Windows(Windowsエンクレーブ)
このディレクトリには、C ++で記述されたサンプルアプリケーションが含まれています。これは、Windowsを使用してwolfSSL軽量SSL / TLSライブラリを単純なエンクレーブ(SGX)にリンクする方法を示しています。
signature (署名と検証のサンプルプログラム)
このディレクトリには、wolfSSLを使用してバイナリデータに署名および検証する方法を示すサンプルプログラムが含まれています(署名用のRSAとECC、およびMD2、MD4、MD5、SHA、SHA224、SHA256、SHA384、SHA512をサポート)。
tirtos_ccs_examples(TI-RTOS)
このディレクトリには、TI-RTOSエコシステムでのwolfSSLの使用を示すクライアント/サーバーのサンプルプログラムが含まれています。
TLS
このディレクトリには、SSL / TLSの使用例が含まれており、クライアントとサーバーのサンプルプログラムでは、TCP / IP、SSL / TLS、ノンブロッキング、セッション再開、およびマルチスレッドが示されています。
utasker(uTasker wolfSSLサンプルタスク)
このディレクトリには、uTaskerスタックでwolfSSLを使用する方法を示すサンプルのuTaskerクライアントおよびサーバータスクが含まれています。これらはuTaskerシミュレータでテストされています。
wolfCLU(wolfSSLコマンドラインユーティリティ)
wolfCLUは、wolfCrypt暗号化ライブラリへのコマンドラインアクセスを提供するツールです。 wolfSSLコマンドラインユーティリティを使用すると、ユーザーはユーザー指定のファイルを任意のファイル名と拡張子で暗号化または復号できます。
ご質問は、info@wolfssl.jpまでお問い合わせください。テクニカルサポートについては、support@wolfssl.comにお問い合わせください。
原文:https://www.wolfssl.com/wolfssl-examples-repository-series/