利用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. JVM程序计数器

    一.先来看看概念 多线程的Java应用程序:为了让每个线程正常工作就提出了程序计数器(Programe Counter Register),每个线程都有自己的程序计数器这样当线程执行切换的时候就可以在 ...

  2. js时间比较,获取n天后(前)的日期

    <html> <head> <meta http-equiv="Content-Type" content="textml; charset ...

  3. JavaScript中的类

          JavaScript类的相关知识 1.例子 /* 例1 */// 定义一个构造函数function Range(from, to){ this.from = from; this.to = ...

  4. C语言 字符串 字符串处理操作 字符串与函数

    字符数组的定义和初始化 宏常量+1  强调了字符串的最大强度 推荐忽略长度的定义 不能对所指向的存储单元内容修改,除非是字符串数组的定义 因为指针变量指向的是字符串数组的值,可以被修改. 未初始化 字 ...

  5. Docker学习系列(二)Docker初体验

    一.系统要求 Docker的安装,需要在CentOS 7.0+版本,内核至少3.10,64-bit uname --r [randy@randysun ~]$ uname --r -.el7.x86_ ...

  6. 剑指架构师系列-spring boot的logback日志记录

    Spring Boot集成了Logback日志系统. Logback的核心对象主要有3个:Logger.Appender.Layout 1.Logback Logger:日志的记录器 主要用于存放日志 ...

  7. PHP 实例 AJAX 与 MySQL

    AJAX 数据库实例 下面的实例将演示网页如何通过 AJAX 从数据库读取信息: 实例   Person info will be listed here... 实例解释 - MySQL 数据库 在上 ...

  8. Python3 MySQL 数据库连接

    什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb. PyMySQL 遵循 Python 数据库 AP ...

  9. iOS Exception Code 之 Magic Number

    https://en.wikipedia.org/wiki/Hexspeak  iOS Exception Code 之 Magic Number 备忘.

  10. android Git命令家底儿及Git数据通信原理详解

    声明:本文为CSDN原创投稿文章,未经许可,禁止任何形式的转载. 现在大部分使用的都是SVN,也有一部分迁移了Git,虽然挺好的,不过还有其它很多版本控制的工具,并没有谁最好用,最重要的是适合自己的公 ...