openssl CLI输出中的额外空间notAfter / enddate

时间:2018-01-18 18:38:26

标签: openssl

我在此命令的enddate输出中获得了额外的空间:

$ export IP=google.com;  nc -z -w 3 $IP 443 && (echo | openssl s_client -
connect $IP:443 2>/dev/null | openssl x509 -noout -enddate)
Connection to google.com port 443 [tcp/https] succeeded!
notAfter=Apr  4 09:40:00 2018 GMT

注意notAfter = line中4月到4月之间有两个空格。

我在笔记本电脑和Linux服务器上的两个版本就是这种情况:

$ openssl version
LibreSSL 2.2.7
$ openssl version
OpenSSL 1.0.1f 6 Jan 2014

那是错误吗?我将尝试在https://github.com/openssl/openssl/issues

中报告

我们走了:

https://github.com/openssl/openssl/issues/5107

https://github.com/libressl-portable/portable/issues/382

1 个答案:

答案 0 :(得分:5)

  

这是来自ASN1_TIME_print()的故意行为,为日期表示使用固定数量的字符。如果日期数小于10,它仍然占用两列,第一列填充为空格。这对自动化工具解析器很友好,即使它对人眼来说有点刺耳。我不认为改变ASN1_TIME_print()的行为是合适的,因为它被用于更多的地方而不仅仅是这个。

来自https://github.com/kaduk

https://github.com/openssl/openssl/issues/5107#issuecomment-358746180