2013-03-01 106 views
8

最近我们用tomcat创建了一个服务器,我们也为这个小服务器添加了SSL支持。对于SSL支持,我们需要由Entrust,Thawte等第三方发行的证书。SSL - 服务器证书绑定到特定的机器吗?

一位同事对我说,证书绑定到特定的机器上。一旦我们获得了颁发的证书,那么这个证书就不能在另一台机器上使用。

我完全怀疑这是因为CSR没有包含机器的任何信息。真的吗?

谢谢

+0

一些SSL提供商在非技术上执行此操作 - 您从其购买单个服务器许可证,并且合同上同意仅在其中使用该服务器许可证。 – ceejayoz 2014-07-09 02:34:41

回答

9

证书不一定绑定到特定的机器。为了能够在机器上“使用证书”,需要两件事:证书本身和私钥。您应该已经生成了私钥和CSR(取决于您使用的工具)。

有些系统不允许您重新提取私钥(例如,Windows有一个选项可以导入私钥,但不能再导出它,但据我了解,这可以被绕过如果您在该机器上拥有足够的访问权限)。在使用智能卡或硬件令牌的情况下,私钥可能会以无法提取的方式生成(在这种情况下,如果需要,将令牌移动到新计算机上会有意义) 。

另一部分是证书及其名称。证书中的主机名(通常在CSR中也可以找到,尽管这最终不是必需的)应该是本机的主机名,正如客户端试图连接它的主机名一样(参见RFC 2818第3.1节详细介绍了HTTPS的主机名验证)。因此,虽然证书本身并不依赖硬件方面的特定机器,但它将与此主机名相关联(例如,您可以更改此机器的硬件或其IP地址)。

+0

所以这意味着证书绑定到主机名。那我怎么看到证书中的主机名? CN是? 另一个问题是SSL客户端总是需要主机名检查吗?(我不这么认为) – zgcharley 2013-03-08 09:41:57

+0

如果有DNS主题替代名称,主机名可以是其中的任何一个。否则,它是主题DN中的CN。 SSL客户端应该总是检查主机名(有些不这样做,但这会让他们容易受到MITM攻击 - 不验证名称应该被视为安全漏洞)。 – Bruno 2013-03-08 09:57:20

+0

感谢您的解释! – zgcharley 2013-03-08 16:50:12

相关问题