Windows下安装OpenSSL及其使用

2017-07-03服务器
241

1. 下载最新版本的Perl,安装后重启系统。
 
http://downloads.activestate.com/ActivePerl/
 
 
2.下载 latest openssl并解压到C:\openssl-0.9.8k。
 
http://www.openssl.org/source/
 
参考openssl目录下的install.win32说明进行安装:
 
1、进入解压目录。
 
>cd C:\openssl-0.9.8k
 
2、运行Configure。
 
>perl Configure VC-WIN32
 
如不成功会有明显提示。
 
3、创建Makefile文件。
 
>ms\do_ms
 
推荐使用这种方式,另外两种方式 如果使用也必须保证本机有编译器才能使用。
 
:ms\do_masm (默认vc 自带的编译器;也也以自己下载安装)
 
:ms\do_nasm (需要自己下载)
 
4、配置VC环境变量。
 
>cd C:\Program Files\Microsoft Visual Studio\VC98\Bin
 
  >vcvars32.bat
 
5、编译动态链接库。
 
>cd C:\openssl-0.9.8k
 
>nmake -f ms\ntdll.mak
 
可能会缺少“ml.exe”,可下载masm并把其中的ml.exe拷贝至C:\Program Files\Microsoft Visual Studio\VC98\Bin下即可。
 
 
运行 nmake -f ms\ntdll.mak test.检查上一部编译是否成功。正常的话会执行编译后的测试程序
 
至此OpenSSL在windows下编译完成,编译得到的dll和lib文件位置:静态库libeay32.lib和ssleay32.lib位于out32文件夹下,动态库libeay32.dll,libeay32.lib,ssleay32.dll,ssleay32.lib位于out32dll文件夹下。
 
6、为VC添加头文件和静态链接库路径。
 
ToolsàOptionsàDirectores,在Include files中增加C:\openssl-0.9.8k \inc32目录;在Libray files中增加C:\openssl-0.9.8k\out32dll。
 
7、编写OpenSSL程序,可参考C:\openssl-0.9.8k\demos
 
(1)包含相应头文件
 
#include <openssl/***.h>
 
(2) 添加静态链接库
 
#pragma comment(lib, "libeay32.lib")
 
#pragma comment(lib, "ssleay32.lib")
 
或ProjectàSettingsàLinkàObject\library modules填写libeay32.lib ssleay32.lib。
 
(3)将动态链接库ssleay32.dll, libeay32.dll复制到C:\WINDOWS\system32或Debug目录下,确保动态链接库在正确的路径。
 
 
 
可能遇到的问题:
 
1、NMAKE : fatal error U1077: 'ml' : return code '0x1'
 
解决办法:在环境变量PATH中添加路径C:\masm32\bin,并按照参考资料3修改ml.exe文件。
 
2、NMAKE : fatal error U1077: 'cl' : return code '0x2'
 
解决办法:去掉ipv6(命令行中执行perl Configure VC-WIN32 -DOPENSSL_USE_IPV6=0)
 
3、fatal error LNK1103: debugging information corrupt; recompile module
 
解决办法:去掉ms文件夹下对应文件nt.mak或ntdll.mak文件中/debug选项
The End

相关推荐

docker占用空间怎么清理?
查看docker占用空间 docker system df 清理docker占用空间 # 删除未使用的镜像,不加-a就删除从未使用过的镜像 docker image prune -a # 删除未使用的docker volume docker volume prune # 删除每个未使用的容器、镜像、volumes和networks docker system prun...
2025-07-08 服务器
176

Nginx强制http跳转https访问的几种方法
Nginx让http的链接自动跳转到https的链接,其实方法还是蛮多的,下面介绍两种常用方法。 方法一 可以把所有的HTTP请求通过rewrite重写到HTTPS上 server{ listen 80; server_name XXXXX.com; //你的域名 //rewrite ^(.*)$ https://XXXXXX.com permanent; rewri...
2023-06-19 服务器
372

Nginx使用中文文件名中文目录404错误的解决办法
一:确定你的系统是UTF编码 [root@Tserver ~]# env|grep LANG LANG=en_US.UTF-8 二:NGINX配置文件里默认编码设置为utf-8 server { listen 80; server_name .inginx.com ; index index.html index.htm index.php; root /usr/local/nginx/html/inginx.com; ch...
2022-10-14 服务器
902

网站无法加载woff字体文件的解决办法?
有客户反馈在安装网站后,woff、woff2字体无法加载,导致无法显示图标文件,这种情况要怎么解决呢? 这是因为服务器IIS默认是没有SVG,WOFF,WOFF2这几个文件类型的扩展的,所以如果要解决,我们就要在IIS上添加MIME 类型即可。 解决方法: 1、打开服务器IIS管...
2021-05-10 服务器
1249

网站服务器不支持.7z文件下载的解决方法
7-Zip是一款号称有着现今最高压缩比的压缩软件,它不仅支持独有的7z文件格式,而且还支持各种其它压缩文件格式,其中包括ZIP, RAR, CAB, GZIP, BZIP2和TAR。此软件压缩的压缩比要比普通ZIP文件高30-50%。因此,它可以把经WinZip压缩的文件再压缩2-10%。文件...
2020-09-28 服务器
428

安装 Apache 出现 <OS 10013> 以一种访问权限不允许的方式做了一个访问套接字的尝试
安装 Apache 出现 OS 10013 以一种访问权限不允许的方式做了一个访问套接字的尝试 如下截图: 提示: make_sock: could not bind to address 0.0.0.0:80 这个问题有由于计算机上安装了IIS7,80端口已占用。 打开Apache 的配置文件 Apache安装目录下的conf/htt...
2019-11-06 服务器
234