Centos
如何在 CentOS 6 上列出所有可用的 SSL CA 證書?
在我安裝給定證書之後,很難判斷我是否成功信任了給定證書,尤其是對於根 CA。
要檢查我是否已成功安裝證書,而不向可能提供或不提供 SSL 請求的伺服器發出 SSL 請求,我想列出所有系統範圍內可用的 ssl 證書。
我按照這裡的說明進行操作,它們起作用了:
https://serverfault.com/questions/559571/install-a-root-certificate-in-centos-6
此外,這提出了一個類似的問題,但給出了 gentoo 系統的答案:
// , 使用
openssl
命令獲取輸出/etc/ssl/certs/ca-bundle.crt
無論如何,我嘗試了以下內容,主要是從https://unix.stackexchange.com/a/97249/48498複製的,如果我將文件名更改為適用於 CentOS 6,它似乎可以工作:
如果您不想
--insecure
在 cURL、.、Git 等上使用標誌或其類似物wget
,您可以將 CA 根證書、自簽名證書或證書鏈添加到您的信任庫,如下所示:
按照說明下載您選擇的
.crt
、.pem
或.cer
。通過您使用的任何機制獲取您想要信任的證書,通常通過從中央儲存庫下載它或通過使用 SSL 握手
openssl s_client -showcerts -connect some.host.that.uses.that.root:443
等方式將其提取,然後將其複製到目標 CentOS 6 主機上的以下文件夾:/etc/pki/ca-trust/source/anchors/
登錄到目標主機時執行以下命令:
$ sudo update-ca-trust enable; sudo update-ca-trust extract
在基於 Red Hat 的作業系統上驗證結果,例如:
$ awk -v cmd='openssl x509 -noout -subject' ' /BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-bundle.crt
這應該會產生一長串表單的響應:
subject= /C=US/O=MyCorp/CN=root-ca-2048
上面的步驟#4 回答了這個問題,其他步驟為粗心的人提供了上下文。