openssl 1.1.1 build, 上层应用option选项及openssl s_client 用法

2024-02-16 01:38

本文主要是介绍openssl 1.1.1 build, 上层应用option选项及openssl s_client 用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【build】

./Configure linux-x86_64 --prefix=/usr shared

如果想提供zlib压缩,那么可以加zlib参数:

./Configure linux-x86_64 --prefix=/usr shared zlib

make

make install

如果报错BIO_f_zlib找不到,那么查看一下libcrypto.so.1.1,libcrypto.a等等目录是否正确,比如:

./usr/local/lib64/libcrypto.so.1.1
./usr/local/lib64/pkgconfig/libcrypto.pc
./usr/local/lib64/libcrypto.a
./usr/local/lib64/libcrypto.so
./usr/lib64/libcrypto.so.1.1
./usr/lib64/pkgconfig/libcrypto.pc
./usr/lib64/libcrypto.a
./usr/lib64/libcrypto.so

如果没有,可以将openssl-1.1.1目录下面build好的libcrypto库文件拷贝到正确的目录下面。

查看版本:               openssl version -a

查看disable的功能:openssl list -disabled,结果比如:

[lxx@localhost sipp]$ openssl list -disabled
Disabled algorithms:
HEARTBEATS
MD2
RC5
SCTP
SSL3

 

【上层应用option选项】

具体option可以参考https://www.openssl.org/docs/man1.1.1/man3/

常用:SSL_CTX_set_options, SSL_clear_options

比如:对于上层应用来说,默认是不支持ssl compression的,如果需要修改,可以设置:

SSL_CTX* ssl_ctx = SSL_CTX_new(TLSv1_2_method());
SSL_CTX_clear_options(ssl_ctx, SSL_OP_NO_COMPRESSION);

比如:默认是支持session resumption的,可以将其禁止(同时禁止session id以及session ticket):

SSL_CTX_set_session_cache_mode(ssl_ctx, SSL_SESS_CACHE_OFF);
SSL_CTX_set_options(ssl_ctx, SSL_OP_NO_TICKET | SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION);
SSL_CTX_set_num_tickets(ssl_ctx, 0);

 

【openssl s_client用法】

openssl s_client [-connect host:port] [-verify depth] [-cert filename] [-key filename] [-CApath directory] [-CAfile filename] [-reconnect] [-pause] [-showcerts] [-debug] [-nbio_test] [-state] [-nbio] [-crlf] [-ign_eof] [-quiet] [-ssl2] [-ssl3] [-tls1] [-no_ssl2] [-no_ssl3] [-no_tls1] [-bugs] [-cipher cipherlist] [-rand file(s)]

 

参考:

https://www.openssl.org/docs/man1.1.1/man3/

https://www.mkssoftware.com/docs/man1/openssl_s_client.1.asp

 

这篇关于openssl 1.1.1 build, 上层应用option选项及openssl s_client 用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/713139

相关文章

CSS3 布局样式及其应用举例

《CSS3布局样式及其应用举例》CSS3的布局特性为前端开发者提供了无限可能,无论是Flexbox的一维布局还是Grid的二维布局,它们都能够帮助开发者以更清晰、简洁的方式实现复杂的网页布局,本文给... 目录深入探讨 css3 布局样式及其应用引言一、CSS布局的历史与发展1.1 早期布局的局限性1.2

Java中 instanceof 的用法详细介绍

《Java中instanceof的用法详细介绍》在Java中,instanceof是一个二元运算符(类型比较操作符),用于检查一个对象是否是某个特定类、接口的实例,或者是否是其子类的实例,这篇文章... 目录引言基本语法基本作用1. 检查对象是否是指定类的实例2. 检查对象是否是子类的实例3. 检查对象是否

Java中的内部类和常用类用法解读

《Java中的内部类和常用类用法解读》:本文主要介绍Java中的内部类和常用类用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录内部类和常用类内部类成员内部类静态内部类局部内部类匿名内部类常用类Object类包装类String类StringBuffer和Stri

在React聊天应用中实现图片上传功能

《在React聊天应用中实现图片上传功能》在现代聊天应用中,除了文字和表情,图片分享也是一个重要的功能,本文将详细介绍如何在基于React的聊天应用中实现图片上传和预览功能,感兴趣的小伙伴跟着小编一起... 目录技术栈实现步骤1. 消息组件改造2. 图片预览组件3. 聊天输入组件改造功能特点使用说明注意事项

Redis中RedisSearch使用及应用场景

《Redis中RedisSearch使用及应用场景》RedisSearch是一个强大的全文搜索和索引模块,可以为Redis添加高效的搜索功能,下面就来介绍一下RedisSearch使用及应用场景,感兴... 目录1. RedisSearch的基本概念2. RedisSearch的核心功能(1) 创建索引(2

Python 异步编程 asyncio简介及基本用法

《Python异步编程asyncio简介及基本用法》asyncio是Python的一个库,用于编写并发代码,使用协程、任务和Futures来处理I/O密集型和高延迟操作,本文给大家介绍Python... 目录1、asyncio是什么IO密集型任务特征2、怎么用1、基本用法2、关键字 async1、async

Python datetime 模块概述及应用场景

《Pythondatetime模块概述及应用场景》Python的datetime模块是标准库中用于处理日期和时间的核心模块,本文给大家介绍Pythondatetime模块概述及应用场景,感兴趣的朋... 目录一、python datetime 模块概述二、datetime 模块核心类解析三、日期时间格式化与

SpringBoot中四种AOP实战应用场景及代码实现

《SpringBoot中四种AOP实战应用场景及代码实现》面向切面编程(AOP)是Spring框架的核心功能之一,它通过预编译和运行期动态代理实现程序功能的统一维护,在SpringBoot应用中,AO... 目录引言场景一:日志记录与性能监控业务需求实现方案使用示例扩展:MDC实现请求跟踪场景二:权限控制与

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

SpringBoot UserAgentUtils获取用户浏览器的用法

《SpringBootUserAgentUtils获取用户浏览器的用法》UserAgentUtils是于处理用户代理(User-Agent)字符串的工具类,一般用于解析和处理浏览器、操作系统以及设备... 目录介绍效果图依赖封装客户端工具封装IP工具实体类获取设备信息入库介绍UserAgentUtils