[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-----
相关推荐
G3113542273几秒前
本地部署和云端部署的优缺点
网络
江湖有缘10 分钟前
华为云之基于鲲鹏服务器部署打砖块小游戏全流程
服务器·华为云·github
ALGO阿狗11 分钟前
一款简单易用的远程日志查看器,可实时查看云服务器上的日志数据
运维·服务器·日志
请你喝好果汁64114 分钟前
Linux-sh -c \dirname
linux·运维·服务器
Trouvaille ~15 分钟前
【Linux】线程同步与互斥(四):线程池与任务管理
linux·运维·服务器·c++·操作系统·线程池·日志系统
噔噔君15 分钟前
蜂窝网络模组的MQTT功能
网络
HaiLang_IT22 分钟前
【信息安全毕业设计】基于双层滤波与分割点改进孤立森林的网络入侵检测算法研究
网络·算法·课程设计
qinyia23 分钟前
如何在服务器上查看网络连接数并进行综合分析
linux·运维·服务器·开发语言·人工智能·php
Alter123024 分钟前
拆开“超节点”的伪装:没有内存统一编址,仍是服务器堆叠
运维·服务器
思麟呀26 分钟前
进程间通信
linux·运维·服务器