[TLS] 使用 OpenSSL 命令行测试 TLS13 0-RTT

要求 OpenSSL 的版本至少是 1.1.1 以及之后的版本


Server command


bash 复制代码
openssl s_server -accept 4433 -tls1_3 -key domain.key -cert domain.crt -keylogfile server.log -early_data

early_data: 指定服务器端接受客户端发送的 early_data

还有另外一个配置可用: max_early_data 用来指定服务器端愿意接受的最大的 early_data 的数据量

我这里还用了 keylogfile 选项,输出过程中的 tls key log, 用于在 wireshark 中查看明文内容


Client command


bash 复制代码
openssl s_client -connect 127.0.0.1:4433  -tls1_3 -sess_out session.dat

sess_out: 将当前 session 信息存储到一个文件中,以下下一次使用

bash 复制代码
openssl s_client -connect 127.0.0.1:4433  -tls1_3 -sess_in session.dat -early_data hello.txt -debug

sess_in: 使用上一步生成的 session 文件,进行 会话恢复。

early_data 指定文件名, 这个文件中存放想要发送的 0-RTT 数据。


session 文件示例:

bash 复制代码
-----BEGIN SSL SESSION PARAMETERS-----
MIIEOgIBAQICAwQEAhMCBCCqZT2bkX35D0acIjq/YzP19wQyrguTK3lP3g+9+mpR
LQQwEdwqTLujEedq7PqmP+837tF84VUlo/3/hRR1i1JCkxPFLfDP9Cu6tf4Dz996
aqY5oQYCBGc0JuyiBAICHCCjggOIMIIDhDCCAmygAwIBAgIUSNNbwuXBGVaut7Zz
rC1QRI6wAbUwDQYJKoZIhvcNAQELBQAwWzELMAkGA1UEBhMCQVUxEzARBgNVBAgM
ClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEU
MBIGA1UEAwwLZXhhbXBsZS5vcmcwHhcNMjIwMzAzMDgxMDE0WhcNNDkwNzE5MDgx
MDE0WjBVMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UE
CgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMQ4wDAYDVQQDDAVhZG1pbjCCASIw
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKz+lAi0f7O08/Ce5jMxPU7eWJHO
msCRYhA2wmxHKglUVLcOCeT+ff04uAL5TKnYQCUIy+NuIlin6w1Zl0q/QBHxsw15
/dN5mmOJNQJoMcTXLT3nI7Rg2lkRQayhZDL8UgKlceqqUlKwtGJyWTWQX54H+jQL
53V2DEHnNuJK7eVwDNx8eXAo+JJSc79khiiE3C2lQwgLAjpbrEESWDWo2lGJWKkh
ooR6pFDz5Ej1K4gdo/1IhMn0RvHURBEECKLIiqJUzYHNA83/s2NewS9m4uzqKjs7
POh40ifoEPjgkitkHpJyAdERIj8VCOBNEiW8DyCSLHtn0yrWvu+gJ8CwzOkCAwEA
AaNGMEQwHwYDVR0jBBgwFoAUmPnt26vJQaO+oBdEL/TCZt5quPswCQYDVR0TBAIw
ADAWBgNVHREEDzANggtleGFtcGxlLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAJ5WE
vJnEpl/vxZ+eZyA/PSKTx8yuqi7WaRK3B3qZRuGFqzZ5UXtNkaygI6HCgAt8AMAO
Q5A2XLWzw6L8t5y9zh39XKyn5gMQYN64zniKc9j/hvygu6wg6bMlPPfKIXM8A60X
NJ+LCuGFZXEPN534pMMG4NZlEsoH3jv/gF/z0z41Z0iVxgdktItf6Boeml8MZfiu
y1RLSPangf18XqKBSuCVU+6/CbgqRsHejfXaUDCEVLxeiiw7FVoifYOlHf2Qrze9
9tuwKVNTwmtsBefqTHY4aeuwvl4y5gInmklcBWpJ2LFfhibKJy19qIlJ0h90eGP8
sHz4nZ5t2GgKns2kKqQCBAClAwIBFakEAgIcIKoiBCDMp5Ew8PQd5gnGjeFJTssj
OxwWG28ScqOaGq+F5BUkQK4GAgQ42AK1rwQCAkAA
-----END SSL SESSION PARAMETERS-----
相关推荐
!chen8 分钟前
k8s-Pod中的网络通信
网络·docker·kubernetes
余—笙2 小时前
Linux(docker)安装搭建CuteHttpFileServer/chfs文件共享服务器
linux·服务器·docker
lang201509282 小时前
Linux高效备份:tar与gzip完全指南
linux·运维·服务器
wanhengidc3 小时前
云手机的基本原理
运维·服务器·游戏·智能手机·云计算
篙芷3 小时前
两台服务器 NFS 共享目录实战
运维·服务器
悲伤小伞3 小时前
Linux_Socket_UDP
linux·服务器·网络·c++·网络协议·udp
2301_816073833 小时前
Chrony服务器
运维·服务器
学网络的APang4 小时前
Apache HTTP Server 2.4.65 详细安装教程(基于 CentOS 7)
运维·网络
实心儿儿4 小时前
Linux系统 —— 基础命令1
linux·运维·服务器
FreeBuf_5 小时前
SesameOp 恶意软件滥用 OpenAI Assistants API 实现与 C2 服务器的隐蔽通信
运维·服务器·网络