hsy*_*sym 11 ip-address domain-name ssl-certificate
我刚刚尝试购买 Comodo Positive SSL,但由于不支持公共 IP 地址而被拒绝,而是仅支持域名。
有谁知道任何支持公共 IP 地址而不是域名的 SSL 证书提供商?
我的公司有一个由网络托管公司托管的专用服务器,用于为多个项目(多个客户端)运行错误跟踪器。由于它仅用于错误跟踪器,因此我们不需要域名(我们的客户通过在浏览器中输入公共 IP 来访问它)。
Mad*_*ter 17
我认为你可以做到这一点,但不是你试图做到的方式。
SSL 证书是将公共加密密钥绑定到 X.500 结构的声明,该结构包括 CN,或通用名称,元素;签名证书是这样一种证书,其中绑定由第三方证书颁发机构验证,使用最终用户已知的公钥(位于浏览器中的证书颁发机构 (CA) 证书堆栈)。
当您使用浏览器访问 SSL 保护的网站时,浏览器会知道签名的 CN。 浏览器选择用它做什么取决于浏览器。 我所知道的浏览器将其与请求的主机名进行比较,如果不同则出错(或者如果经过认证的绑定无法进行分析,例如浏览器不知道签名证书或绑定已失效)最新的,但这是一个不同的问题)。原则上没有什么能阻止您获得公开签名的证书,其中 CN 是 IP 地址而不是 FQDN(完全限定域名)[1],但这不会神奇地让浏览器将 CN 与 IP 进行比较地址,而不是请求的主机名。
我怀疑解决您的问题最简单的方法是启动自己的CA,这很容易做到,并且有很多公开教程;一个在这里。一旦您的最终用户将您的 CA 导入他们的浏览器,您创建的所有证书都将被接受为权威证书。
然后您可能会遇到第二个问题,因为您希望在单个 IP 地址上运行大量 NameVirtualHost 站点。这在历史上是无法克服的,因为(与 TLS 不同)SSL 协商发生在连接上的任何其他事情之前;也就是说,在客户端能够说出他们试图连接到哪个主机之前,嵌入在您的证书中的 CN 已被客户端知道并被客户端使用。
最近,似乎引入了一个名为 SNI(服务器名称指示)的协议扩展,它允许客户端和服务器在 SSL 证书出现之前表明他们想要做一些主机名的事情,允许正确的一个由服务器提供的证书。显然,这需要 apache 2.2.10,一个足够新的 OpenSSL 版本,以及(重要的)客户端支持。
所以如果我必须做你想做的事,我会考虑铸造我自己的 CA 证书,告诉我的最终用户他们必须使用支持 SNI 的浏览器并导入我的 CA 根证书,然后剪切和为每个 bugtrack 站点签署我自己的 SSL 证书。
[1] 好的,您可能找不到任何人会这样做,但这是一个实现细节。我想在这里表明的是,即使你这样做了,也不能解决你的问题。
小智 10
我知道有一个根证书颁发机构预填充了所有主要浏览器,并在公共 IP 地址上颁发 SSL 证书:看看GlobalSign。他们读出 RIPE 信息以验证您的证书请求,因此您可能需要首先检查 RIPE 条目是否以正确的名称发出。
关于此条目的反馈:
是的,最好购买域名并在该 CN 上颁发 SSL 证书。它也比上面的 GlobalSign 选项便宜。
但是,在某些情况下,使用公共 IP 作为 CN 的 SSL 证书很有用。许多互联网提供商和政府基于 DNS 基础设施阻止不需要的站点。如果您提供的某种站点可能会被阻止,例如出于政治原因,那么通过其公共 IP 地址访问该站点是一个不错的选择。同时,您将希望为这些用户加密流量,并且您不希望您的非技术用户经历点击浏览器的安全异常警告的麻烦(因为证书的 CN 不匹配实际输入)。让他们安装您自己的根 CA 更加麻烦且不现实。
| 归档时间: |
|
| 查看次数: |
36248 次 |
| 最近记录: |