ソケットを使用して安全なネットワーク/クライアント通信を実装しようとしています。その方法に関する情報を見つけるのに苦労しています。そこにあると思われるのは OpenSSL だけですが、ライブラリの使い方は非常に複雑なようです。
安全で使いやすいライブラリはありますか? そうでない場合、安全なプログラミングを開始するための適切なドキュメントは何ですか。
ソケットを使用して安全なネットワーク/クライアント通信を実装しようとしています。その方法に関する情報を見つけるのに苦労しています。そこにあると思われるのは OpenSSL だけですが、ライブラリの使い方は非常に複雑なようです。
安全で使いやすいライブラリはありますか? そうでない場合、安全なプログラミングを開始するための適切なドキュメントは何ですか。
暗号化には複数のライブラリが存在します。OpenSSL が複雑であると言っていない場合は、OpenSSL を強くお勧めします。しかし、あなたの場合は、
CryptoPP
の API スタイルとプログラミング パラダイムに慣れるのに少し時間がかかることをお勧めします。しかし、あなたは最終的にそれを望んでいます。幅広い対称および非対称アルゴリズムを非常に柔軟に提供します。高レベルの概要とサンプル コードを見つけることができます。プロジェクトに簡単に統合できるライブラリです。複数のプラットフォームに移植できます。
LibTomCrypt
TomCrypt は軽量でシンプルです。品質に関しては、TomCrypt は最高品質の暗号化として広く受け入れられています。また、ライセンスはパブリック ドメインであるため、商用ソフトウェアを作成する際に BSD ライセンスによって生じるドキュメンテーションの帰属の問題を回避できます。
Crypto++
も非常に評判の良いライブラリ
です。これらのライブラリと、
Google の KeyCZar、botan 、およびCapicomをご覧ください。
この回答がお役に立てば幸いです:)
Boost.Asioは、OpenSSL の低レベル関数の一部を抽象化します:例
注意が必要であり、実際には安全なシステムを持っていないのに、安全なシステムを持っていると思いがちです。OpenSSL を使用するだけでは、セキュリティは保証されません。正しく使用する必要があります。