私のものはいくつかのコンポーネントで構成されており、その中には C で書かれたものもあります。セキュリティ機能を追加したいので、SSL/TLS レイヤーで通信することを考えています。
(可能であれば)これを行うための良いライブラリを教えてもらえますか?
OpenSSLはどうですか?
サーバー (.NET) と組み込みシステム (Linux および uClinux) の両方でうまく機能するaxTLSを使用しています。uClinux で OpenSSL をうまく動作させるには問題がありました。
axTLS はまだ OpenSSL ほど機能が充実していないため、使用する前に要件を満たしていることを確認してください。
アプリに SSL 機能を実装しようとして時間を費やさないことをお勧めします。代わりに、既存のソケット アプリケーションの前に SSL トンネルを作成する既存の SSL トンネル ソフトウェアを使用することもできます。
Internet --- [SSLTunnel] --- Your App
たとえば、SSL トンネルにポート 443 (https) でリッスンし、復号化されたすべてのパケットをポート 80 (http) に転送するように指示できます。カスタム アプリケーションの場合、復号化されたパケットのみが表示されます。
それを行う無料のアプリはたくさんあります。グーグルで検索してください。
CyaSSL は検討するのに最適な選択肢です。これは C で書かれた組み込み SSL ライブラリで、速度とサイズが最適化されています。OpenSSL よりも最大 20 分の 1 に小さくすることができ、かなり高速にすることもできます。
機能リストの中には、30 ~ 100kb の最小サイズと OpenSSL 互換レイヤーがあります。完全な機能リストは、次の yaSSL Web サイトにあります。
http://www.yassl.com/yaSSL/Products_cyassl.html .
オープン ソース GPLv2 と商用ライセンス (サポート用) の下でデュアル ライセンスが付与されています。新しい機能で非常に頻繁に更新されます。クールな機能の 1 つは、eStream プロジェクトの RABBIT および HC-128 ストリーム暗号のサポートだと思います。