OpenSSL采用C语言作为开发语言,这使得OpenSSL具有优秀的跨平台性能,这对于广大技术人员来说是一件非常美妙的事情,可以在不同的平台使用同样熟悉的东西。OpenSSL支持Linux、Windows、BSD、Mac、VMS等平台,这使得OpenSSL具有广泛的适用性。不过,对于目前新成长起来的C++程序员,可能对于C语言的代码不是很习惯,但习惯C语言总比使用C++重新写一个跟OpenSSL相同功能的软件包轻松不少。
OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。
作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。
Openssl版本0.9.8i 地址:http://www.openssl.org/source/openssl-0.9.8i.tar.gz
ActivePerl版本5.8.8.822 Windows/5.8/ActivePerl-5.8.8.822-MSWin32-x86-280952.msi">http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.8.822-MSWin32-x86-280952.msi
编译器VS2005 提供不了下载地址了 机器上一直有,不是这次特意安装的。
安装VC6.0也行,反正貌似只要是c++编译器就差不多,但是我今天安装使用的是VS2005
安装步骤:
1.安装VC和ActivePerl,先后顺序无所谓,安装时注意勾选添加环境变量的选项。
2.解压Openssl,解压后会发现openssl-0.9.8i目录下面有很多文件
其中的一个文件是INSTALL.W32用记事本或者其他文本编辑器打开,这个文件是介绍Win32平台的安装方法,我下面的批处理也是根据这个文件写的,大家最好依据这文件的描述安装,英文不好的,可以对照我的批处理来看,如果大家安装的版本和我相同,那么直接使用下面的批处理安装即可。
在INSTALL.W32相同目录下新建一个批处理install.bat,内容如下
@rem --prefix 指定安装目录
perl Configure VC-WIN32 --prefix=D:/SYJ.WORK/SYJ.ENV/openssl
pause
call ms\do_ms
pause
nmake -f ms\ntdll.mak
pause
nmake -f ms\ntdll.mak test
pause
nmake -f ms\ntdll.mak install
pause
注意先不要执行它,因为需要VC的环境变量,建议通过开始菜单-程序-Microsoft Visual Studio 2005-Visual Studio Tools-Visual Studio 2005 命令提示-进入cmd后通过cd 进入到openssl-0.9.8i目录,然后在这个cmd下执行批处理install.bat就可以了。
注意事项:
1.安装时间比较长,请耐心等待
2.每个步骤间使用了pause暂停,便于观察。每步完成后按任意键继续,注意有没有报错。
3.可以不通过Visual Studio 2005 命令提示进入cmd,但是一定保证cmd下有vc的环境变量,可以手工调用vc目录下设置环境变量的批处理vcvars32.bat,在VC的安装目录下可以搜索到这个文件。因为不同版本的vc这个文件所在位置不同所以我就不说明它的位置了。测试是否有vc环境最简单的测试方法是在执行install.bat前先在cmd下执行下cl,没有vc环境的话会报
'cl' 不是内部或外部命令,也不是可运行的程序
4.提示%OSVERSION% is not defined 这个错误的时候可以忽略它没关系
5.网上搜索到安装前修改OpenSSL目录下的MS目录下的ntdll.mak文件,将CFLAG的/WX选项去掉,
否则cl编译器会报.\crypto\des\enc_read.c文件的read是The POSIX name for this item is deprecated 建议使用_read。
因为我使用非常简单的功能所以我没有修改它,需要的朋友可以尝试修改它。
6.最终编译结束会在指定安装目录下产生3个子目录分别是bin,include,lib
1、安装VC++ 6.0。
2、下载ActivePerl-5.8.0.806-MSWin32-x86并安装:
http://www.sogoz.info/down.asp?id=3683&no=1
3、下载 openssl0.98并解压。
http://www.openssl.org/source/openssl-0.9.8.tar.gz
安装步骤:完全可以参照openssl目录下的install.win32
1、perl Configure VC-WIN32
如不成功会有明显提示
2、ms\do_ms
推荐使用这种方式
另外两种方式 如果使用也必须保证本机有编译器才能使用。
:ms\do_masm (默认vc 自带的编译器;也也以自己下载安装)
:ms\do_nasm (需要自己下载)
3、DOS窗口下转到【Microsoft Visual Studio】\VC98\bin目录下执行 vcvars32.bat 以配置环境变量。
4、跳到openssl目录下,执行:
nmake -f ms\ntdll.mak
如果编译成功,最后的输出都在out32dll目录下:包括可执行文件、两个dll和两个lib文件: libeay32.dll, libeay32.lib, ssleay32.dll, ssleay32.lib
编程初步:
1、 打开VC-Tools-Options-Directores,在Include files中增加【openssl-0.9.8】\inc32目录;在Libray files中增加【openssl-0.9.8】\out32dll
2、 在源程序中包含以下三个头文件并加入LIB:
#include <openssl/ssl.h>
#include <openssl/err.h>
#include <openssl/bio.h>
#pragma comment(lib, "libeay32.lib")
#pragma comment(lib, "ssleay32.lib")
3、 参考源码开始编程:http://www.kennethballard.com/Download/intro-openssl.zip
openssl在windows下的安装编译
openssl-0.9.8m
1.下载 ActivePerl-5.8.0.806-MSWin32-x86 并安装
http://221.231.138.20/soft/ActivePerl-5.8.0.806-MSWin32-x86.rar
2.下载 openssl-0.9.8m 解压到根目录下 。如c:
http://www.openssl.org/source/
开始安装:完全可以参照斑竹的文章或openssl目录下的install forw in32
1) > perl Configure VC-WIN32
: 如不成功会有明显提示
2) > ms\do_ms
: 推荐使用这种方式,我第一次成功编译就是在这种方式下
:另外两种方式 如果使用也必须保证本机有编译器才能使用。
: > ms\do_masm (默认vc 自带的编译器;也也以自己下载安装)
: ms\do_nasm (需要自己下载)
:
3)转到C:\Program Files\Microsoft Visual Studio\VC98\bin目录(默认安装时)下
执行 vcvars32.bat 以配置环境变量。
4)跳到openssl目录下
执行> nmake -f ms\ntdll.mak
:如果编译成功,最后的输出都在out32dll目录下 : 包括可执行文件 、两个dll和两个lib文件。
:
最终编译出来的结果都存放在out32dll子目录下,常用的文件包括libeay32.lib,libeay32.dll,ssleay32.lib,ssleay32.dll以及openssl.exe。中间生成的obj文件都在tmp32dll子目录下,可以把它们删掉。
5.运行 nmake -f ms\ntdll.mak test。检查上一步安装编译是否成功。
6.运行nmake -f ms\ntdll.mak install --prefix=C:\openssl.
7.检查安装结果。打开资源管理器,在C:\openssl目录下将看到bin, include, lib三个文件夹。bin目录下包括openssl.exe(), ssleay.dll(),libeay.dll(),lib目录下包括两个lib文件爱你,即ssleay32.lib,libeay.lib,分别是ssleay.dll、libeay.dll动态链接库对应的lib文件。include目录包括了openssl开发设计的头文件。
附两个使用openssl进行证书和密钥文件格式转换的命令:
DER证书转换成PEM证书:
openssl x509 -inform DER -in der.cer -outform PEM -out pem.cer
DER私钥转换成PEM私钥:
openssl rsa -inform DER -in der.key -outform PEM -out pem.key
需要注意的是:
1: 在使用 perl configure VC-WIN32时,VC-WIN32一定要大写,否则会出现
.\crypto\asn1\n_pkey.c(106) :error C2370: 'NETSCAPE_PKEY_it' : redefinition; di
fferent storage class
.\crypto\asn1\n_pkey.c(103) : see declaration of 'NETSCAPE_PKEY_it'
NMAKE : fatal error U1077: 'cl' : return code '0x2'的错误,
Window xp 下安装 openssl
首先声明,我到现在还不知道为什么会安装成功,因为还是没有发现configure 这个文件夹只发现一个configure 可打开文件。就是不停的试,在试的过程中,最后还是被我安装成功了,而这个过程中,百度了一些安装办法,不能不说有一个版本被转载了N次,但不能不说ta写的很不怎么样,也许高手可以看明白。
写一下我的安装过程:
首先是下载perl,我用的是ActivePerl-5.8.8.822-MSWin32-x86-280952.msi
Openssl我用的是openssl-0.9.8.tar.tar
编译环境我用的是VC++6.O(安装vc++6.0的时候会产生一个VC98文件夹,等一下会用到)
安装perl,和vc++6.0,解压openssl包(统一放到c盘下)
1. 在”我的电脑”-à“运行”里输入cmd
2. 然后把运行路径改为openssl。 我的openssl的路径是C:\openssl
执行命令:cd c:\openssl
3. C:\openssl> perl Configure VC-WIN32(这一步成功后转下一步,这也是最难的一步)
4. C:\openssl>ms\do_ms(文件夹里有do_masm,do_nasm和do_ms,其中如果你要用到汇编编译器的话,比如用到MASM就运行do_masm,用到NASM就运行do_nasm,我没有用,所以就运行do_ms)
5. 配置环境变量。找到vcvars32.bat的路径,一般都是在VC98\BIN里,所以执行命令为:
CD c:\ //这里是更改路径
C:>vc98\bin\vcvars32.bat 按了enter后,它会现实一条正在配置的信息。
6. 6.现在回到openssl目录下。执行命令 cd C:\openssl
C:\openssl> nmake -f ms\ntdll.mak
如果这一步也成功的话,会在openssl目录下的out32dall目录里生成2个dll文件和2个lib文件,以及一堆可执行文件。
7. 现在开始在vc中增加使用openssl需要的文件
运行vc++6.0 在 tools-〉options-〉directories,在include files中增加openssl\inc32目录,在libary files 中增加openssl\out32dll
终于完成了。
gaowenboms
- 粉丝: 12
- 资源: 22
最新资源
- Delphi 12 控件之FlashAV FFMPEG VCL Player For Delphi v7.0 for D10-D11 Full Source.7z
- Delphi 12 控件之DevExpressVCLProducts-24.2.3.exe.zip
- Mysql配置文件优化内容 my.cnf
- 中国地级市CO2排放数据(2000-2023年).zip
- smart200光栅报警程序
- 企业信息部门2024年终工作总结与2025规划方案
- 串口AT命令发送工具,集成5G模组常用At命令
- 通过python实现归并排序示例代码.zip
- 复旦大学张奇:2023年大规模语言模型中的多语言对齐与知识分区研究
- 通过python实现一个堆排序示例代码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈