不同平台下OPENSSL的编译

合集下载

Windows下openssl的下载安装和使用方法

Windows下openssl的下载安装和使用方法

Windows下openssl的下载安装和使⽤⽅法安装openssl有两种⽅式,第⼀种直接下载安装包,装上就可运⾏;第⼆种可以⾃⼰下载源码,⾃⼰编译。

下⾯对两种⽅式均进⾏详细描述。

⼀、下载和安装openss⽅法⼀:直接使⽤openssl安装包Window 的openssl的安装包的下载地址为:⼀般在安装openssl之前还需要vs的⼀些插件,该地址中也提供了相关插件的下载。

如下图即为openssl的安装及其vs插件在下载⽹页的截图。

⽅法⼆:⾃⼰编译openssl此过程⽐较复杂,需要先安装perl、vs等软件,然后才能编译openssl。

1、下载并安装perl,1)下载路径:2)安装与配置:直接运⾏安装⽂件(例如:ActivePerl-5.16.3.1604-MSWin32-x86-298023.msi)即可完成安装;安装过程将⾃动完成环境变量的配置(安装完成之后,可以在系统环境变量⾥看到perl的bin⽬录(例如: C:\Program Files\perl\site\bin;)已经被加⼊进来),⽆需再⼿⼯配置;3)测试安装是否成功:进⼊perl安装⽬录的eg⽂件夹,执⾏“perl example.pl”若显⽰“Hello from ActivePerl!”,则说明Perl安装成功。

如下图所⽰:perl安装成功之后就可以开始使⽤Perl的相关命令来进⾏OpenSSL的安装了。

2、openssl可以⾃⼰下载源码编译也可以直接下载安装包安装完之后即可使⽤。

2.1使⽤源码编译openssl1) 下载openssl源码的路径:2)配置VS2005的环境变量(因为后⾯编译openssl时,将会⽤到vs2005⾃带的nmake⼯具)。

执⾏VS2005的bin⽬录下(例如:C:\Program Files\Microsoft Visual Studio 8\VC\bin)的vcvars32.bat⽂件即可完成配置,如下图所⽰:3)配置openssl(1)将下载后的openssl压缩⽂件(例如:openssl-1.0.1g.tar.gz)解压缩到某⽬录下(例如:C:\Program Files\openssl-1.0.1g);(2)通过命令窗⼝,进⼊openssl的⽬录C:\Program Files\openssl-1.0.1g中,执⾏“perl Configure VC-WIN32”即可完成配置,如下图所⽰:(3)执⾏do_masm在openssl的⽬录下执⾏ms\do_masm,注意不能进⼊到ms下⾯直接执⾏do_masm,否则会提⽰找不到⽂件“util\makfiles.pl”之类的错误。

openssl源码介绍

openssl源码介绍

openssl源码介绍⼀、crypto⽬录openssl 源代码主要由 eay 库、ssl 库、⼯具源码、范例源码以及测试源码组成。

eay 库是基础的库函数,提供了很多功能。

源代码放在crypto ⽬录下。

包括如下内容:1) asn.1 DER 编码解码(crypto/asn1⽬录),它包含了基本 asn1 对象的编解码以及数字证书请求、数字证书、CRL 撤销列表以及 PKCS8等最基本的编解码函数。

这些函数主要通过宏来实现。

2)抽象 IO(BIO,crypto/bio⽬录),本⽬录下的函数对各种输⼊输出进⾏抽象,包括⽂件、内存、标准输⼊输出、socket 和 SSL 协议等。

3)⼤数运算(crypto/bn⽬录),本⽬录下的⽂件实现了各种⼤数运算。

这些⼤数运算主要⽤于⾮对称算法中密钥⽣成以及各种加解密操作。

另外还为⽤户提供了⼤量辅助函数,⽐如内存与⼤数之间的相互转换。

4)字符缓存操作(crypto/buffer⽬录)。

5)配置⽂件读取(crypto/conf⽬录),openssl 主要的配置⽂件为 f。

本⽬录下的函数实现了对这种格式配置⽂件的读取操作。

6) DSO(动态共享对象,crypto/dso⽬录),本⽬录下的⽂件主要抽象了各种平台的动态库加载函数,为⽤户提供统⼀接⼝。

7)硬件引擎(crypto/engine⽬录),硬件引擎接⼝。

⽤户如果要写⾃⼰的硬件引擎,必须实现它所规定的接⼝。

8)错误处理(crypto/err⽬录),当程序出现错误时,openssl 能以堆栈的形式显⽰各个错误。

本⽬录下只有基本的错误处理接⼝,具体的的错误信息由各个模块提供。

各个模块专门⽤于错误处理的⽂件⼀般为*_err..c ⽂件。

9)对称算法、⾮对称算法及摘要算法封装(crypto/evp⽬录)。

10)HMAC(crypto/hmac⽬录),实现了基于对称算法的 MAC。

11)hash 表(crypto/lhash⽬录),实现了散列表数据结构。

详解Linux(centos7)下安装OpenSSL安装图文方法

详解Linux(centos7)下安装OpenSSL安装图文方法

详解Linux(centos7)下安装OpenSSL安装图⽂⽅法OpenSSL是⼀个开源的ssl技术,由于我需要使⽤php相关功能,需要获取https的⽂件所以必须安装这个东西了,下⾯我整理了两种关于OpenSSL安装配置⽅法。

安装环境:操作系统:CentOs7安静OpenSSL Version:openssl-1.0.2j.tar.gz1、将下载的压缩包放在根⽬录,2、在⽂件夹下解压缩,命令:tar -xzf openssl-1.0.2j.tar.gz,得到openssl-1.0.2j⽂件夹3、进⼊解压的⽬录:cd openssl-1.0.2j4、设定Openssl 安装,( --prefix )参数为欲安装之⽬录,也就是安装后的档案会出现在该⽬录下:执⾏命令: ./config --prefix=/usr/local/openssl5、执⾏命令./config -t6.执⾏make,编译Openssl这⾥如果出现如下错误make[1]: gcc: Command not found⽣⽓上⽹查才发现我安装的CentOS7中没有GCC编译器保证系统⽹络畅通以后,执⾏命令 yum -y install gcc 安装GCC(注意,⼀定要忘了顺畅,不然安装不了)7、安装 Openssl:make install8、执⾏以下命令[root@localhost /]# cd /usr/local[root@localhost local]# ldd /usr/local/openssl/bin/openssl会出现类似如下信息:9、查看路径...]# which openssl查看版本...]# openssl version卸载旧版本 OpenSSL的⽅法apt-get purge opensslrm -rf /etc/ssl #删除配置⽂件以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

openssl使用流程

openssl使用流程

openssl使用流程OpenSSL使用流程介绍OpenSSL 是一个开源的加密工具包和安全通信协议实现库,提供了一系列的加密算法、SSL/TLS 防护和各种安全工具,广泛应用于网络通信、服务器配置、数字证书管理等各个领域。

本文将以OpenSSL 的使用流程为主题,一步一步详细回答。

一、准备工作1. 下载和安装OpenSSL:首先,我们需要从OpenSSL 的官方网站或其他可信来源下载并安装OpenSSL。

根据操作系统的不同,选择相应的版本进行下载和安装。

2. 生成RSA 密钥对:在开始使用OpenSSL 之前,建议先生成一对RSA 密钥对,用于后续的加密和解密操作。

在命令行中输入以下命令可以生成一个2048 位的RSA 密钥对:openssl genrsa -out private.key 2048该命令将生成一个名为private.key 的私钥文件,其中包含了生成的RSA 私钥。

接着,可以使用以下命令生成对应的公钥文件:openssl rsa -in private.key -pubout -out public.key这将生成一个名为public.key 的公钥文件,其中包含了与私钥对应的RSA 公钥。

二、公钥加密和私钥解密1. 加密数据:使用公钥加密数据是一种常见的操作,可以保证数据在传输过程中的机密性。

在命令行中输入以下命令可以使用公钥对数据进行加密:openssl rsautl -encrypt -pubin -inkey public.key -in plaintext.txt -out ciphertext.enc该命令将使用public.key 中的公钥对plaintext.txt 中的明文数据进行加密,并将密文数据存储到ciphertext.enc 文件中。

2. 解密数据:解密数据需要使用对应的私钥进行操作。

在命令行中输入以下命令可以使用私钥对密文数据进行解密:openssl rsautl -decrypt -inkey private.key -in ciphertext.enc -out plaintext.txt该命令将使用private.key 中的私钥对ciphertext.enc 中的密文数据进行解密,并将解密后的明文数据存储到plaintext.txt 文件中。

OpenSSL程序编写步骤

OpenSSL程序编写步骤

OpenSSL程序编写步骤OpenSSL是一个开放源代码的SSL协议的产品实现,它采用C语言作为开发语言,具备了跨系统的性能。

调用OpenSSL 的函数就可以实现一个SSL加密的安全数据传输通道,从而保护客户端和服务器之间数据的安全。

头文件:#include <openssl/ssl.h>#include <openssl/err.h>基于OpenSSL的程序都要遵循以下几个步骤:(1 ) OpenSSL初始化在使用OpenSSL之前,必须进行相应的协议初始化工作,这可以通过下面的函数实现:int SSL_library_int(void);(2 ) 选择会话协议在利用OpenSSL开始SSL会话之前,需要为客户端和服务器制定本次会话采用的协议,目前能够使用的协议包括TLSv1.0、SSLv2、SSLv3、SSLv2/v3。

需要注意的是,客户端和服务器必须使用相互兼容的协议,否则SSL会话将无法正常进行。

(3 ) 创建会话环境在OpenSSL中创建的SSL会话环境称为CTX,使用不同的协议会话,其环境也不一样的。

申请SSL会话环境的OpenSSL函数是:SSL_CTX *SSL_CTX_new(SSL_METHOD * method);当SSL会话环境申请成功后,还要根据实际的需要设置CTX的属性,通常的设置是指定SSL 握手阶段证书的验证方式和加载自己的证书。

制定证书验证方式的函数是:int SSL_CTX_set_verify(SSL_CTX *ctx,int mode,int(*verify_callback),int(X509_STORE_CTX *));为SSL会话环境加载CA证书的函数是:SSL_CTX_load_verify_location(SSL_CTX *ctx,const char *Cafile,const char *Capath);为SSL会话加载用户证书的函数是:SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file,int type);为SSL会话加载用户私钥的函数是:SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx,const char* file,int type);在将证书和私钥加载到SSL会话环境之后,就可以调用下面的函数来验证私钥和证书是否相符:int SSL_CTX_check_private_key(SSL_CTX *ctx);(4) 建立SSL套接字SSL套接字是建立在普通的TCP套接字基础之上,在建立SSL套接字时可以使用下面的一些函数:SSL *SSl_new(SSL_CTX *ctx);//申请一个SSL套接字int SSL_set_fd(SSL *ssl,int fd);)//绑定读写套接字int SSL_set_rfd(SSL *ssl,int fd);//绑定只读套接字int SSL_set_wfd(SSL *ssl,int fd);//绑定只写套接字(5) 完成SSL握手在成功创建SSL套接字后,客户端应使用函数SSL_connect( )替代传统的函数connect( )来完成握手过程:int SSL_connect(SSL *ssl);而对服务器来讲,则应使用函数SSL_ accept ( )替代传统的函数accept ( )来完成握手过程:int SSL_accept(SSL *ssl);握手过程完成之后,通常需要询问通信双方的证书信息,以便进行相应的验证,这可以借助于下面的函数来实现:X509 *SSL_get_peer_certificate(SSL *ssl);该函数可以从SSL套接字中提取对方的证书信息,这些信息已经被SSL验证过了。

openssl安装及使用图解

openssl安装及使用图解

Openssl安装及使用一软件Windows下需要用到的软件•C++编译器编译器就是将“高级语言”翻译为“机器语言(低级语言)”的程序。

一个现代编译器的主要工作流程:源代码(source code) → 预处理器(preprocessor) → 编译器(compiler) → 汇编程序(assembler) → 目标代码(object code) → 链接器(Linker) → 可执行程序(executables)。

c++编译器是一个与标准化C++高度兼容的编译环境。

这点对于编译可移植的代码十分重要。

编译器对不同的CPU会进行不同的优化。

•ActivePerl一个perl脚本解释器。

其包含了包括有Perl for Win32、Perl for ISAPI、PerlScript、Perl Package Manager四套开发工具程序,可以让你编写出适用于unix,windows,linux系统的CGI程序来。

安装的只是perl的一个解释程序啦,外观上也不会发生什么变化,你在windows的cmd界面里输入perl -v可查看你所安装的版本。

在你编译perl程序时会用到它。

法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。

•MASM 8.0•MASM是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm是Windows下开发汇编的利器。

它与windows平台的磨合程度非常好,但是在其他平台上就有所限制,使OpenSSLOpenSSL是一个强大的安全套接字层密码库,Apache使用它加密HTTPS,OpenSSH使用它加密SSH,它还是一个多用途的、跨平台的密码工具。

OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。

OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。

OpenSSL教程

OpenSSL API 的文档有些含糊不清。

因为还没有多少关于OpenSSL 使用的教程,所以对初学者来说,在应用程序中使用它可能会有一些困难。

那么怎样才能使用OpenSSL 实现一个基本的安全连接呢?本教程将帮助您解决这个问题。

学习如何实现OpenSSL 的困难部分在于其文档的不完全。

不完全的API 文档通常会妨碍开发人员使用该API,而这通常意味着它注定要失败。

但OpenSSL 仍然很活跃,而且正逐渐变得强大。

这是为什么?OpenSSL 是用于安全通信的最著名的开放库。

在google 中搜索“SSL library”得到的返回结果中,列表最上方就是OpenSSL。

它诞生于1998 年,源自Eric Young 和Tim Hudson 开发的SSLeay 库。

其他SSL 工具包包括遵循GNU General Public License 发行的GNU TLS,以及Mozilla Network Security Services(NSS)(请参阅本文后面的参考资料,以获得其他信息)。

那么,是什么使得OpenSSL 比GNU TLS、Mozilla NSS 或其他所有的库都优越呢?许可是一方面因素(请参阅参考资料)。

此外,GNS TLS(迄今为止)只支持TLS v1.0 和SSL v3.0 协议,仅此而已。

Mozilla NSS 的发行既遵循Mozilla Public License 又遵循GNU GPL,它允许开发人员进行选择。

不过,Mozilla NSS 比OpenSSL 大,并且需要其他外部库来对库进行编译,而OpenSSL 是完全自包含的。

与OpenSSL 相同,大部分NSS API 也没有文档资料。

Mozilla NSS 获得了PKCS #11 支持,该支持可以用于诸如智能卡这样的加密标志。

OpenSSL 就不具备这一支持。

先决条件要充分理解并利用本文,您应该:∙精通C 编程。

∙熟悉Internet 通信和支持Internet 的应用程序的编写。

使用VC6编译Curl和LibCurl+ssl+ssh2+zlib

使用VC6编译Curl和LibCurl+ssl+ssh2+zlib目录使用VC6编译Curl和LibCurl (2)编译Openssl (2)编译zlib (2)编译libssh2 (2)VC6 编译libssh2 (4)libssh2动态编译 (6)编译LibCurl (7)方法一: (7)方法二:使用Makefile.vc6编译 (12)编译Curl (13)小结 (15)使用VC6编译Curl和LibCurl 编译Openssl下载Openssl源码下载Perl一、cmd切换到openssl-1.0.2d,输入命令perl Configure VC-WIN32 no-asmms\do_msnmake -f ms\ntdll.mak(动态编译)nmake -f nt.mak (静态编译)编译zlibcd C:\curl\zlib-1.2.8nmake -f win32/Makefile.msc OBJA="inffast.obj"编译libssh2检测后发现libssh2没有编译,因为源码都没有下载。

最新版本下载地址:/download/libssh2-1.6.0.tar.gz解压打开C:\libssh2-1.6.0\win32\config.mk修改openssl和zli的路径。

这里使用OPENSSLINC=C:\openssl\include时编译错误!使用OPENSSLINC=C:\openssl\inc32 不出错。

下面的C:\openssl\out32dll改为C:\openssl\out32,生成的就是静态的文件。

使用VS2010的nmake /f Nmakefile生成成功:只是生成了libssh2.dll,没有库文件。

VC6 编译libssh2设置下头文件设置动态库编译出错:解决方法:打开 C:\libssh2-1.6.0\src\session.c写入代码,定义了宏,避免对其它版本的编译器造成影响。

Ubuntu18.04安装Openssl-1.1.1

Ubuntu18.04安装Openssl-1.1.11.查看版本Ubuntu的版本是18.04。

使⽤openssl version命令查看openssl版本,可以看到Ubuntu⾃带了openssl-1.1.0版本,因此安装新版本需要替换旧版本。

2.下载openssl打开openssl官⽹的可以看到最新的软件包,下载openssl-1.1.1b.tar.gz。

放到Ubuntu系统中。

3.解压和安装使⽤命令tar -xzvf openssl-1.1.1b.tar.gz解压。

使⽤cd openssl-1.1.1b进⼊⽬录,并且使⽤./config⽣成MakeFile,不加任何参数,默认的安装位置为:/usr/local/bin/openssl。

使⽤make进⾏编译不放⼼的话可以使⽤make tset检查⼀下(可选步骤)使⽤sudo make install进⾏安装,这⾥⼀定要选择root⽤户的权限执⾏。

4.备份与替换到上⼀步openssl就算安装好了,但是还⽆法使⽤,需要通过软链接的⽅式将新旧版本就⾏替换,依次运⾏下列命令。

sudo mv /usr/bin/openssl /usr/bin/openssl.old //将旧版本的openssl进⾏备份sudo ln -s /usr/local/bin/openssl /usr/bin/openssl //将新版本的openssl进⾏软链接cd /etc/ //进⼊etc⽬录su //下⼀步⼀定要切换到root⽤户echo "/usr/local/lib" >> ld.so.conf //将openssl的安装路径加⼊配置中ldconfig //重新加载配置使⽤openssl version查看,已经安装好。

如果需要更换版本的话(⼀般也不会),修改软链接的名称即可,参照:sudo mv /usr/bin/openssl /usr/bin/openssl.newsudo mv /usr/bin/openssl.old /usr/bin/openssl5.安装依赖库openssl安装结束之后,需要安装依赖库才能够进⾏编程,使⽤sudo apt-get install libssl-dev安装依赖库,可以看到同时也下载了libssl-doc。

openconnect windows编译

openconnect windows编译
OpenConnect 是一种用于连接到 VPN 或代理服务器的开源 VPN 客户端。

它支持多种协议,包括 PPTP、L2TP 和 QSVPN,并且可以在 Windows、Linux 和macOS 等平台上使用。

要在 Windows 上编译 OpenConnect,需要遵循以下步骤:
1. 下载最新版本的 OpenConnect 源代码,可以从官方网站下载。

2. 解压源代码文件,并进入解压缩后的目录。

3. 运行命令行工具目录中的 cmake 命令,以生成编译所需的构建环境。

例如:
```
cmake ..
```
这将在当前目录下生成一个 build 目录,其中包含构建所需的所有文件。

4. 运行编译命令,以生成可执行文件。

例如:
```
make
```
这将在 build 目录下生成两个可执行文件:openconnect 和
openconnect_ssl。

5. 安装 OpenConnect。

解压缩生成的可执行文件,并将它们移动到适当的位置。

例如,可以将 openconnect 可执行文件移动到 C:Program FilesOpenConnect。

完成这些步骤后,就可以在 Windows 上编译和安装 OpenConnect 了。

编译过程可能需要一些时间,具体取决于计算机的性能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

不同平台下openssl的编译方法
1.Window32位平台:
(一)首先安装visualstudio2005(visualc++),perl,nasm(注意在系统环境变量中
添加nasm,以免后面执行的时候会找不到nasm相关的命令)

(二)进入安装好的visualstudio2005中的visualstudiotools中的visualstudio2005
commandprompt终端,在终端中,将当前的路径设置为openssl源文件的路径
然后执行perlConfigureVC-WIN32--prefix=c:\openssl\dir其中的prefix指定openssl将来
要安装的目录。

(三)执行ms\do_nasm
(四)然后开始编译,执行命令:nmake-fms\ntdll.mak。如果编译成功,在out32dll
文件中会产生一些dlls和executables文件

(五)如果你想测试一下编译是否成功,可以运行:nmake-fms\ntdll.maktest
(六)如果上面的步骤都没有出现问题,下面可以开始安装了,执行命令:nmake-f
ms\ntdll.makinstall安装好之后,会在一开始指定的路径中生成文件。比如,在路
径中C:\openssl\dir中可以找到安装之后生成的文件。

Window64位平台:
进入visualstudio2005中的visualstudiotools的visualstudio2005x64crosstoolscommandprompt
中运行

(一)perlConfigureVC-WIN64A
(二)ms\do_win64a
(三)nmake-fms\ntdll.mak
(四)cdout32dll
(五)..\ms\test

2.Linux平台32位
(一)$./config--prefix=参数(其中的prefix指定openssl将来要安装的目录。)
(二)$make
(三)$maketest
(四)$makeinstall

Linux64位平台
(一)./Configurelinux-generic64
(二)$make
(三)$maketest

3.Solaris平台下openssl的编译:
(一)./Configuresolaris-sparcv9-gcc
(二)make
(三)maketest

相关文档
最新文档