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

相关文章

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

解决jupyterLab打开后出现Config option `template_path`not recognized by `ExporterCollapsibleHeadings`问题

《解决jupyterLab打开后出现Configoption`template_path`notrecognizedby`ExporterCollapsibleHeadings`问题》在Ju... 目录jupyterLab打开后出现“templandroidate_path”相关问题这是 tensorflo

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec

深入解析Spring TransactionTemplate 高级用法(示例代码)

《深入解析SpringTransactionTemplate高级用法(示例代码)》TransactionTemplate是Spring框架中一个强大的工具,它允许开发者以编程方式控制事务,通过... 目录1. TransactionTemplate 的核心概念2. 核心接口和类3. TransactionT

数据库使用之union、union all、各种join的用法区别解析

《数据库使用之union、unionall、各种join的用法区别解析》:本文主要介绍SQL中的Union和UnionAll的区别,包括去重与否以及使用时的注意事项,还详细解释了Join关键字,... 目录一、Union 和Union All1、区别:2、注意点:3、具体举例二、Join关键字的区别&php

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

JavaScript中的isTrusted属性及其应用场景详解

《JavaScript中的isTrusted属性及其应用场景详解》在现代Web开发中,JavaScript是构建交互式应用的核心语言,随着前端技术的不断发展,开发者需要处理越来越多的复杂场景,例如事件... 目录引言一、问题背景二、isTrusted 属性的来源与作用1. isTrusted 的定义2. 为

Python调用另一个py文件并传递参数常见的方法及其应用场景

《Python调用另一个py文件并传递参数常见的方法及其应用场景》:本文主要介绍在Python中调用另一个py文件并传递参数的几种常见方法,包括使用import语句、exec函数、subproce... 目录前言1. 使用import语句1.1 基本用法1.2 导入特定函数1.3 处理文件路径2. 使用ex

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像