如何将二进制标准输出传送至压缩的 tls 连接?

如何将二进制标准输出传送至压缩的 tls 连接?

不久前,我可以使用:

cat somefile.txt | openssl s_client -connect server:port -quiet -comp

但是,即使使用以下命令,该命令也不起作用-ign_eof

$ cat somefile.bmp | openssl s_client -connect server:port -quiet -ign_eof
write:errno=32

因为某些文件由纯二进制数据组成(这.bmp是服务器唯一能识别的格式,若以somefile.bmp未压缩的形式发送则会花费太多时间)

这不是出于安全目的,因为我发送的数据是公开的,但是我无法控制禁止非安全连接的服务器。

答案1

如果您的二进制文件中有任何换行符(例如),您应该向命令\n添加标志以使其识别换行符。-crlfopenssl s_client

答案2

-comp已在 openssl 1.1.0 中引入

https://www.openssl.org/docs/manmaster/ssl/SSL_CONF_cmd.html

在 cygwin 上,openssl 是 1.0.2g-3,因此您无法使用它。您可以尝试其他图像格式吗?

相关内容