首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在UCC/SAN SSL证书上列出域

在UCC/SAN SSL证书上列出域
EN

Server Fault用户
提问于 2012-09-07 19:44:16
回答 3查看 28.5K关注 0票数 21

有没有一种方法可以列出SAN/UCC证书上的所有域(最好在linux/os x上使用命令行)?

显然,必须有某种方法来提取数据,因为浏览器可以做到这一点。不幸的是,我可以看到列表,但不能剪切和粘贴它。

EN

回答 3

Server Fault用户

发布于 2016-05-09 14:47:00

您可以使用以下命令列出域(在linux上进行测试):

代码语言:javascript
复制
cat cert.pem | openssl x509 -text | grep DNS
票数 17
EN

Server Fault用户

发布于 2019-09-18 10:05:00

如果您只想看到SAN,那么grep DNS:就是显而易见的解决方案。

如果您想进一步处理一个更干净的列表,可以使用这个Perl regex只提取名称:@names=/\sDNS:([^\s,]+)/g

例如:

代码语言:javascript
复制
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);'

这将产生以下结果:

代码语言:javascript
复制
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开关使它一次读取整个输入,而不是逐行读取)

票数 5
EN

Server Fault用户

发布于 2022-09-09 06:50:26

这将显示证书中的所有可选域(今天所有浏览器都需要)。

代码语言:javascript
复制
openssl x509 -text -noout < fullchain.pem | grep DNS

答案是这样的

代码语言:javascript
复制
DNS:*.example.ru, DNS:example.ru
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/425427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档