生产环境中用于内部HTTPS调用的自签名证书?

时间:2018-10-23 07:08:20

标签: pki

我已经生成了一个自签名证书。该自签名证书存储在服务器中,并且仅接受具有此自签名证书的客户端的请求。由于应该仅从我们的自定义HTTPS客户端使用此HTTPS终结点,因此我强烈认为不需要CA签名。 但是我的同事警告说,无论什么情况,都不应在生产环境中使用自签名证书。

1 个答案:

答案 0 :(得分:1)

有一个用于管理证书生命周期的完整基础结构,称为PKI(公钥基础结构)。 CA是其中的一部分,可帮助您管理证书的颁发和吊销。

不建议在生产环境中使用自签名证书,因为这样会松散证书的生命周期管理。可以说,如果客户端受到攻击,拥有该自签名证书的任何人都可以与服务器通信。您无法设法撤消该证书或维护CRL。

在您的情况下,理想的解决方案/实现实际上也将是从CA向客户端发布他们自己的PKCS12,这意味着他们将拥有自己的私钥(如果您有很多客户端,这可能会很昂贵)。但这是最安全的方法。如果您知道某个客户端受到了威胁,则可以从CA撤消该客户端的证书,并且如果该客户端进行了证书验证(理想情况下应该如此),则该客户端将不再能够与服务器通信。您可以简单地停用该客户端。

只是一个想法

但是,如果您正在寻找经济有效的方式(因为您提到了内部呼叫),则可以让服务器向客户端颁发P12,并且服务器维护哪个客户端具有哪个证书的记录。这使您几乎无法控制管理客户端。您可以在服务器端为这些服务启用基于证书的身份验证(服务器将接收客户端的subjectDN),并且通过引用存储的记录,您可以标识正在尝试进行通信的客户端。而且,如果您想禁止该客户端由服务器提供服务,则只需更新记录即可。

但是要回答您的问题,使用自签名证书并不理想,因为在现实世界中,您应该能够实时或接近实时地管理证书,如果您使用自签名证书。

相关问题