![我可以对 smtp、imap、pop3 和 http 使用同一个 SSL 证书吗?](https://linux22.com/image/543995/%E6%88%91%E5%8F%AF%E4%BB%A5%E5%AF%B9%20smtp%E3%80%81imap%E3%80%81pop3%20%E5%92%8C%20http%20%E4%BD%BF%E7%94%A8%E5%90%8C%E4%B8%80%E4%B8%AA%20SSL%20%E8%AF%81%E4%B9%A6%E5%90%97%EF%BC%9F.png)
到目前为止,我一直在使用自签名证书,但决定至少考虑获取“真正的”证书。
到目前为止,我注意到认证的内部格式有点不同,即:
- http(nginx)证书只有 CERTIFICATE 部分(带有 base64 编码内容)和 KEY,也只有 base64 内容
- smtp (exim) crt 文件包含证书文本信息(颁发者、主题、算法、日期等),以及带有 base64 数据的证书块,而 exim 的 .key 文件仅包含 base64 编码的密钥
- imap/pop3 (courier) .pem 文件包含密钥(base64)、证书信息(文本)和证书本身(base64)。
我可以从 thawte 或类似的公司获取任何“web”证书,并从中(和密钥文件)生成 nginx、exim4 和 courier 所需的所有格式吗?还是我需要获取单独的证书,或者是完全不同的东西?
答案1
简短的回答是,一个证书可以用于所有这些服务。
密钥和证书可以以多种格式存储,使用 openssl 工具您可以将密钥和证书转换为其他格式。
真正的障碍是您是否能获得对所有您希望使用的名称都有效的证书。对于您的网站,您可能希望使用 www.example.com,对于您的邮件,您可能希望使用 mail.example.com。您可以获得一个覆盖大量名称的通配符或 SAN 证书,但这些证书的成本更高。获得几个单独的证书可能会更便宜。不同证书的价格不同,因此请花点时间找出哪种证书更便宜。
答案2
一般来说,是的,尽管使用各种工具将证书转换为正确的格式可能需要一些工作。我在 apache、dovecot (imaps) 和 postfix (用于 TLS) 中使用了相同的 SSL 证书。
openssl(以及将证书和密钥简单地放在同一个文件中)提供了我所需的功能。
具体情况各不相同,但我坚信您实际上可以将签名的 SSL 证书转换为您需要的任何格式,并且我不知道您提到的用例有任何例外。
答案3
我们目前为所有服务使用通配符证书。正如大家已经提到的,您只需要 openssl 即可将其转换为应用程序所需的格式。到目前为止,我们将其用于 Apache httpd、OpenLDAP 和邮件 (Zimbra)。我们过去从 Thawte 购买证书,但这次我们选择了 GoDaddy - 它便宜得多。