假设我想购买一个可用于 Web 服务器的通配符 SSL,跨越大量不同的服务器和平台。
我可以为他们中的每一个发布一个 CSR,使用他们自己的私钥-公钥对,但是是否可以将私钥分发到所有不同的服务器并使用相同的证书?这样,只发布 1 个 CSR,然后将其部署到混合平台。或者,不同平台颁发的证书是否不同?
当前的农场是以下各项的混合体:
Windows 2008 R2 和 IIS Linux 和 Tomcat(运行 JIRA 和 Confluence)Clavister 防火墙(我想我没有得到答案)
真正的 CA 只会在任何时间点为每个不同的“主题”(DN) 或主题/SAN 组合颁发一个有效的 X.509 证书。通配符通常用于多个系统。一些 CA 过去常常对每台设备收取额外的“许可证”费用,请查看细则。
密钥和证书相互关联(这是非对称加密部分,我什至不打算在这里开始解释)。每个证书(理论上)只有一个匹配的私钥,因此您不能拥有多个不同的密钥和一个通用证书。
方法是:
openssl
生成密钥和 CSR,请按照您选择的 CA 的说明进行操作openssl
转换.key
和.crt
一个密钥、一个 CSR、一个证书——多次安装。
CA 总是询问平台,主要是为您提供合适的文件格式(证书和捆绑包),但我怀疑也是为了解决已知问题(例如确切的证书属性和格式、DN 名称格式、X.509v3 扩展名)。一般来说,您应该能够使用
openssl
,告诉 CA 您使用“Apache/mod_ssl”,然后进行转换。每个主题您只需要一个证书 - 在网络服务器的情况下,主题是(虚拟)主机名。唯一的问题是 x509 证书有多种格式——但 openssl 可以在我知道的所有格式之间转换(包括 DER、PEM、PKCS#12、PKCS#7)