生成自签名证书的步骤,该证书在被信任后将适用于两个不同的 IP,而不会发出安全警告

Pan*_*sis 2 certificate iis-7 https ssl-certificate windows-server-2008-r2

我们有一个测试服务器,我正在尝试将其更改为 HTTPS/SSL,它同时具有内部 IP 和外部 IP。我们必须为此特定服务器使用自签名证书。过去有一次我用 Flash 对 RTMPS 进行了一些研发,所以我仍然有一个步骤列表来为内部 IP 创建一个自签名证书,并将它放在客户端的可信存储中机器。

话虽如此,我需要同时为内部和外部 IP 工作。当我尝试使用相同的步骤来生成和信任外部 IP 的证书时,服务器会不断尝试使用内部 IP 的证书,即使客户端使用外部 IP。这显然与它通过 HTTP 标头并获取默认站点的证书有关。因此,即使外部 IP 的证书是可信的,客户端计算机在浏览外部 IP 上的站点时也会不断生成安全警告。

完全抛开我之前关于如何在内部 IP 之外执行此操作的说明,如何同时为内部和外部 IP 处理此问题?如何为两个 IP 使用自签名证书,而不会在客户端浏览器中生成安全警告?

请注意,这不是重复的。 我知道有关于主题备用名称、通配符证书等的信息。但是:

  1. 其中大部分是针对 Apache 的;我正在使用 IIS 7。

  2. 其中大部分是针对 Linux 的;我正在使用 Windows。

  3. 它还倾向于处理域名,这似乎是通配符证书所必需的;我只使用IP。

  4. 在这一点上剩下的一些东西希望我在 IIS 或 Windows 中拥有并非普遍可用的选项。

  5. 可能剩下的几件事情让我有点不知所措,他们使用的步骤需要一些预先存在的知识,但这些知识并不存在。换句话说,他们跳过步骤,跳转到高级主题等。

假设服务器是 IIS 7 / Windows Server 2008 R2,并且客户端机器使用 Windows 7(有时是 Windows Embedded Standard)和不同版本的 IE,那么完成此操作的明确步骤列表是什么?客户端通过 IP 地址访问页面、Web 服务等,我一直在使用 OpenSSL(尽管我对其他选项持开放态度)。谢谢你。

Mas*_*imo 6

你真的不应该在 SSL 证书中使用 IP 地址;你应该设置一个合适的 DNS 基础设施,这样你就可以让 feinternal.yourdomain.com指向内部 IP 地址,并external.yourdomain.com指向外部IP 地址;那么您必须在证书中将两个名称都作为主题备用名称,它会完美地工作。

也就是说,您可以将 IP 地址用作 SAN;但具体如何做到这一点取决于您用于请求证书的工具以及将颁发证书的证书颁发机构。

在这两种情况下,您应该使用带有两个 SAN的单个证书;使用两个证书没有意义,甚至不起作用,因为您不能将两个不同的证书绑定到同一个网站。

  • SSL 根本就不是*设计* 来处理 IP 地址的。它可以被迫接受它们,但这是一个丑陋的组合,可能会以多种方式失败,并且最终使其工作比仅向您的 DNS(或您的“主机”文件)添加一两个记录要复杂得多。 (3认同)