[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-----
相关推荐
虎头金猫2 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
wuyk5552 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
-梅2 天前
linux(8) 软硬链接
linux·运维·服务器
Wang's Blog2 天前
Java 项目实战: 外卖平台-文件下载与ServletOutputStream回写浏览器
服务器·项目开发
琥珀色糖2 天前
SimlpeHttp
linux·服务器
第十人i2 天前
Linux 日志管理系统:journald 配置与优化
linux·服务器
QYRdata2 天前
年均增速24.2%!机器人数据湖未来六年增长动能强劲
网络·机器人·服务发现
CHENKONG_CK2 天前
破解制鞋打磨痛点:RFID赋能去毛刺工序自动化升级
网络·单片机·嵌入式硬件·网络协议·tcp/ip
chshang19922 天前
工业路由器是什么?浅谈5G工业网络中的IR602
网络·物联网·5g·智能路由器
萧瑟余晖3 天前
Netty 核心组件与 Reactor 模型详解
网络·架构