服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - OpenSSL动态链接库源码安装教程

OpenSSL动态链接库源码安装教程

2022-02-23 14:04尘世中迷途小码农 C/C++

Openssl 是一个开放源代码的SSL协议的产品实现,它采用C语言作为开发语言,具备了跨系统的性能。这篇文章主要介绍了OpenSSL动态链接库源码安装,需要的朋友可以参考下

Openssl 是一个开放源代码的SSL协议的产品实现,它采用C语言作为开发语言,具备了跨系统的性能。调用Openssl的函数就可以实现一个SSL加密的安全数据传输通道,从而保证客户端和服务器之间数据的安全。

OpenSSL整个软件包大概可以分成三个主要的功能部分:SSL协议库、应用程序以及密码算法库。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。

如果程序需要使用OpenSSL的API,那么可以通过源码安装得到DLL或者SO库文件,这样就能在Windows和Linux环境下使用其API进行二次开发了。

 

下载源码

从Github上下载

请注意选择分支:

https://github.com/openssl/opensslhttps://github.com/openssl/openssl

OpenSSL动态链接库源码安装教程

https://github.com/openssl/openssl

从官网下载

https://www.openssl.org/source/https://www.openssl.org/source/

OpenSSL动态链接库源码安装教程

https://www.openssl.org/source/可以选择目前最新版本:openssl-1.1.1l.tar.gz,

对于历史版本,可以从这里下载:https://www.openssl.org/source/old/。

这里我们下载 openssl-1.1.1l.tar.gz:

OpenSSL动态链接库源码安装教程

解压下载后的OpenSSL,分别存放到两个目录,用于在Windows下编译32位和64位版本,

OpenSSL动态链接库源码安装教程

 

安装ActivePerl

由于OpenSSL的配置是使用Perl写的,因此在Windows环境上编译时需要安装一个Perl环境,官方推荐的是ActivePerl。

下载ActivePerl:https://platform.activestate.com/ActiveState/Perl-5.32/distributions

OpenSSL动态链接库源码安装教程

如果官网下载不方便,可以从这里下载,https://xiazai.zzvips.com/202111/yuanma/ActivePerl_jb51.rar

 

Windows下编译64位OpenSSL动态库

假设系统已安装VS,从开始菜单找到 “x64 Native Tools Command…”,点击右键,以管理员方式打开。

注:这里不能选错,如果选错后面编译可能会出现问题。

OpenSSL动态链接库源码安装教程

定位到64位OpenSSL源码的根路径:

C:\Users\wang xiaohui\Desktop\OpenSSL_1_1_1_l\openssl-1.1.1l_x64\openssl-1.1.1l

OpenSSL动态链接库源码安装教程

执行命令:

perl Configure VC-WIN64A no-asm --prefix="C:\Users\wang xiaohui\Desktop\OpenSSL_1_1_1_l\openssl-1.1.1l_x64\output"

OpenSSL动态链接库源码安装教程

执行命令:

nmake

OpenSSL动态链接库源码安装教程

执行命令:

nmake

OpenSSL动态链接库源码安装教程

执行命令:

nmake install

OpenSSL动态链接库源码安装教程

这样就可以在--prefix=指定的目录下找到编译后的内容了,

OpenSSL动态链接库源码安装教程

 

Windows下编译32位OpenSSL动态库

整体步骤和编译64位动态库相同,不同地方有两点,

需要选择命令行工具 “x86 Native Tools Command…

OpenSSL动态链接库源码安装教程

配置时需要执行下面命令

perl Configure VC-WIN32 no-asm --prefix="C:\Users\wang xiaohui\Desktop\OpenSSL_1_1_1_l\openssl-1.1.1l_x86\output"

Ubuntu 21.04 下安装OpenSSL动态库

注:确保当前环境已经安装好gcc和make等工具。

拷贝源码到路径:/home/sunny/work/build/openssl/openssl-1.1.1l

创建output目录:/home/sunny/work/build/openssl/output,并在源码根路径下执行下面命令:

./config --prefix=/home/sunny/work/build/openssl/output

OpenSSL动态链接库源码安装教程

执行命令:

make

OpenSSL动态链接库源码安装教程

执行命令:

make test

OpenSSL动态链接库源码安装教程

执行命令:

make install

OpenSSL动态链接库源码安装教程

此时在--prefix指定的目录下即可找到编译后的内容:

OpenSSL动态链接库源码安装教程

安装完成后直接执行bin下面的openssl命令可能会遇到如下问题:

OpenSSL动态链接库源码安装教程

这是因为无法找到动态链接库,可通过以下方法解决。

root身份执行以下命令添加库引用目录:

echo "/home/sunny/work/build/openssl/output/lib" >> /etc/ld.so.conf.d/libc.conf && ldconfig

此时就不会有问题了,

OpenSSL动态链接库源码安装教程

到此这篇关于OpenSSL动态链接库源码安装的文章就介绍到这了,更多相关OpenSSL动态链接库内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/funnyrand/article/details/121305804

延伸 · 阅读

精彩推荐
  • C/C++详解c语言中的 strcpy和strncpy字符串函数使用

    详解c语言中的 strcpy和strncpy字符串函数使用

    strcpy 和strcnpy函数是字符串复制函数。接下来通过本文给大家介绍c语言中的strcpy和strncpy字符串函数使用,感兴趣的朋友跟随小编要求看看吧...

    spring-go5642021-07-02
  • C/C++c++ 单线程实现同时监听多个端口

    c++ 单线程实现同时监听多个端口

    这篇文章主要介绍了c++ 单线程实现同时监听多个端口的方法,帮助大家更好的理解和学习使用c++,感兴趣的朋友可以了解下...

    源之缘11542021-10-27
  • C/C++学习C++编程的必备软件

    学习C++编程的必备软件

    本文给大家分享的是作者在学习使用C++进行编程的时候所用到的一些常用的软件,这里推荐给大家...

    谢恩铭10102021-05-08
  • C/C++C++之重载 重定义与重写用法详解

    C++之重载 重定义与重写用法详解

    这篇文章主要介绍了C++之重载 重定义与重写用法详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下...

    青山的青6062022-01-04
  • C/C++C语言实现电脑关机程序

    C语言实现电脑关机程序

    这篇文章主要为大家详细介绍了C语言实现电脑关机程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    xiaocaidayong8482021-08-20
  • C/C++C语言中炫酷的文件操作实例详解

    C语言中炫酷的文件操作实例详解

    内存中的数据都是暂时的,当程序结束时,它们都将丢失,为了永久性的保存大量的数据,C语言提供了对文件的操作,这篇文章主要给大家介绍了关于C语言中文件...

    针眼_6702022-01-24
  • C/C++C/C++经典实例之模拟计算器示例代码

    C/C++经典实例之模拟计算器示例代码

    最近在看到的一个需求,本以为比较简单,但花了不少时间,所以下面这篇文章主要给大家介绍了关于C/C++经典实例之模拟计算器的相关资料,文中通过示...

    jia150610152021-06-07
  • C/C++深入理解goto语句的替代实现方式分析

    深入理解goto语句的替代实现方式分析

    本篇文章是对goto语句的替代实现方式进行了详细的分析介绍,需要的朋友参考下...

    C语言教程网7342020-12-03