(一) Botan 简介
botan官网:http://botan.randombit.net/
Botan 是一个 C++ 的加密算法库,支持 AES, DES, SHA-1, RSA, DSA, Diffie-Hellman 等多种算法,支持 X.509 认证以及CRLs 和 PKCS #10
中文介绍:http://www.oschina.net/p/botan
实现的算法: http://botan.randombit.net/algos.html----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
(一) Botan 编译
下载:在 botan 官网主页点击如下链接进入下载页:
最新稳定版本:1.10.1
上一个稳定版本:1.8.13
Botan的编译需要python支持,某个版本的botan只能在某些版本的python上编译通过。(1) Linux 下编译
(i) 下载1.8.13源码,http://botan.randombit.net/files/Botan-1.8.13.tgz
解压,查看 configure.py 文件,确定在哪个版本的python下可以编译通过,1.10.1 在python-2.5以上才能编译,1.8.13 在python 2.4 可以编译。
例如 1.8.13 版本的configure.py 文件中这样写到:
Tested with CPython 2.4, 2.5, 2.6 - OK Jython 2.5 - Target detection does not work (use --os and --cpu) CPython 2.3 and earlier are not supported Has not been tested with IronPython or PyPy
(ii) 编译
步骤如下:
[root@glnode04 Botan-1.8.13]# python configure.py
[root@glnode04 Botan-1.8.13]# make install
命令执行完成之后,botan安装在 /usr/local 目录下:
/usr/local/lib 目录下是库文件,例如:libbotan-1.8.13.so,libbotan.a。
/usr/local/include/botan 目录下是头文件
/usr/local/bin 目录下有可执行文件 botan-config
编写程序时,直接使用 #include <botan/xxx.h>,gcc会自动到 /usr/local/include 中去寻找头文件。
编译时,直接加上 -lbotan,gcc会自动到 /usr/local/lib下查找库。
最后,在/etc/ld.so.conf文件加上/usr/local/lib,然后运行ldconfig,以便在运行时可以找到 botan 的动态链接库文件。
(2) Windows 下编译
Windows 下编译也比较简单,当然,首先必须安装Python。
若使用Visual Studio,强烈建议使用 Visual Studio 的命令行工具编译,如果直接在 dos 命令行编译,要设置很多环境变量,编译还容易出现问题。
(i) 下载1.8.13源码,http://botan.randombit.net/files/Botan-1.8.13.tgz
然后进行解压
(ii) 编译
参考官网编译说明
官网说到:
On MS Windows If you don’t want to deal with building botan on Windows, check the website; commonly prebuilt Windows binaries with installers are available, especially for stable versions. You need to have a copy of Python installed, and have both Python and your chosen compiler in your path. Open a command shell (or the SDK shell), and run: > python configure.py --cc=msvc (or --cc=gcc for MinGW) [--cpu=CPU] > nmake > nmake check # optional, but recommended > nmake install For Win95 pre OSR2, the cryptoapi_rng module will not work, because CryptoAPI didn’t exist. And all versions of NT4 lack the ToolHelp32 interface, which is how win32_stats does its slow polls, so a version of the library built with that module will not load under NT4. Later versions of Windows support both methods, so this shouldn’t be much of an issue anymore. By default the install target will be C:\botan; you can modify this with the --prefix option. When building your applications, all you have to do is tell the compiler to look for both include files and library files in C:\botan, and it will find both. Or you can move them to a place where they will be in the default compiler search paths (consult your documentation and/or local expert for details).
> python configure.py --cc=msvc > nmake > nmake check # optional, but recommended > nmake install
最后编译生成的头文件和库文件位置是:C:\botan.
(iii) 在 VS 中使用 botan
工具 --> 选项 --> 项目和解决方案 --> VC++目录
加入以下内容:
1) Include File: C:\botan\include
2) Library Files:C:\botan
右键项目,属性,选择debug, 链接器,输入,附加依赖项目中填入 botan.lib