如何为本地网络创建证书

如何为本地网络创建证书

我有一个本地网络(大约有 50 到 70 台计算机的内部网),其中有一台装有 ASP.NET MVC 应用程序的 Windows Server 2008。要使用 HTTPS 加密连接,我需要一个服务器证书(不是自签名的,而是用于部署)。

我该怎么做?我需要本地 CA?我该怎么做?

答案1

CA 背后的想法是与多个参与者分享信任。

如果你只与两个人交流你自己计算机,您可以设置个人证书(您甚至可以自行签名,这可能是更好的选择,因为许多可颁发证书的应用程序都会尝试检查签名),然后将此证书添加到客户端的批准证书列表中。

因此,当该客户端尝试连接时,他将能够评估服务器证书的信任度(基本上,它将从服务器接收证书,并且由于您将相同的证书添加到受信任来源列表中,因此它将被接受)。

这种情况不具备良好的可扩展性,只能用于内部目的。

对于具有更多客户端但仍只有一台服务器的内部网络,您可以使用相同的技术并设计一种方法将证书部署到所有计算机(或者如果您愿意,可以对每台计算机执行此操作)。

这种方法的问题在于,如果不生成新证书并将新服务器的证书部署到所有客户端,则无法添加其他服务器。然后,管理自己的 CA 就变得有趣了。

简单来说,CA 拥有根证书(自签名证书),可用于签署其他证书。使用证书创建的信任链,您只需将 CA 的根证书部署到网络中的所有计算机。然后,它们将自动信任由您的 CA 根证书签名的任何证书,因此您可以根据需要创建任意数量的服务器,从它们生成证书,对其进行签名,然后就大功告成了。

注意:关于如何生成证书,请参阅证书管理器(openssl,...)的文档,此网站不会解释如何使用它们。

相关内容