列出所有可用的SSL SSL证书


35

我的git客户声称

error: Peer's Certificate issuer is not recognized.

这意味着它无法在全局系统密钥环中找到相应的ssl服务器密钥。我想通过查看gentoo linux系统上所有系统范围内可用ssl密钥列表来进行检查。如何获得此清单?

Answers:


65

这不是您想要的SSL密钥,而是证书颁发机构,更确切地说是其证书。

您可以尝试:

awk -v cmd='openssl x509 -noout -subject' '
    /BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt

要获取每个CA证书中的“主题” /etc/ssl/certs/ca-certificates.crt

当心,有时,当SSL服务器忘记提供中间证书时,您会收到该错误。

使用openssl s_client -showcerts -connect the-git-server:443获得证书发送列表。


2
//,这在CEntOS 6上不起作用,但是我在这里为CEntOS 6添加了答案:unix.stackexchange.com/a/363309/48498
Nathan Basanese,

1
trust list来自p11-kit软件包的列表基本相同吗?
Pablo

15

不确定Gentoo,但大多数发行商都将其证书软链接放置在系统范围内的位置/etc/ssl/certs

  • 密钥文件进入 /etc/ssl/private
  • 系统提供的实际文件位于 /usr/share/ca-certificates
  • 自定义证书进入 /usr/local/share/ca-certificates

只要您将证书放在上述路径之一中,就运行update-ca-certificates以更新/etc/ssl/certs列表。


1
/etc/ssl/certs是gentoo中的正确文件夹。但是这些文件对于人眼来说并不好看。
乔纳斯·斯坦

3
update-ca-certificates带有一个附加项s(我自己不能编辑,因为它只是一个字符的编辑)。
Slaven Rezic

@SlavenRezic-有人修复了它。
Craig S. Anderson

3

我需要列出服务器上的所有证书,并通知它们是否到期。我们提出了以下命令:

locate .pem | grep "\.pem$" | xargs -I{} openssl x509 -issuer -enddate -noout -in {}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.