信任自签名 PEM 证书

信任自签名 PEM 证书
  1. 我已经使用 PEM 证书设置了带有 SSL 的代理服务器。现在,我有几台机器希望自动信任此证书(网络浏览器不会抱怨)。如何在每台计算机上安装 PEM 证书?

  2. 另外,更推荐的是:生成自签名证书还是串联蛇油证书?

答案1

  1. 将您的证书复制到/etc/ssl/certs目标系统上。然后使用命令生成的哈希值openssl x509 -noout -hash -in ca-certificate-file替换ca-certificate-file您的证书名称来创建符号链接。然后,您的证书应该被所有没有自己的证书存储的程序所接受。

    对于拥有自己的证书存储的程序(浏览器、Java 等),您将需要导入证书。

  2. 最好生成您自己的自签名或签名证书。

    您可能想要安装tinyca2并生成您自己的证书颁发机构。您可以按照上述步骤详细说明导入证书颁发机构证书。为您的应用程序生成并部署签名证书。

    将您的 CA 证书分发给需要信任您的证书的用户。您可能需要提供有关如何向他们导入证书的信息。警告:如果他们这样做,您将成为他们的另一个可信 CA,因此请相应地保护您的 CA。

    许多工具还可以配置为信任自签名证书或不受信任的 CA 的证书。这通常是一次性操作。这比接受来自不安全机构的 CA 证书更安全,只有接受的证书才是可信的。

答案2

在 Debian 和 Ubuntu 上,您必须将其复制certificate.pem/usr/local/share/ca-certificates/certificate.crt然后运行dpkg-reconfigure ca-certificates/etc/ssl/certs由该命令管理。

答案3

浏览器有一个受信任的“证书颁发机构”(CA) 证书列表。如果服务器的证书由这些 CA 证书之一签名且格式正确,您将不会收到 SSL 警告。

许多浏览器附带许多常见的 CA 证书,例如 Verisign、Thawte 等。大多数浏览器允许您将新 CA 导入到受信任的 CA 列表中。

与创建自己的自签名服务器证书一样,您可以创建自己的自签名 CA 证书。然后您可以使用它来签署您的服务器证书。如果您的 CA 不是由知名公司提供的(如果是您制作的则不会),则必须在服务器端显式导入它。

我以前曾经xca这样做过。它具有 CA 和 HTTP 服务器的模板。程序是这样的:

  • 为您的 CA 创建私钥
  • 使用“CA”模板使用此密钥创建自签名 CA
  • 为您的代理服务器创建私钥
  • 使用第二个密钥创建“证书签名请求”(CSR),引用您刚刚创建的 CA。
  • “签署”CSR,您将获得代理服务器证书,该证书引用您自己的 CA。

然后,您需要导出(如果使用的话作为文件xca)CA 证书(但当然不包括私钥)。.pem将生成一个,但您可以将扩展名更改为.crt.当用户点击它时,它将被提供安装在 Firefox 和 Internet Explorer 以及可能的其他主要浏览器上。至于自动安装这个.crt,您可以:

  • 在 IE 上使用组策略
  • 如果用户想避免警告,则将用户引导至介绍页面,要求他们下载/安装 .crt。

然后,您可以使用 HTTP 服务器证书的导出功能(导出服务器端的私钥和证书)来放置在您的代理服务器上。

相关内容