socat openssl-listen - 确保正在使用 TLSv1.3
socat openssl-listen - ensuring TLSv1.3 is in use
我有一个工作 client/server 场景,使用 socat
和以下命令:
服务器
socat openssl-listen:5000,reuseaddr,cert=server.pem,cafile=server.crt,verify=0 STDIO
客户端
socat stdio openssl-connect:localhost:5000,cert=server.pem,cafile=server.crt,verify=0
这是一个更大系统的一部分,但上面的命令对我们想要实现的目标很有效。但是,我需要确保正在使用 TLS v1.3,并确保它是唯一使用的加密版本。我可以确保使用类似以下内容的 1.2 版:
socat - OPENSSL-LISTEN:443,method=TLS1.2,verify=0,cert=cert.pem,key=key.pem
openssl是最新的(1.1.1版本),应该支持TLS1.3
在撰写本文时(2020 年 2 月),我能找到的几乎所有关于 socat 的文档都只提到了设置 TLS1.2,而没有提到 TLS1.3。对于openssl
命令行,可以设置-tls1_3
,例如:
openssl s_server -accept 443 -tls1_3 -ciphersuites TLS_AES_256_GCM_SHA384 -key key.pem -cert cert.pem
[1] https://8gwifi.org/docs/tlsv13.jsp
此命令有效(连同相关的 s_client
命令),但我无法获得通过 socat 传入的相同参数。
socat
版本 1.7.4.0 及更高版本支持选项 openssl-min-proto-version
[1],其有效值为 TLS1.3
。这将强制使用 TLS v1.3 或更高版本。
因此您的命令将变为:
服务器
socat openssl-listen:5000,reuseaddr,cert=server.pem,cafile=server.crt,verify=0,openssl-min-proto-version=TLS1.3 STDIO
客户
socat stdio openssl-connect:localhost:5000,cert=server.pem,cafile=server.crt,verify=0,openssl-min-proto-version=TLS1.3
请注意,这并不强制完全 使用 TLS v1.3。为此,请将 ,openssl-max-proto-version=TLS1.3
附加到选项列表(以便 min 和 max 都等于 TLS1.3
)。
我有一个工作 client/server 场景,使用 socat
和以下命令:
服务器
socat openssl-listen:5000,reuseaddr,cert=server.pem,cafile=server.crt,verify=0 STDIO
客户端
socat stdio openssl-connect:localhost:5000,cert=server.pem,cafile=server.crt,verify=0
这是一个更大系统的一部分,但上面的命令对我们想要实现的目标很有效。但是,我需要确保正在使用 TLS v1.3,并确保它是唯一使用的加密版本。我可以确保使用类似以下内容的 1.2 版:
socat - OPENSSL-LISTEN:443,method=TLS1.2,verify=0,cert=cert.pem,key=key.pem
openssl是最新的(1.1.1版本),应该支持TLS1.3
在撰写本文时(2020 年 2 月),我能找到的几乎所有关于 socat 的文档都只提到了设置 TLS1.2,而没有提到 TLS1.3。对于openssl
命令行,可以设置-tls1_3
,例如:
openssl s_server -accept 443 -tls1_3 -ciphersuites TLS_AES_256_GCM_SHA384 -key key.pem -cert cert.pem
[1] https://8gwifi.org/docs/tlsv13.jsp
此命令有效(连同相关的 s_client
命令),但我无法获得通过 socat 传入的相同参数。
socat
版本 1.7.4.0 及更高版本支持选项 openssl-min-proto-version
[1],其有效值为 TLS1.3
。这将强制使用 TLS v1.3 或更高版本。
因此您的命令将变为:
服务器
socat openssl-listen:5000,reuseaddr,cert=server.pem,cafile=server.crt,verify=0,openssl-min-proto-version=TLS1.3 STDIO
客户
socat stdio openssl-connect:localhost:5000,cert=server.pem,cafile=server.crt,verify=0,openssl-min-proto-version=TLS1.3
请注意,这并不强制完全 使用 TLS v1.3。为此,请将 ,openssl-max-proto-version=TLS1.3
附加到选项列表(以便 min 和 max 都等于 TLS1.3
)。