zoukankan      html  css  js  c++  java
  • Windows下安装OpenSSL及其使用

    方法一:

        

    Windows binaries can be found here:

    http://www.slproweb.com/products/Win32OpenSSL.html 

    You can do this conversion with the OpenSSL library

    http://www.openssl.org/


    方法二:(手动编译)

    1. 下载最新版本的Perl,安装后重启系统。

    http://www.activestate.com/activeperl/downloads

    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

    >perl Configure VC-WIN32 no-asm -DOPENSSL_USE_IPV6=0

    【执行" perl Configure VC-WIN32 no-asm -DOPENSSL_USE_IPV6=0" no-asm表示没有用NASM编译,DOPENSSL_USE_IPV6=0 禁用IPV6,避免出现NMAKE : fatal error U1077: 'cl' :
    return code '0x2'错误;这里为什么VC-WIN32,而不是64 ,我想应该是我们的IDE vc6.0是32的。】

    如不成功会有明显提示。

    3、创建Makefile文件。

    >msdo_ms

    推荐使用这种方式,另外两种方式 如果使用也必须保证本机有编译器才能使用。

    :msdo_masm (默认vc 自带的编译器;也也以自己下载安装)

    :msdo_nasm (需要自己下载)

    4、配置VC环境变量。

    >cd C:Program FilesMicrosoft Visual StudioVC98Bin

      >vcvars32.bat

    5、编译动态链接库。

    >cd C:openssl-0.9.8k

    >nmake -f ms tdll.mak

    可能会缺少“ml.exe”,可下载masm并把其中的ml.exe拷贝至C:Program FilesMicrosoft Visual StudioVC98Bin下即可。

    运行 nmake -f ms tdll.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.8kout32dll

    7、编写OpenSSL程序,可参考C:openssl-0.9.8kdemos

    1)包含相应头文件

    #include <openssl/***.h>

    (2) 添加静态链接库

    #pragma comment(lib, "libeay32.lib")

    #pragma comment(lib, "ssleay32.lib")

    ProjectàSettingsàLinkàObjectlibrary modules填写libeay32.lib ssleay32.lib

    3)将动态链接库ssleay32.dll, libeay32.dll复制到C:WINDOWSsystem32Debug目录下,确保动态链接库在正确的路径。



    可能遇到的问题:

    1、NMAKE : fatal error U1077: 'ml' : return code '0x1'

    解决办法:在环境变量PATH中添加路径C:masm32in,并按照参考资料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选项

  • 相关阅读:
    [USACO14DEC] Cow Jog_Gold 牛慢跑(金)题解
    [USACO16DEC]Moocast(gold)奶牛广播-金 题解
    [USACO17FEB]Why Did the Cow Cross the Road III S题解
    [USACO4.3]逢低吸纳Buy Low, Buy Lower题解
    洛谷P5057 [CQOI2006]简单题题解
    ksum及二维版本
    [Noip2015] 信息传递
    数据库常用操作
    解决Mac连接MySQL需要输入绝对路径的问题
    在MAC上安装OpenCV(C++)
  • 原文地址:https://www.cnblogs.com/zhengah/p/4998215.html
Copyright © 2011-2022 走看看