PBC library安装

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27855219/article/details/70139590

Win7 32位系统下PBC库的安装

  • PBC库(pairing-based cryptography library)是斯坦福大学研究人员开发的一个免费的可移植的C语言库。它通过一个抽象的接口,是程序员不必考虑具体的数学细节,甚至不必考虑椭圆曲线和数论的相关知识就可以实现基于配对的密码体制。PBC库是建立在GMP库之上。GMP库是一个任意精度算术库,可以对带符号整数和浮点数进行操作。

一、安装环境:

1、操作系统:Windows 7  32位

2、C++编译器:VC++ 6.0

二、下载:

1.下载ActivePerl5.20.3.2003(其他版本也可以):

配置过程中需要生成一些mak文件,这些生成代码用perl脚本生成,所以要安装一个ActivePerl。只要按照Windows下一般程序的安装步骤进行即可。官方下载地址为http://www.activestate.com/activeperl/downloads/

关键的一步:(记住安装路径,我是装在C盘根目录下)

2、下载 openssl-0.9.8k(最好是不太新的版本)并解压。

下载地址: http://www.openssl.org/source/

我用的是openssl-0.9.8k版本,解压到c盘根目录。

三、测试与配置

 1、安装好了perl以后,需要对我们安装的perl 测试。

   (我的安装目录为C:\perl\)Windows+R 运行cmd 命令,使用cd命令指向perl安装目录的eg文件夹,执行“perl example.pl”若

显示“Hello from ActivePerl!”,则说明Perl安装成功,可以开始使用Perl的相关命令来进行OpenSSL的安装了,如下图:

这里很可能出现“perl不是内部命令”,

解决办法:计算机右键——>属性——>高级系统设置——>境变量

如果是下图这样:

请修改为:(将C:\perl下的bin移到最前),回到perl的eg目录下 输入 perl example.pl,正常显示Hello from ActivePerl!

(Note:如果你想看看原始的INSTALL文件,那么请打开OpenSSL的解压缩目录,下面有两个文件INSTALL.W32INSTALL.W64,用记事本方式打开,你可以看到详细的关于安装的解释~~~~)

 2、安装openssl

    参考openssl目录下的install.win32说明进行安装

 1)初始化VC++ 6.0环境变量(找到vc++ 6.0的安装目录下的\VC98\Bin\执行如下的命令):DOS窗口转到..\VC98\bin目录(就是VC或VS对应的目录,你电

脑可能有差异),执行vcvars32.bat以配置环境变量.成功后显示如下:

   (2)执行Configure命令(配置编译参数):进入openssl源码目录,cd c:/openssl-0.9.8.k,执行perl Configure VC-WIN32

   (3)在c:/openssl-0.9.8k目录下,运行ms\do_ms命令(在使用Configure脚本配置好参数之后):

另外两种方式 如果使用也必须保证本机安装有相应的编译器才能使用。

 :ms\do_masm(默认vc自带的;也可以自己下载masm并安装)
 :ms\do_nasm(需要下载nasm)

   (4)在c:/openssl-0.9.8k目录下,编译动态链接库,运行“nmake -f ms\ntdll.mak”命令进行代码编译(需将目录跳到OpenSSL目录下)

如果编译成功,最后的输出(动态库)都在out32dll目录下:包括可执行文件、两个dll和两个lib文件: libeay32.dll, libeay32.lib, ssleay32.dll, ssleay32.lib;把他们放到PATH环境变量对应的一个目录里就可以了。静态库libeay32.lib和ssleay32.lib位于out32文件夹下。

可能会缺少“ml.exe”,可下载masm,解压到c盘根目录,并把其中的ml.exe拷贝至C:\Program Files\Microsoft Visual Studio\VC98\Bin下即可。这个网址http://blog.fishc.com/602.html里有6.15版本的masm(版本别太高,我用的这个版本,与openssl-0.9.8k配合)。

这里要特别强调一下,这种方法生成的是动库链接库, 也就是我们的应用工程如果要使用openssl, 编译时要指定lib文件,程序发布时要用到相应的dll。

  (5)测试使用命令“nmake -f ms\ntdll.mak test”,最后出现“pased all test”则成功

  (6)最后再运行“nmake -f ms\ntdll.mak install”

  (7)最后成功后,还要配置VC++6.0下的相关参数,为VC添加头文件和静态链接库路径。

  • 选择VC++ 6.0的工具->选项->目录(Tools->Option->Directores),弹出Options对话框,在Include files中增加C:\openssl-0.9.8k\include目录;在Libray files中增加C:\openssl-0.9.8k\out32dll

  • 添加静态链接库

    #pragma comment(lib, "libeay32.lib")

    #pragma comment(lib, "ssleay32.lib")

    或Project->Settings->Link->Object\library modules填写libeay32.lib ssleay32.lib(我用的这种方法)。

   编写OpenSSL程序,可参考C:\openssl-0.9.8k\demos,包含相应头文件#include <openssl/***.h>

猜你喜欢

转载自blog.csdn.net/qq_27855219/article/details/70139590
PBC
今日推荐