ubuntu 安装并行版本时两个不同的openssl版本

2wnc66cl  于 2023-03-22  发布在  其他
关注(0)|答案(1)|浏览(539)

我想在服务器上安装一个并行的openssl版本来启用内核tls。因为我不能直接在服务器上工作,所以我创建了下一个Dockerfile来安装openssl 3.1.0并使用enable-ktls:

# syntax=docker/dockerfile:1

FROM ubuntu:latest 
RUN apt-get update
RUN apt-get install -y build-essential cmake zlib1g-dev libcppunit-dev git subversion wget && rm -rf /var/lib/apt/lists/*

RUN wget https://www.openssl.org/source/openssl-3.0.1.tar.gz -O - | tar -xz
WORKDIR /openssl-3.0.1
RUN ./config enable-ktls --prefix=/usr/local/openssl --openssldir=/usr/local/openssl && make && make install

然后当我运行apps/openssl时,我会得到这两个版本:

root@9dba9fef1455:/openssl-3.0.1# apps/openssl version -a
OpenSSL 3.0.1 14 Dec 2021 (Library: OpenSSL 3.0.2 15 Mar 2022)
built on: Thu Oct 27 17:06:56 2022 UTC
platform: debian-amd64
options:  bn(64,64)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -ffile-prefix-map=/build/openssl-WsPfAX/openssl-3.0.2=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_TLS_SECURITY_LEVEL=2 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
OPENSSLDIR: "/usr/lib/ssl"
ENGINESDIR: "/usr/lib/x86_64-linux-gnu/engines-3"
MODULESDIR: "/usr/lib/x86_64-linux-gnu/ossl-modules"
Seeding source: os-specific
CPUINFO: OPENSSL_ia32cap=0x7ffef3ffffebffff:0x40417f5ef3bfb7ef

问题是,每当我尝试使用该库执行服务器时,我都会得到错误:

apps/openssl s_server -key key.pem -cert cert.pem -tls1_2 -cipher ECDHE-RSA-AES128-GCM-SHA256 -accept 443 -ktls
s_server: Unknown option: -ktls

所以我猜它是从服务器而不是从docker使用openssl库。我在这里错过了什么?

omhiaaxx

omhiaaxx1#

您执行的openssl命令不是您在docker上安装的命令,这就是我猜您遇到问题的原因。请尝试在运行s_server时直接在docker中指定openssl二进制文件的路径。
试试这个/apps/openssl/apps/openssl s_server -key key.pem -cert cert.pem -tls1_2 -cipher ECDHE-RSA-AES128-GCM-SHA256 -accept 443 -ktls

相关问题