有没有一种方法可以列出SAN/UCC证书上的所有域(最好在linux/os x上使用命令行)?
显然,必须有某种方法来提取数据,因为浏览器可以做到这一点。不幸的是,我可以看到列表,但不能剪切和粘贴它。
发布于 2016-05-09 14:47:00
您可以使用以下命令列出域(在linux上进行测试):
cat cert.pem | openssl x509 -text | grep DNS发布于 2019-09-18 10:05:00
如果您只想看到SAN,那么grep DNS:就是显而易见的解决方案。
如果您想进一步处理一个更干净的列表,可以使用这个Perl regex只提取名称:@names=/\sDNS:([^\s,]+)/g。
例如:
true | openssl s_client -connect example.com:443 2>/dev/null \
| openssl x509 -noout -text \
| perl -l -0777 -ne '@names=/\bDNS:([^\s,]+)/g; print join("\n", sort @names);'这将产生以下结果:
example.com
example.edu
example.net
example.org
www.example.com
www.example.edu
www.example.net
www.example.org这样你就可以通过管道传送到while read name; do echo "processing $name ..."; done等。
或者对于一行中以逗号分隔的列表,将join("\n",替换为join(",",。
( perl的-0777开关使它一次读取整个输入,而不是逐行读取)
发布于 2022-09-09 06:50:26
这将显示证书中的所有可选域(今天所有浏览器都需要)。
openssl x509 -text -noout < fullchain.pem | grep DNS答案是这样的
DNS:*.example.ru, DNS:example.ruhttps://serverfault.com/questions/425427
复制相似问题