在软件中生成机器 TLS 证书

在软件中生成机器 TLS 证书

我正在使用一种分布式软件解决方案,其中机器可以通过互联网进行通信。对于敏感数据,这意味着您必须自动加密流量。使用 gnutls 或 openssl 等公共工具,您可以生成 CA 和机器证书来加密流量。我相信(可能是错的)如果您使用适当的安全参数创建这些 CA 和证书,那么从技术上讲,这可以安全地保护所有通信流量。

我知道让受信任的机构(某些公司,如 verisign、digicert)签署证书是一种常见做法,而且很重要。对于创建 Web 服务器或某些独立应用程序,这通常就足够了。我的问题是,在有“n”台机器(n 可能有数百台)的分布式环境中,是否可以为这 n 台机器生成 CA,让该 CA 由值得信任的机构签署,然后以编程方式为这 n 台机器中的每一台生成由生成的 CA 签署的 TLS 证书?

我理解 CA 信任具有某种涓滴效应,并且我认为这种方法是合理的,但我对反馈很感兴趣。

答案1

如果您使用的是内部 CA,那么是的,这是可以的;您正在创建一个中间 CA。不过,您可能需要将中间 CA 包含在证书链中,并且您的内部根 CA 需要得到所有内部设备的信任(通过组策略或您使用的任何工具进行部署)。

如果您使用的是外部 CA,那么不会,您根本不会遇到这种情况,因为这会彻底破坏现有的 CA 信任模型。

相关内容