「OpenSSL/プログラミングの基本/どういうケースで使うか?」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
どのようなケースでOpenSSLライブラリを使うべきか考えてみました。
ケース1から順に適用を検討してみて下さい。
OpenSSLは最後の手段にした方が良いかもしれません。
- ケース1:特に言語にはこだわらないが暗号やPKIプログラミングがしたい
-- オススメ:JavaでよければフリーのBouncyCastleやライセンスの比較的安いIAIKを使う方が簡単です。最も簡単なのはBouncyCastleとJythonを組み合わせて利用する方法です。
- ケース2:Windows環境で暗号やPKIプログラミングがしたい。
-- オススメ:.NET Frameworkを使うことをオススメします。とても簡単です。一部暗号の基本関数が不足している場合もあるかもしれませんが、その際にはBouncyCastleのC#のライブラリも検討してみてください。また、ASN.1構造の解析のためにOpenSSLを.NET環境で部分的に利用するケースもあるかもしれません。
- ケース3:Cで開発しなければならないが、わかり易い暗号ライブラリで
-- オススメ:AiCryptoは、比較的わかり易く実装できるWindowsでもUnixでも使える暗号ライブラリです。現在はメンテされていないので最新のアルゴリズムが含まれていない、メモリリーク、バグなど含まれたままになっているので、試作目的で簡単にという場合にはオススメします。
- ケース4:OpenSSLを使わざるを得ないがもう少し簡単にプログラミングしたい
-- オススメ:RubyやPerlのOpenSSLライブラリをオススメします。特にRubyをオススメします。コンパイルの手間からは開放されるでしょう。ただ、逆に問題が起きた場合に解決するのに逆に手間取るケースもあるかもしれません。
- ケース5:上のいずれにも当てはまらないケース
-- オススメ:仕方ないのでOpenSSLを使いましょう。