利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl

首先mingw的环境搭建,务必遵循下文:

http://blog.csdn.net/ubuntu64fan/article/details/8918808

然后:

1 编译32位openssl

1)打开:MSYS-x64 Shell(msys\1.0\bin\sh.exe)。以下操作都是在mingw64 shell中执行。

2)查看当前编译环境的位版本(32或64):

  $ cat /etc/profile

在最下面看到:

......
if [ -f /local32/etc/profile.local ]; then
  source /local32/etc/profile.local
fi

可知当前shell使用的是32位编译环境。

3)下载openssl

  $ cd /local32/src
  $ wget http://www.openssl.org/source/openssl-1.0.2e.tar.gz

我机器上的真实目录是:C:\DEVPACK\MinGW\local32\src

解压:

  $ tar zxfh openssl-1.0.2e.tar.gz

会出现一堆警告,忽略之

使用tar zxfh openssl-1.0.2e.tar.gz 解包。原因是:

+ Since the release tarballs contain symlinks which MSYS cant deal with
+ you must use tar with the -h option to dereference the symlinks:
+ tar zxfh openssl-1.0.2e.tar.gz

4)编译openssl静态库和动态库

  $ cd /local32/src/openssl-1.0.2e
  $ perl Configure mingw shared --prefix=/usr/local/win32
  $ make -j 4
  $ make install

编译好的结果:头文件,库文件等安装在目录 /usr/local/win32/ssl 下面,对应真实目录:

C:\DEVPACK\MinGW\msys\1.0\local\win32\ssl

2 编译64位openssl

1)打开:MSYS-x64 Shell(msys\1.0\bin\sh.exe)。以下操作都是在mingw64 shell中执行。

2)下载解压: openssl-1.0.2e.tar.gz

  $ cd /local64/src
  $ wget http://www.openssl.org/source/openssl-1.0.2e.tar.gz
  $ tar zxfh openssl-1.0.2e.tar.gz

3)改变编译环境位数为x64 (仅对当前窗口有效):
  $ source /local64/etc/profile.local

4)编译openssl静态库和动态库

  $ cd openssl-1.0.2e
  $ perl Configure mingw64 shared --prefix=/usr/local/win64
  $ make -j 4
  $ make install

编译好的结果:头文件,库文件等安装在目录 /usr/local/win64/ssl 下面,对应真实目录:
C:\DEVPACK\MinGW\msys\1.0\local\win64\ssl

利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl的更多相关文章

  1. 利用openssl管理证书及SSL编程第1部分: openssl证书管理

    利用openssl管理证书及SSL编程第1部分 参考:1) 利用openssl创建一个简单的CAhttp://www.cppblog.com/flyonok/archive/2010/10/30/13 ...

  2. 利用openssl管理证书及SSL编程第3部分:将MinGW编译的openssl dll导出def和lib供MSVC使用

    将MinGW编译的openssl dll导出def和lib供MSVC使用 前面我们用mingw把openssl 编译成了动态库,得到下面2个dll文件: libeay32.dll ssleay32.d ...

  3. [转] Windows下编译OpenSSL

    简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...

  4. Windows下编译OpenSSL(使用VS2013)

    简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...

  5. 在Windows下编译OpenSSL(VS2005和VC6)

    需要说明的是请一定安装openssl-0.9.8a .  openssl-1.0.0我没有编译成功. 如何在Windows下编译OpenSSL (Vs2005使用Vc8的cl编译器)1.安装Activ ...

  6. windows 如何编译 Openssl ?

    windows 如何编译 Openssl ? 编译环境 VS2015 Openssl 1.0.2 ActivePerl 5.24.3 x64 编译步骤 安装 ActivePerl 期间,勾选添加至环境 ...

  7. 在Windows上编译最新的CURL,含有zlib,openssl

    最近,从网上下载了一个curl库,使用时各种报错,都无法启动,于是干脆就直接自己编译了. 1. 准备工作 a. 下载zlib zlib可以使得HTTP请求支持gzip压缩,其地址如下: 官网:http ...

  8. 怎样在WINDOWS下面编译OpenSSL

    编译OPENSSL的步骤: 第一步:下载ActivePerl(http://www.activestate.com/, ),安装ActivePerl,默认安装路径在C:\Perl64.打开命令提示符, ...

  9. windows vs2015 编译openssl 1.1.0c

    1,到openssl官网下载源码. 2,安装activePerl,我放在网盘:https://pan.baidu.com/s/1ZHe24yRcPtIuSiEa-3oqxw 3.安装完毕后,使用 VS ...

随机推荐

  1. Linux学习之CentOS(十八)-----恢复Ext3下被删除的文件与 使用grep恢复被删文件内容(转)

    前言 下面是这个教程将教你如何在Ext3的文件系统中恢复被rm掉的文件. 删除文件 假设我们有一个文件名叫 'test.txt' $ls -il test.txt 15 -rw-rw-r– 2 roo ...

  2. JavaBean toString方式

    package object; import java.util.Date; public class ReportDataQo implements java.io.Serializable { p ...

  3. CSS3左右间歇晃动效果

    今天在做一个活动页面时,产品想要在页面中添加一个吸引人注意的小图片左右晃动的效果,并且该效果是间歇执行的.我一想应该挺简单的吧,二话没说就答应了,谁知在真正实现的时候才发现还是有些许困难的.于是就在网 ...

  4. 59. Spiral Matrix II(中等,同54题)

    Given an integer \(n\), generate a square matrix filled with elements from 1 to \(n^2\) in spiral or ...

  5. C++笔记007:易犯错误模型——类中为什么需要成员函数

    先看源码,在VS2010环境下无法编译通过,在VS2013环境下可以编译通过,并且可以运行,只是运行结果并不是我们期待的结果. 最初通过MyCircle类定义对象c1时,为对象分配内存空间,r没有初始 ...

  6. Go 语言指向指针的指针

    如果一个指针变量存放的又是另一个指针变量的地址,则称这个指针变量为指向指针的指针变量. 当定义一个指向指针的指针变量时,第一个指针存放第二个指针的地址,第二个指针存放变量的地址: 指向指针的指针变量声 ...

  7. Bootstrap3 栅格系统-实例:多余的列(column)将另起一行排列

    如果在一个 .row 内包含的列(column)大于12个,包含多余列(column)的元素将作为一个整体单元被另起一行排列. <div class="row"> &l ...

  8. Linux基础指令

    Linux基础指令 只写了最简单的一些文件操作,基本没有带参数 查看当前目录 pwd 跳转到某路径 cd 查看当前目录下的文件 ls ls -l // -l 查看详细信息 打开当前所在文件夹 open ...

  9. linux 防火墙操作

    root/12345 (只能用ROOT操作)iptables -I INPUT -s x.x.x.x -p tcp --dport 8091 -j ACCEPT   #允许x.x.x.x访问本机的80 ...

  10. Swift完成fizz buzz test

    看到一篇文章上说,很多貌似看过很多本编程书的童鞋连简单的fizz buzz测试都完不成. 不知道fizz buzz test为何物的,建议自行搜之. 测试要求是,编写满足以下条件的代码: Write ...