在redhat中导入自签名证书

ato*_*fee 19 ssl https openssl redhat self-signed

如何在Red-Hat Linux中导入自签名证书.

我不是证书方面的专家,很难通过谷歌搜索找到正确的答案,因为我不知道.cer,.crt或.pem之间的区别.话虽如此,我想做的不应该是火箭科学(在Windows中,我可以在浏览器中点击几下)我想连接到使用自签名证书的服务器.例如,使用wget,而不必使用--no-check-certificate选项.为了完成这项工作,我将不得不将服务器的自签名证书添加到我的RedHat框中.我发现证书位于/ etc/pki/tls中.但是我不知道为了在没有抱怨的情况下制作wget功能我应该采取什么行动.

我可以使用以下命令从服务器获取SSL证书:

openssl s_client -connect服务器:443

证书介于"BEGIN CERTIFICATE和END CERTIFICATE"之间.我不知道这是什么类型的证书.接下来我将把它放在/ etc/pki/tls/certs目录中并应用一些我不知道的openssl secert酱.你能帮我吗?

rsa*_*saw 27

我不知道如何将特定的站点证书导入OpenSSL的信任数据库(我希望我做到了!),但由于您正在谈论自签名证书,我们可以通过将您的证书导入为新的信任来接近它CA证书.但是警告:您还将信任任何由该证书签名的站点.

查找并下载证书

您可以使用以下命令直接从站点下载自签名证书:

openssl s_client -connect server:443 <<<'' | openssl x509 -out /path/file
Run Code Online (Sandbox Code Playgroud)

请注意,您应在自签名证书的情况下执行此操作(如原始问题中所述).如果证书由其他CA签署,则无法使用上述内容运行; 相反,您需要找到适当的CA证书并下载.

导入证书并使其受信任

update-ca-trust命令通过RHEA-2013-1596在Fedora 19和RHEL6中添加.如果你拥有它,你的步骤很简单(但需要root/sudo):

  1. 将CA证书复制到 /etc/pki/ca-trust/source/anchors/
  2. update-ca-trust enable; update-ca-trust extract
  3. (请注意,enable在RHEL7和现代Fedora中不需要该命令)

如果你没有update-ca-trust,那就更难了(并且仍然需要root/sudo):

  1. cd /etc/pki/tls/certs
  2. 在此处复制CA证书
  3. ln -sv YOURCERT $(openssl x509 -in YOURCERT -noout -hash).0

PS:问题提到了Red Hat,但是对于那些除了Fedora/RHEL之外还要做同样事情的人来说,wiki.cacert.org/FAQ/ImportRootCert可能会有所帮助.


pat*_*ron 5

您可以使用以下步骤执行您要执行的操作:

  1. 将SSL证书(包括"----- BEGIN CERTIFICATE -----"和"----- END CERTIFICATE -----"行)放入目录" /etc/pki/tls/certs"中的文件中- 为此例如,我们称之为"myserver.pem".
  2. 通过运行来计算此证书的证书哈希值

    openssl x509 -noout -hash -in /etc/pki/tls/certs/myserver.pem

    为了举例,我们假设哈希值是"1a2b3c4d".

  3. 根据此哈希值在certs目录中创建一个符号链接,如下所示:

    ln -s /etc/pki/tls/certs/myserver.pem /etc/pki/tls/certs/1a2b3c4d.0

    我假设此目录中没有其他证书散列到相同的散列值 - 如果已经存在"1a2b3c4d.0",则改为使用链接"1a2b3c4d.1"(或者如果已经存在" .1",让你的".2"等...)

wget然后,使用SSL的其他工具会将该证书识别为有效.可能有一种更简单的方法可以使用GUI执行此操作,但可以通过命令行执行此操作.

  • 有一件事让我觉得这个答案(导致我研究并最终写出我自己的答案)是缺乏提及如何只将CA证书放在`/ etc/pki/tls/certs /`中,即:你不能在这里导入和信任一些非自签名的网站证书. (4认同)