[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-----
相关推荐
虾..4 分钟前
Linux 环境变量&&进程优先级
linux·运维·服务器
多多*1 小时前
Java复习 操作系统原理 计算机网络相关 2025年11月23日
java·开发语言·网络·算法·spring·microsoft·maven
p***43481 小时前
Rust网络编程模型
开发语言·网络·rust
NewCarRen1 小时前
汽车网络安全管理系统的需求分析及潜在框架设计
网络·汽车网络安全
捷米研发三部1 小时前
CC-Link转Modbus TCP协议转换网关实现三菱 PLC与传感器通讯在快递分拣中心的应用案例
网络·网络协议
嵌入式-小王1 小时前
每天掌握一个网络协议----ARP协议
网络·网络协议·arp
郝学胜-神的一滴3 小时前
Linux命名管道:创建与原理详解
linux·运维·服务器·开发语言·c++·程序人生·个人开发
宾有为3 小时前
【Linux】Linux 常用指令
linux·服务器·ssh
wanhengidc3 小时前
云手机性能如何?
运维·服务器·科技·智能手机·云计算
ajassi20003 小时前
开源 Linux 服务器与中间件(十三)FRP服务器、客户端安装和测试
linux·服务器·开源