首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用CLI工具显示远程SSL证书详细信息

使用CLI工具显示远程SSL证书详细信息
EN

Server Fault用户
提问于 2015-01-23 22:13:21
回答 10查看 698.3K关注 0票数 399

在Chrome中,单击绿色HTTPS锁图标将打开一个窗口,其中包含证书详细信息:

当我对cURL做同样的尝试时,我只得到了一些信息:

代码语言:javascript
复制
$ curl -vvI https://gnupg.org
* Rebuilt URL to: https://gnupg.org/
* Hostname was NOT found in DNS cache
*   Trying 217.69.76.60...
* Connected to gnupg.org (217.69.76.60) port 443 (#0)
* TLS 1.2 connection using TLS_DHE_RSA_WITH_AES_128_CBC_SHA
* Server certificate: gnupg.org
* Server certificate: Gandi Standard SSL CA
* Server certificate: UTN-USERFirst-Hardware
> HEAD / HTTP/1.1
> User-Agent: curl/7.37.1
> Host: gnupg.org
> Accept: */*

知道如何从命令行工具(cURL或其他)中获取完整的证书信息吗?

EN

回答 10

Server Fault用户

回答已采纳

发布于 2015-01-23 22:26:15

您应该能够将OpenSSL用于您的目的:

代码语言:javascript
复制
echo | openssl s_client -showcerts -servername gnupg.org -connect gnupg.org:443 2>/dev/null | openssl x509 -inform pem -noout -text

该命令连接到所需的网站,并将PEM格式的证书传输到另一个openssl命令,该命令读取和分析详细信息。

(请注意,“冗余”-servername参数对于使openssl执行具有SNI支持的请求是必要的。)

票数 527
EN

Server Fault用户

发布于 2016-01-15 13:23:37

基本证书信息

这是我的日常剧本:

代码语言:javascript
复制
curl --insecure -vvI https://www.example.com 2>&1 | awk 'BEGIN { cert=0 } /^\* SSL connection/ { cert=1 } /^\*/ { if (cert) print }'

输出:

代码语言:javascript
复制
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use h2
* Server certificate:
*  subject: C=US; ST=California; L=Los Angeles; O=Verizon Digital Media Services, Inc.; CN=www.example.org
*  start date: Dec 10 00:00:00 2021 GMT
*  expire date: Dec  9 23:59:59 2022 GMT
*  issuer: C=US; O=DigiCert Inc; CN=DigiCert TLS RSA SHA256 2020 CA1
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x5588e1f5ae30)
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* old SSL session ID is stale, removing
* Connection state changed (MAX_CONCURRENT_STREAMS == 100)!
* Connection #0 to host www.example.com left intact

完整证书信息

代码语言:javascript
复制
openssl s_client -connect www.example.com:443 </dev/null 2>/dev/null | openssl x509 -inform pem -text
票数 164
EN

Server Fault用户

发布于 2017-11-01 20:37:49

代码语言:javascript
复制
nmap -p 443 --script ssl-cert gnupg.org

-p 443指定只扫描端口443。如果省略所有端口,将对其进行扫描,并显示找到的任何SSL服务的证书详细信息。--script ssl-cert告诉Nmap脚本引擎只运行ssl-cert脚本。从文档中,这个脚本“(R)可以读取服务器的SSL证书,有关证书的信息量取决于详细程度。”

样本输出:

代码语言:javascript
复制
Starting Nmap 7.40 ( https://nmap.org ) at 2017-11-01 13:35 PDT
Nmap scan report for gnupg.org (217.69.76.60)
Host is up (0.16s latency).
Other addresses for gnupg.org (not scanned): (null)
rDNS record for 217.69.76.60: www.gnupg.org
PORT    STATE SERVICE
443/tcp open  https
| ssl-cert: Subject: commonName=gnupg.org
| Subject Alternative Name: DNS:gnupg.org, DNS:www.gnupg.org
| Issuer: commonName=Gandi Standard SSL CA 2/organizationName=Gandi/stateOrProvinceName=Paris/countryName=FR
| Public Key type: rsa
| Public Key bits: 2048
| Signature Algorithm: sha256WithRSAEncryption
| Not valid before: 2015-12-21T00:00:00
| Not valid after:  2018-03-19T23:59:59
| MD5:   c3a7 e0ed 388f 87cb ec7f fd3e 71f2 1c3e
|_SHA-1: 5196 ecf5 7aed 139f a511 735b bfb5 7534 df63 41ba

Nmap done: 1 IP address (1 host up) scanned in 2.31 seconds
票数 82
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/661978

复制
相关文章

相似问题

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