OpenSSL的在windows和Linux中的编译和安装

本文详细介绍了如何在Linux的Win10 Bash环境和Windows系统下编译及安装OpenSSL。在Linux中,通过配置环境、下载源码、执行编译和安装步骤来完成。在Windows中,涉及Perl、VC环境配置、下载OpenSSL源码、解决编译错误等过程,但遇到了一些问题,包括缺少ML编译器和语法错误,最后尝试使用Visual Studio 2013解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二、Linux中的安装 {

我用的是win10 bash环境,

1.环境配置 {

#apt-get install perl

#apt-get install make

#apt-get install gcc

};

2.下载openssl {

#git clone https://github.com/openssl/openssl

};

3.快速安装 {

进入openssl所在的目录

如果没有特殊要求执行下面指令就好了。

#./config

#make

#make test

#make install

进入到apps目录中

#./openssl


我在运行 make test 的时候出现了这个,不知道会不会影响后面的操作?

这个似乎并没有影响。

后面在执行./openssl出现了这个:

解决办法:参考了 http://blog.youkuaiyun.com/u012454773/article/details/54315897

输入以下两行命令:

# ln -s /usr/local/lib/libssl.so.1.1 /usr/lib/libssl.so.1.1

# ln -s /usr/local/lib/libcrypto.so.1.1 /usr/lib/libcrypto.so.1.1

似乎这样子就装好了。

};

};


一.Windows中的编译和安装。

我使用的是win10x64的操作系统,第一次尝试安装,不知道会遇到什么问题,也都一并在下面陈述。

1.下载安装Perl {

下载地址 https://www.activestate.com/activeperl/downloads

根据安装向导进行安装即可。

键入"'WIN'+'R'"输入cmd按回车,在命令行中输入 perl -v 可以查看到版本,则说明安装成功。


};

2.我这里使用VC进行编译OpenSSL {

(1)配置VC环境变量 {

nasm下载地址 http://www.nasm.us/pub/nasm/releasebuilds/2.13.01/win64/

根据提示进行安装。

然后配置环境变量

};

(2)下载OpenSSL {

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

1.0.2l版本 https://www.openssl.org/source/openssl-1.0.2l.tar.gz

下载后解压。

}

(3)配置编译参数 {

命令行进入刚才下载解压后OpenSSL所在的目录

如果不需要改变OpenSSL的默认配置,只需要执行

perl Configure VC-WIN32

不过我用以下这条命令

perl Configure VC-WIN32 --prefix=C:\OpenSSL

这样,OpenSSL的安装路径就是“C:\OpenSSL”目录了。

这里出错,参考 http://blog.youkuaiyun.com/runandrun/article/details/6010840 进行解决了。

这里说一下解决过程。

从 http://search.cpan.org/ 中下载dmake,修改环境变量到dmake,步骤入2.(1)所示。

然后重启了一下,竟然就好了。

再执行一边

perl Configure VC-WIN32 --prefix=c:\OpenSSL

接着执行

ms\do_ms

接着运行

nmake  -f ms\nt.mak

报错,说少了ml什么东西的

网上并没有找到解决办法,我瞎搞了一下

从 http://www.masm32.com/download.htm 下载MASM ,按照提示进行安装即可

然后设置一下环境变量。

重启,重新做一遍还是报错,NMAKE : fatal error U1077: 'ml' : return code '0x1'

MASM version 8.00 or later is strongly recommended.

参考了一下 http://finebree.blog.163.com/blog/static/878793552008102474254280/

从 http://www.microsoft.com/downloads/details.aspx?familyid=7A1C9DA0-0510-44A2-B042-7EF370530C64&displaylang=en

下载MASMsetup.EXE,用解压软件加压得setup.exe,再解压一次得vc_masm1.cab,然后再解压得FL_ml_exe_____X86.3643236F_FC70_11D3_A536_0090278,重命名为ml.exe,复制到工作目录中,即masm所在的bin下,我的是C:\masm32\bin。

上面的报错是编译32位的报错,


64的编译命令是

perl Configure VC-WIN64A --prefix=c:\openssl

ms\do_win64a

nmake -f ms\nt.mak

下面的报错是编译64位的报错。

重新运行还是报错,error C2632: 'long' followed by 'long' is illegal

我觉得可能是我用VC6.0的关系,到这里我决定装其他的了。

还是算了,于是我打开提示出错的文件,把所有的long long都换成__int64

重新编译,还是出现错误,.\crypto\bn\bn_add.c(143) : error C2059: syntax error : 'bad suffix on number'

好吧,这次不知道要怎么修改了。

我从微软上下载了最新的community版的visual studio.

改天再试

};

windows的安装先到这里,装不好。。。。

求大神指点。

};

///////////////////////////////

这里我准备用win7x86重新尝试一下 {

1.下载openssl {

https://www.openssl.org/source/openssl-1.0.2l.tar.gz

1.0.2版本的。

};

2.安装VC6.0 {

链接:http://pan.baidu.com/s/1c10tUms 密码:wwg4

根据提示进行安装即可。

安装完后运行安装目录下的 \Microsoft Visual Studio\VC98\Bin 中的 VCVARS32.BAT 自动配置环境变量。

};

3.安装perl {

https://www.activestate.com/activeperl/downloads/thank-you?dl=http://downloads.activestate.com/ActivePerl/releases/5.24.1.2402/ActivePerl-5.24.1.2402-MSWin32-x86-64int-401627.exe

版本5.24.1,32位。

};

4.安装masm {

下载地址 http://website.assemblercode.com/masm32/masm32v11r.zip

根据提示安装,然后设置环境变量。

下载 http://www.microsoft.com/downloads/details.aspx?familyid=7A1C9DA0-0510-44A2-B042-7EF370530C64&displaylang=en

操作方法上面讲过,这里不赘述。

};

5.编译openssl {

cmd进入openssl的目录;

输入以下命令

perl Configure VC-WIN32 --prefix=c:\openssl

ms\do_ms

nmake -f ms\nt.mak

到这里我报错了,和在win10x64上编译32位的openssl一样。

不知道怎么解决呀。。。

};

};


我觉得主要原因是我用VC6.0的结果吧。

{

在win7x86上,我把VC6.0的环境变量都删掉了,包括include、lib、MSDevDir、Path;

然后装了 cn_visual_studio_ultimate_2013_with_update_5_x86_dvd_6816649

用迅雷下载地址 ed2k://|file|cn_visual_studio_ultimate_2013_with_update_5_x86_dvd_6816649.iso|5567336448|641555AD6472A98923B29CC5E371461E|/


};


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值