C++の応用 - ハッシュ
ナビゲーションに移動
検索に移動
概要
Botanライブラリ
Botanライブラリとは
Botan(牡丹の花)は、2条項BSDライセンスでリリースされたC++暗号化ライブラリである。
Botanは、TLSプロトコル、X.509証明書、最新のAEAD暗号、PKCS#11とTPMハードウェアのサポート、パスワードハッシュ、ポスト量子暗号スキーム等、
C++における暗号技術実用的なシステムを実装するために必要なツールを提供している。
また、Pythonバインディングも含まれており、他の言語バインディングも利用できる。
Botanライブラリには、機能豊富なコマンドラインインターフェイスが付属している。
Botanライブラリに含まれている機能の詳細を知りたい場合は、公式ドキュメントを参照すること。
Botanライブラリのインストール
パッケージ管理システムからインストール
# RHEL sudo dnf install botan-devel # SUSE sudo zypper install libbotan-devel
ソースコードからインストール
Botanライブラリのビルドは、Pythonスクリプトのconfigure.pyファイルにより制御されている。
そのため、Python 3以降が必要となる。
Botanライブラリの公式Webサイトにアクセスして、ソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。
tar xf Botan-<バージョン>.tar.xz cd Botan-<バージョン>
または、BotanライブラリのGithubからソースコードをダウンロードする。
git clone https://github.com/randombit/botan.git cd botan
Botanライブラリをビルドおよびインストールする。
外部依存を必要とするためにスキップされるものは、明示的に要求する必要がある。 (例えば、Zlibのサポートを有効にするには、configure.pyに--with-zlib
オプションを付加する)
利用可能なモジュールは、--list-modules
オプションを付加して、表示することができる。
./configure.py --cc=gcc --cc-bin=<GCC 11以降のGCC> \ --prefix=<Botanライブラリのインストールディレクトリ> \ --with-build-dir=<Botanライブラリのビルドディレクトリ> \ --with-zlib \ # Zlibを有効にする場合 --with-lzma \ # LZMAを有効にする場合 --with-bzip2 \ # Bzip2を有効にする場合 --with-sqlite3 # SQLite3を有効にする場合 make -j $(nproc) make install