如何TLS / SSL保护内部Web服务器?

时间:2014-04-01 13:55:49

标签: ssl ssl-certificate

我正在我的机器上开发基于https的Web服务器。这目前适用于自签名证书。当然,我的浏览器抱怨它,但我可以跳过这个检查并接受我自己的证书。

现在我希望同事能够访问我的https服务器。我的机器既没有内部主机名设置也没有静态IP地址。

当然,如果我为localhost创建证书,它对他不起作用 - 因为localhost对他来说是他的机器,而不是我的< / em>的

我该如何解决这个问题?

是分配静态IP地址还是设置主机名的唯一方法?是否可以获得与任何 IP和/或主机名匹配的证书?

请注意,我知道这对证书的含义非常违反直觉,我非常怀疑你会找到一个值得信赖的人,为任何颁发证书,但我仍然有希望;-)。目前,我们不需要它进行身份验证,仅用于测试。我们稍后会用有效证书替换它。

1 个答案:

答案 0 :(得分:2)

您可以向多个使用者替代名称颁发证书(例如localhostmachine001.local192.168.0.15)。请注意,对于IP地址,SAN必须是IP地址类型。大多数允许您执行此操作的工具都可以指定类型(例如,XCA就是其中之一)。

如果您的同事没有内部主机名或静态IP地址,我不确定您的同事如何访问您的计算机。也许你可以使用类似mDNS的东西给它一个.local名称。或者,您可以使用动态DNS服务。即使他们将DNS解析为仅在您的LAN上路由的IP地址,它们也会工作。

理想情况下(因为您不想使用商业CA),您应该创建一个CA(同样,XCA可以提供帮助)并将您的CA证书分发给您的同事。在这种情况下,您甚至不必添加例外。

拥有与任何IP地址或主机名匹配的证书是行不通的。您通常无法使用带有IP地址的通配符,并且大多数浏览器需要多个标签&#34;。有些实现甚至可以确保您有足够的内容属于实际域的范围(例如*.something.com*.something.co.uk)。

(某些浏览器会允许您添加也包含名称不匹配的异常(Firefox就是其中之一),因此在这种情况下,名称并不是特别相关。)