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

相关文章

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

Java中HashMap的用法详细介绍

《Java中HashMap的用法详细介绍》JavaHashMap是一种高效的数据结构,用于存储键值对,它是基于哈希表实现的,提供快速的插入、删除和查找操作,:本文主要介绍Java中HashMap... 目录一.HashMap1.基本概念2.底层数据结构:3.HashCode和equals方法为什么重写Has

Android协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

PostgreSQL简介及实战应用

《PostgreSQL简介及实战应用》PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性、高性能、扩展性和复杂查询能力在众多项目中得到广泛应用,本文将从基础概念讲起,逐步深入到高... 目录前言1. PostgreSQL基础1.1 PostgreSQL简介1.2 基础语法1.3 数据库

Python异步编程之await与asyncio基本用法详解

《Python异步编程之await与asyncio基本用法详解》在Python中,await和asyncio是异步编程的核心工具,用于高效处理I/O密集型任务(如网络请求、文件读写、数据库操作等),接... 目录一、核心概念二、使用场景三、基本用法1. 定义协程2. 运行协程3. 并发执行多个任务四、关键

Python中的filter() 函数的工作原理及应用技巧

《Python中的filter()函数的工作原理及应用技巧》Python的filter()函数用于筛选序列元素,返回迭代器,适合函数式编程,相比列表推导式,内存更优,尤其适用于大数据集,结合lamb... 目录前言一、基本概念基本语法二、使用方式1. 使用 lambda 函数2. 使用普通函数3. 使用 N

Python中yield的用法和实际应用示例

《Python中yield的用法和实际应用示例》在Python中,yield关键字主要用于生成器函数(generatorfunctions)中,其目的是使函数能够像迭代器一样工作,即可以被遍历,但不会... 目录python中yield的用法详解一、引言二、yield的基本用法1、yield与生成器2、yi