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

时间:2018-06-27 12:46:45

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

我的公司有一个在内部使用并作为Windows服务安装的软件。现在,我们使用.NET core 2.1向其中添加WebAPI。此API应该使用SSL保护,如果我们购买证书,则该证书最多可以使用两年。有什么方法可以自动更新用于HTTPS的证书?一些客户购买了该软件,并且没有按照我们的意愿进行升级。我们如何为他们发货新证书?

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

1 个答案:

答案 0 :(得分:0)

  

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

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

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

这是当今公共网络的工作方式。 CA是具有Verisign等大型保险政策的公司,操作系统或浏览器供应商确定CA进行削减并被包含在他们通过自己的机制(例如自动更新)管理的证书包中。

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

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