如果成本是一个问题并且您以 Windows 为中心,正如 Denny 先生所建议的那样,请使用 Microsoft 证书服务并将证书部署为默认域 GPO 的一部分。您可能需要三个系统,但也可以是虚拟机。您将需要根 CA,它只能用于为中间 CA 颁发证书。您应该将一个中间 CA 作为企业 CA,然后将第三个作为“独立”CA,以便您可以向非域资产颁发证书。
如果您有很多客户并且足够大,您可能会考虑从第三方解决方案之一获得根,并从从所述第三方获取其证书的 CA 颁发您自己的证书。这样您就不必部署 CA 的证书。例如,GeoTrust有一个解决方案。
而不是自签名证书,我会创建一个本地根 CA,然后从中生成 SSL 证书,确保所有内部系统都有根 CA 的公钥的副本。
以这种方式生成的密钥在普通 HTTPS 之外还有很多用途,它们也可用于 OpenVPN、POP3S、SMTPS 等,甚至用于单个 SMIME 帐户。
为您的组织拥有一个根 CA 比被公认的 CA 勒索要好得多,后者会为您想要证书的每台服务器向您收取费用,并且如果您愿意,还敢向您收取“许可费”将相同的证书放在负载平衡集群中的多台服务器上。
尝试 CAcert。它们是免费的,您只需要安装根即可。比拥有自签名证书高出一步。
如果成本是一个问题并且您以 Windows 为中心,正如 Denny 先生所建议的那样,请使用 Microsoft 证书服务并将证书部署为默认域 GPO 的一部分。您可能需要三个系统,但也可以是虚拟机。您将需要根 CA,它只能用于为中间 CA 颁发证书。您应该将一个中间 CA 作为企业 CA,然后将第三个作为“独立”CA,以便您可以向非域资产颁发证书。
如果您有很多客户并且足够大,您可能会考虑从第三方解决方案之一获得根,并从从所述第三方获取其证书的 CA 颁发您自己的证书。这样您就不必部署 CA 的证书。例如,GeoTrust有一个解决方案。
对于像 rapidssl 这样的入门证书的低价,我可能会购买其中一个,至少如果您只需要最少量的话。我觉得阻止用户被要求接受不受信任的自签名证书是值得的,因为它总是会给非技术用户带来一些问题。
假设您是台式机的 Windows 域,请在内部设置一个 Windows CA,该 CA 将通过 AD 自动被公司中的所有计算机信任。通过这种方式,您可以向您需要的任何内部应用程序颁发证书,而无需购买证书。
通常,是的,我会为此类事情使用自签名 PEM 证书。但是,您的 Intranet 上的站点有多敏感?关于实际签署证书的机器和其他机器,有一些好的做法可以遵循,这些做法可能适用于您,也可能不适用于您。
另外,如何为用户配置内部 CA 存储?一旦你接受了一个证书,你就会知道它是否会改变......这让我回到了涉及实际签署它们的机器的良好实践(即签署,然后拔掉它)。
如果管理得当,拥有自己的内部 CA 会很方便。请提供更多信息。
自签名证书的问题是客户通常会发出有关它未经验证的警告。根据安全设置,有些可能会完全阻止它。
如果这纯粹是内部需求,为什么还要使用 https 而不是 http?
就我个人而言,我要么坚持使用 http,要么购买便宜的证书(它们并不贵)。