因为最近使用OPENSSL 编译使用RSA做开发,但是出现了各种问题。找了网上资源整合一下,不过还是有问题啊,在多次试验中终于找到了使用方法。
首先
下载安装ActivePerl,地址: http://www.activestate.com/activeperl/downloads/ ,安好了重启哈
下载openssl源码,我使用的版本: openssl-1.0.1t ,地址:http://www.openssl.org/source/
openssl编译步骤:
32位编译:
1、到C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin目录(看VS安装目录了)去执行 vcvars32.bat,初始化环境变量。
也可以直接打开x86命令行工具就可以了啊(在VS安装程序目录里可以找到)
2、运行configure(定位到OPENSSL目录下面去运行,下面也是一样):
perl Configure VC-WIN32 。(Release版本)
perl Configure debug-VC-WIN32 。(Debug版本)
3、生成配置文件:
ms\do_ms
4、动态编译:
nmake -f ms\ntdll.mak
5、静态编译:
nmake -f ms\nt.mak
64位编译:
1、直接打开x64命令行工具就可以了啊(在VS安装程序目录里可以找到)
2、运行configure:
perl ConfigureVC-WIN64 。(Release版本)
perl Configure debug-VC-WIN64 。(Debug版本)
3、生成配置文件:
ms\do_ms
4、动态编译:
nmake -f ms\ntdll.mak
5、静态编译:
nmake -f ms\nt.mak
安装好了都可这个测试一下
nmake -f ms\ntdll.mak test。
动态编译好的库在这里out32dll。静态的编译好的库在这里out32这里。头文件在inc32里面。在VC++工程记得添加头文件目录。和库目录。
像酱紫的:
注意几个问题:1、编译出现错误:ml啊cl啊之类的。将上面的bin目录添加到环境变量去啊。
2、32位编译的库放在32位工程使用,64位编译的放在64编译使用,用错了会出现很多奇怪的未知问题。
比如在RSA有个PEM_read_RSA_PUBKY函数老是出错,主要是因为版本用错了,老是检查不了原因。所以得注意
3、Debug版本用Debug的项目,Release版本用Release的项目
比如在RSA有个PEM_read_RSA_PUBKY函数老是出错,主要是因为版本用错了,老是检查不了原因。所以得注意