windows32 openssl-0.9.8a安装步骤
来源:互联网 发布:工程咨询资质取消知乎 编辑:程序博客网 时间:2024/06/07 03:44
windows32 openssl安装步骤
只能安装32原因
vs环境是32位的,ide一般默认只是32位的,且32位的稳定
1.Windows server2012下安装的方法
安装环境:Windows server 2012+VS2015
工具:ActivePerl下载地址:http://www.activestate.com/、
nasm-2.13.01-installer-x86
openssl-0.9.8a.tar,下载地址:http://www.openssl.org/
1、安装perl
1.1安装Perl(我安装在C盘,同时我的openssl也解压在C盘)
使用命令行工具,进入C:\Perl64\eg路径下, 执行“perl example.pl”,若显示“Hello from ActivePerl!”,则说明Perl安装成功。
1.2、设置环境变量
打开我的电脑->属性->高级系统设置->环境变量,找到Path系统变量,点击编辑,添加E:\VS 2013\VC\bin;C:\Perl64\bin;c:\windows\system32,其中E:\VS 2013\VC\bin是我的VS2013的安装路径,根据情况自己修改。C:\Perl64\bin是Perl的安装路径,根据情况自己修改。
2.安装vs
安装VS2015
3.配置openssl
3.1、用管理员身份打开Visual Studio的开发人员命令提示,进入vc\bin目录下,执行vcvar
3.2进入到openssl目录下,configure VC-win32
执行Configure命令(配置编译参数),请查阅openssl安装文件,32位查看install32
3.3、运行 ms\do_nasm
由于下载版本名为nasm,编译文件不识别,所以将nasm安装文件全部复制到C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin中,并将nasm改名为masmw
3.4、运行nmake -f ms\ntdll.mak命令进行编译生成OpenSSL动态库
直接运行nmake -f ms\ntdll.mak命令时,会出现下面错误,警告被视为错误,导致退出
所以需要改变mak文件,删除/wx 如下所示,保存(mak文件中描述了编译规则,现有规则将警告视为错误,所以删除wx,保证程序忽略警告,执行至结束,vs编译器亦是同理,可以将工程vc+中修改)
重新执行上述命令,此时会编译大概两分钟左右,耐心等待。
3.5、测试
使用命令nmake -f ms\ntdll.mak test,若成功,会出现结果:
文件生成在out32dll下
4.测试例子
4.1新建工程vc++空,点击项目属性
添加环境Include files下添加OpenSSL安装目录下的include(包含目录)目录;在Library files(库目录)下添加out32dll目录
4.2 以上不知道好不好用,或者可以省略上一步,直接将生成的libeay32.lib libeay32.dll和ssleay32.dll ssleay32.lib拷贝到解释器的路径中如bin目录下
4.3 编辑程序,测试
代码源码
#include <openssl/aes.h>
#include <stdlib.h>
#include <string.h>
int main()
{
unsigned char key[16+1] = "my-key-i-choosed"; // 128bits key (应该是真正的随机数才好)
char pt1[16+5+1] = "0123456789abcdef12345"; // 明文
char ct[16+5+1]; // 密文
char pt2[16+5+1]; // 解密后的明文
AES_KEY k;
unsigned char iv1[16+1] = {"1023456789abcdef"}; // 16+1,加密用
unsigned char iv2[16+1] = {"1023456789abcdef"}; // 16+1,解密用
{ // single blcok test
AES_set_encrypt_key(key, 16*8, &k);
AES_encrypt((unsigned char*)pt1, (unsigned char*)ct, &k);
AES_set_decrypt_key(key, 16*8, &k);
AES_decrypt((unsigned char*)ct, (unsigned char*)pt2, &k);
if (memcmp(pt1, pt2, 16)==0)
puts("AES block ok");
else
puts("AES block err");
}
{ // cfb mode (stream mode)
int num=0;
AES_set_encrypt_key(key, 16*8, &k);
AES_cfb128_encrypt((unsigned char*)pt1, (unsigned char*)ct,
16+5, &k, (unsigned char*)iv1, &num, AES_ENCRYPT);
num=0;
AES_set_encrypt_key(key, 16*8, &k); // MUST as enc
AES_cfb128_encrypt((unsigned char*)ct, (unsigned char*)pt2,
16+5, &k, (unsigned char*)iv2, &num, AES_DECRYPT);
if (memcmp(pt1, pt2, 16+5)==0)
puts("AES CFB mode ok");
else
puts("AES CFB mode err");
}
system("pause");
return 0;
}
debug结果如下
5.可能遇到错误
5.1ml不是内部命令
添加ml64或ml32(根据机器型号选择)到bin目录下
(可能会缺少“ml.exe”,可下载masm并把其中的ml.exe拷贝至C:\Program Files\Microsoft Visual Studio\VC98\Bin下即可。)
5.2x86 与x64 冲突
由于openssl是64,而vs2015是32,所以冲突,所以改为都是32版本
5.3 安装32版本 提示缺少
使用nasm工具帮助安装
6、可能使用的命令
测试OpenSSL动态库:nmake -f ms\ntdll.mak test
测试OpenSSL静态库:nmake -f ms\nt.mak test
进入out32目录,执行..\ms\test
观看输出
安装OpenSSL动态库:nmake -f ms\ntdll.mak install
安装OpenSSL静态库:nmake -f ms\nt.mak install
清除上次OpenSSL动态库的编译,以便重新编译:nmake -f ms\ntdll.mak clean
清除上次OpenSSL静态库的编译,以便重新编译:nmake -f ms\nt.mak clean
7、总结(使用方法)
当建立工程需要使用到openssl库时,在包含目录中添加openssl安装目录的include目录, 在库目录中添加out32dll目录。
或者将OpenSSL下的include文件夹、lib文件、dll文件拷出,使用的时候包含进去就行了。
10、参考博客
http://cuiqingcai.com/2266.html 这个好像方法更简单。
http://blog.csdn.NET/zh516846937/article/details/40188065
阅读全文
0 0
- windows32 openssl-0.9.8a安装步骤
- windows32位安装Tensorflow
- openssl windows成功安装步骤
- Oracle GoldenGate 安装配置windows32
- windows32位下安装Redis
- windows32位系统 安装MongoDB
- windows32位系统 安装MongoDB
- linux上安装Openssl步骤详解
- linux上安装Openssl步骤详解
- windows32位下安装Redis+连接PHP
- python3安装scrapy之windows32位爬坑
- windows32位安装xampp,apache无法启动
- OpenSSL 0.9.8 vs2005 编译安装
- 编译安装openssl-0.9.8e
- 腾讯iweibo安装步骤 PHP与openssl问题解决方法
- 安装openssl及实现RSA加密解密的详细步骤
- Linux下OpenSSL 源码安装的9个步骤
- Linux下OpenSSL 源码安装的9个步骤
- python+pandas生成指定日期和重采样
- HibernateUtils工具---【小白系列】0基础到熟练应用hibernate框架(四)
- mysql绿色安装
- Spring源码解析之四 ------ AOP原理和源码分析
- Java学习笔记-《Java程序员面试宝典》-第5章Java Web-5.1Servlet与JSP(5.1.1-5.1.7)
- windows32 openssl-0.9.8a安装步骤
- 如何再Win10系统下面配置Docker的国内镜像站?
- CSDN、中国科学院自动化研究所承办的第三届中国人工智能大会
- 使用nmap 验证多种漏洞
- 一些控件的使用
- 物化视图学习
- 解决source insight 的相对路径问题
- java 表示当前日期
- 494. Target Sum