per*_*oud 4 ubuntu openssl aes
我使用的是 Ubuntu 19.04,它附带了 OpenSSL 1.1.1b。系统信息如下。SSL_key_update:wrong ssl version我在传输大文档时遇到了KEYUPDATE。
我正在启动我的服务器:
openssl s_server -accept 443 -cert /app/keys/cert.pem  -key /app/keys/private.key
我使用 AES128 通过以下命令连接到服务器:
openssl s_client -connect localhost:443 -cipher AES128-GCM-SHA256 -tls1_2
有时它会起作用,特别是当我发送的数据少于 100KB 时。然而,对于较大的传输,它通常会停止:
KEYUPDATE
140048546800768:error:1420310A:SSL routines:SSL_key_update:wrong ssl version:../ssl/ssl_lib.c:2090:
其他人也看到了这一点,但他们似乎没有断定配置的哪个方面导致了问题。
有趣的是,如果我s_client针对同一个 1.1.1b 服务器运行较旧的 openssl 1.1.0h-fips,则在使用相同-cipher AES128-GCM-SHA256 -tls1_2选项时它工作得很好。事实上它说:
Protocol  : TLSv1.2
Cipher    : AES128-GCM-SHA256
与 1.1.1b 客户端一样...只是 1.1.1b 客户端似乎无法正常工作。
问题是什么?我该如何解决?
这是系统信息:
cli5# openssl version -a
OpenSSL 1.1.1b  26 Feb 2019
built on: Wed Apr 17 16:50:04 2019 UTC
platform: debian-amd64
options:  bn(64,64) rc4(16x,int) des(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -Wa,--noexecstack -g -O2 -fdebug-prefix-map=/build/openssl-FmdPCA/openssl-1.1.1b=. -fstack-protector-strong -Wformat -Werror=format-security -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2
OPENSSLDIR: "/usr/lib/ssl"
ENGINESDIR: "/usr/lib/x86_64-linux-gnu/engines-1.1"
Seeding source: os-specific
cli5# cat /proc/version
Linux version 5.0.0-17-generic (buildd@lcy01-amd64-015) (gcc version 8.3.0 (Ubuntu 8.3.0-6ubuntu1)) #18-Ubuntu SMP Tue Jun 4 15:34:08 UTC 2019
cli5#
s_client是一个测试工具,它解释在 stdin 上收到的某些字母以执行某些操作。KeyUpdate 操作通过K/触发k。TLSv1.3然而,KeyUpdate 仅在协商后才有意义。TLSv1.2但是,您仅在命令行上明确请求。在这些情况下使用K/k会导致“ssl 版本错误”错误。
您可以使用该选项关闭交互式命令-ign_eof- 尽管这确实会产生保持运行的不幸副作用s_client,即使在您通过管道传输的文件已全部发送之后也是如此。
| 归档时间: | 
 | 
| 查看次数: | 2164 次 | 
| 最近记录: |