公共IP地址的SSL证书?


10

我刚刚尝试购买Comodo Positive SSL,但由于不支持公共IP地址而被拒绝,但它们仅支持域名。

有谁知道支持公共IP地址而不是域名的SSL证书提供者?

我公司有一个专用服务器,由网络托管公司托管,该服务器用于为多个项目(用于多个客户端)运行错误跟踪程序。由于它仅用于bugtracker,因此我们不需要域名(我们的客户端通过在浏览器中键入公共IP来访问它)。


2
我会设置一个域名,这样您在没有书签的位置就不必记住IP地址。另外,当您更改IP时,它将是透明的。
马克·瓦格纳

Answers:


16

我认为您可以执行此操作,但是您尝试执行此操作的方式不行。

SSL证书是将公共加密密钥绑定到X.500结构(包含CN或Common Name元素)的语句。签名证书就是这样一种证书,其中的绑定由第三方证书颁发机构使用最终用户已知的公钥(位于您的浏览器中的证书颁发机构(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]好的,您可能找不到任何愿意这样做的人,但这只是实现细节。我要在这里显示的是,即使您这样做,也无法解决您的问题。


4
对于特定的应用程序,为什么不呢?如果它是由应用程序提供商铸造的,并且您不信任他,那么无论如何您都会对这个应用程序感到困惑,因为他拥有私有SSL密钥并且可以解密任何内容。如果这让他们非常担心,他可以为每个buqtrack网站剪切自签名证书,然后可以根据需要导入它们。
MadHatter

2
@Tom-如果您不信任上面示例中提供证书的人,那您为什么还要与他们做生意呢?如果您将数据委托给“在线”应用,则是否担心SSL证书是否由/由/由已知的CA颁发/是对WRT的信任中最小的问题。
罗伯·摩尔

2
我想担心的是,由于似乎没有办法仅对某些域安装权威性的CA,一旦它们安装了我的CA根目录,我就可以像自己的Bug跟踪应用程序一样轻松地认证在线银行站点。如果我可以破坏他们的DNS缓存,则可以对他们的网上银行进行中间人攻击。如果这确实让他们感到担心,并且他们不想为此项目使用自定义浏览器,那么正如我上面所说,我可以为每个单独的bugtracker剪切一个自签名证书,客户端可以根据需要安装该证书。
MadHatter

1
汤姆,我其实同意原因想要使用一个“可靠”的证书。实际上,我100%同意。但是,这并不是您最初发表评论的方式。
罗伯·摩尔

1
火焰状域名?我的母语不是英语,所以您能解释一下吗?另外,我的老板更喜欢使用公共IP,也许他不希望该网站被搜索引擎找到(即使没有域名,搜索引擎能否找到该网站?)
串行引擎

10

我知道有一个根证书颁发机构预先装有所有主要的浏览器,在公共IP地址上颁发SSL证书:请查看GlobalSign。他们读出RIPE信息以验证您的证书请求,因此您可能需要首先检查RIPE条目是否以正确的名称发出。

关于反馈,该条目已得到:

是的,最好购买一个域名并在该CN上颁发SSL证书。它也比上面的GlobalSign选项便宜。

但是,在某些情况下,以公共IP作为CN的SSL证书很有用。许多互联网提供商和政府都基于DNS基础结构来阻止不需要的站点。如果您提供某种可能由于政治原因而被阻止的站点,那么可以通过其公共IP地址访问该站点是一个不错的选择。同时,您希望为这些用户加密流量,并且不希望非技术用户免于点击浏览器安全异常警告的麻烦(因为证书的CN不匹配)实际输入的)。让他们安装自己的根CA更加麻烦且不切实际。


值得注意的是,“由网络托管公司托管的专用服务器”几乎不会拥有自己的RIP,而是周围的网络将具有RIPE条目(关于托管公司)
Hagen von Eitzen

1

继续购买域名。它们很便宜,不要比这便宜。您只需要一个。甚至可以只设置bugtracker.yourcompany.com。

然后为每个Bugtracker设置该名称的子域。获取每个子域的SSL证书。由于您似乎特别讨厌成本,因此您想与之开展业务的公司称为StartSSL。

http://www.startssl.com/

您之所以要使用它们,是因为(除了受到主要浏览器的信任之外)它们的证书也不会花费很多时间。老实说,最基本的证书是免费的。他们会验证您的身份,然后让您根据需要进行发布。如果您想要更高级的证书(通常需要花费数百美元),则可以在2年内花费约50美元,以在单个IP上支持多个域的SSL。

对于您所获得的东西,它们超级便宜。他们会发布真正的证书,受到您的客户浏览器的信任,而不是像其他地方那样进行90天试用。


1
我也不明白。正确颁发的SSL证书本身就是一个识别令牌。发行后,认证中心不提供任何服务。我的网站已获得RapidSSL证书的保护,但是如果他们明天破产,我的证书将与现在一样有效。
MadHatter

2
您有多少客户要对您的SSL提供商进行全面的背景调查?在意识到自己与一家与以色列公司有业务往来的公司开展业务之前,他们确实必须先进行挖掘。正如MadHatter所说,政治不稳定与您的证书是否有效无关。一旦发出,它会一直有效,直到到期为止。但是,如果您想为技术上并不复杂的某些事情支付其他注册服务商可笑的钱,那也很酷。SSL证书是有史以来最荒谬的骗局之一。
保罗·麦克米兰

2
嘿,只需要一个客户就可以实现目标。对不起,因为我从一开始就不太清楚。我国不允许其人民与以色列做生意。就这样。
串行引擎

1
是的,这本来是更有用的话。SSL证书不必要地昂贵,但是在开展业务的规模上,成本几乎是零。
Paul McMillan 2010年

2
“一旦发出,它就有效,直到到期,句号停止”。除非它包含撤消信息,否则将被撤消,并且客户端将强制执行撤消检查。倒闭的CA可能会被迫吊销所有证书。只是说说而已
Ryan Bolger 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.