我在此命令的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
中报告我们走了:
答案 0 :(得分:5)
这是来自ASN1_TIME_print()的故意行为,为日期表示使用固定数量的字符。如果日期数小于10,它仍然占用两列,第一列填充为空格。这对自动化工具解析器很友好,即使它对人眼来说有点刺耳。我不认为改变ASN1_TIME_print()的行为是合适的,因为它被用于更多的地方而不仅仅是这个。
https://github.com/openssl/openssl/issues/5107#issuecomment-358746180