我目前正在运行一个带有自签名证书的 Postfix 服务器,该服务器为一个邮件域 mycompany.com 提供服务,邮件服务器是 mail.mycompany.com,证书的 CN 也是。现在,我需要向它添加一个新域。新域名是 mycompany.net,位于同一台服务器上。
由于用户已经拥有旧证书的根,我想重新使用它。但是,我想颁发新证书,以便使用 mail.mycompany.net 的 Outlook/Thunderbird 的 SMTP 的用户不会收到警告。如果我理解正确的话,如果我颁发一个 CN=mail.mycompany.com 和 subjectAltName=DNS:mail.mydomain.net 的新证书并让 postfix 提供此证书,客户端不会抱怨 cn 与目标主机名不匹配。我的这个假设正确吗?还是我误解了主题备用名称的概念?
只是为了避免交谈,我不想让 mycompany.net 地址上的用户使用 mycompany.com 服务器,因为我可能(不是技术问题)必须分成两个不同的位置,并且我想制作一个易于迁移的设置。
答案1
您需要将 subjectAltName 设置为要使用的所有 DNS(或 IP)条目。对于您的情况,应该是
subjectAltName=DNS:mail.mydomain.net,DNS:mail.mycompany.com
实际上,RFC 已弃用 CN,可以完全省略。如果使用,则必须将其设置为 subjectAltName 扩展的任一值。
注意:我说的是RFC2818这里定义了 HTTP over TLS。但由于 SMTP 和通用 TLS RFC 都没有提到用于名称匹配的证书字段,所以这是我知道的最佳选择。