查看服务器端的证书时,可以通过导入服务器的公钥证书文件,或者直接从服务器上抓取并查看证书。
常见以下几种方法:
方法 1:直接从服务器上抓取并查看证书
可以通过 keytool
来连接远程服务器的端口,并查看其 SSL/TLS 证书:
keytool -printcert -rfc -sslserver <hostname>:<port>
<hostname>
:服务器的主机名或 IP 地址。<port>
:服务器使用 SSL/TLS 的端口号,通常是 443(HTTPS)或其他端口。
假设需要查看 www.test.com
网站的证书:
keytool -printcert -rfc -sslserver www.test.com:443
运行此命令后,将看到服务器的证书详细信息,包括证书链中的所有证书、颁发者信息、公钥、有效期等。
方法 2:通过 openssl 抓取并查看证书
如果不想使用 keytool
,可以使用 openssl
工具来抓取服务器端的证书,然后通过 keytool
查看:
1.使用 openssl
抓取服务器证书:
openssl s_client -connect <hostname>:<port> -showcerts
这将输出服务器的证书链,包含服务器证书及其链中其他证书。
2.保存证书:
将证书保存到一个文件(例如 server.crt
)中。
3.使用 keytool
查看证书:
keytool -printcert -file server.crt
方法 3:下载并查看证书文件
有时,可能已经从服务器上下载了证书文件(如 .cer
或 .crt
文件),可以直接使用 keytool
查看:
keytool -printcert -file <cert-file-path> keytool -printcert -file server.cer
证书信息解析
在输出结果中,你可以看到以下信息:
- Owner:证书的拥有者信息(通常包括 CN、OU、O、L、ST、C 等)。
- Issuer:证书的颁发者信息。
- Serial number:证书的序列号。
- Valid from / to:证书的有效期。
- Signature algorithm:签名算法(如
SHA256withRSA
)。 - Public key:公钥的详细信息。
通过这些方法,可以方便地查看服务器的证书信息,并检查证书是否有效,或进一步用于信任链验证等操作。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。