首页 > 解决方案 > 如何将 SSL 证书更新发送到正在运行的应用程序?

问题描述

我的公司有一个在本地使用并作为 Windows 服务安装的软件。我们现在使用 .NET core 2.1 向它添加一个 WebAPI。这个 API 应该使用 SSL 保护,如果我们购买证书,它最多可以使用两年。有没有办法自动更新用于 HTTPS 的证书?一些客户购买了软件,但并没有像我们希望的那样经常升级。我们如何为他们提供新证书?

07/03 更新:我们的本地解决方案已在后端作为服务工作了 6 年(每年有两次重大更新)。现在我们正在这个服务中集成一个 webapi。这里没有 IIS,只有一个自托管的 webapi。我们的服务可以使用我们自己的 SSL 证书,但是当它过期时我们需要以某种方式替换它。

标签: c#asp.netasp.net-web-api

解决方案


如何将 SSL 证书更新发送到正在运行的应用程序?

如果服务器证书由他们信任的 CA 签名,则无需将服务器证书分发给客户端设备。

理想情况下,客户端系统应该信任具有很长有效期(例如 20 年)的证书颁发机构 (CA)。然后,该 CA 向网络服务器发布短期证书(例如 6-12 个月)。客户端将信任这些证书,因为它们是由他们信任的 CA 签名的。

这就是当今公共网络的运作方式。CA 是拥有大型保险单的公司,例如 Verisign,操作系统或浏览器供应商确定哪些 CA 能够胜任并包含在他们通过自己的机制(例如自动更新)管理的证书包中。

因此,一种选择是简单地从公共 CA 购买 HTTPS 证书

您也可以是您自己的 CA,但您需要管理保护高度敏感的根 CA 密钥,并将您的 CA 证书分发到所有客户端设备。


推荐阅读