知识库

在 Exchange 2007 (PowerShell) 安装 SSL 证书

我们建议在安装 Exchange 2007 的 SSL 证书时使用 Exchange 管理外壳。

就像CSR 代码生成一样,您需要使用带有相应参数的 cmdlet 命令。首先,请确保您已将证书授权机构发送给您的验证证书保存到 C 驱动器的根目录中。该文件应该是适合 Exchange 服务器的格式,可以是 .cer、.p7b 或 .p7s。

接下来,导入保存的 SSL 证书。为此,打开 EMS(Exchange 管理外壳):

开始 > 所有程序 > Microsoft Exchange Server 2007 > Exchange 管理外壳

然后同时运行两个命令——一个用于在服务器上安装证书,另一个用于启用所需的服务。两个命令应在同一行中,用管道字符分隔:

Import-ExchangeCertificate -Path C:www.example.com.cer | Enable-ExchangeCertificate -Services "SMTP, IMAP, POP, IIS"

  • C:www.example.com.cer - 保存的验证 SSL 证书的路径;
  • "SMTP, IMAP, POP, IIS" - 所有必需的服务应该列出。

generate_csr_whm.jpg

(!) 重要:

如果您安装的是 PEM (X.509) 格式的证书: 安装后,您需要按照“通过 MMC 安装根证书和中介证书”中所述的程序,使用您已经收到的其他文件,以完成安装。

可以通过以下命令验证证书的安装:

Get-ExchangeCertificate -DomainName www.example.com

在服务列中,您将看到 SIP 和 W,代表 SMTP、IMAP、POP3 和 Web (IIS)。如果您的证书未正确启用,您可以通过将证书的指纹粘贴为 -ThumbPrint 参数,重新运行 Enable-ExchangeCertificate 命令,例如:

Enable-ExchangeCertificate -ThumbPrint [paste] -Services "SMTP, IMAP, POP, IIS"

如果安装返回错误消息:“找到指纹 [XXX] 的证书,但不适用于 Exchange Server(原因:PrivateKeyMissing)”,请根据错误的原因使用以下解决方案之一。

  • CSR 代码和 RSA 密钥对是在另一台服务器上生成的。在这种情况下,您需要在安装之前导入您的密钥;
  • RSA 密钥丢失/删除。在这种情况下,无法启用证书。您需要使用通过 EMS 生成的新 CSR 代码重新签发证书;
  • 如果以上说明都不符合您的情况,并且您无法检测到问题,请尝试运行命令 certutil -repairstore my "YourSerialNumber"(包括引号)。如果您的私钥以某种方式损坏,但仍在服务器上,此命令将解决这个问题。如果密钥损坏,则在 mmc 的 '个人证书' 中,证书图标将缺少金色锁钥。

generate_csr_whm.jpg

以下是解决上面最后一个案例中定义的问题的更详细说明:

  1. 进入 MMC(Microsoft 管理控制台)> 添加本机计算器账户的证书外挂 > 双击在个人证书中导入的证书 > 选择“详细信息”选项卡 > 点击“序列号”字段并复制该字符串。

    generate_csr_whm.jpg

  2. 输入:certutil -repairstore my "YourSerialNumber"

    generate_csr_whm.jpg

  3. 然后,返回 MMC,右键单击 证书 并选择 刷新
  4. 双击问题证书。在常规选项卡的底部,您将看到:“您拥有与这个证书相对应的私钥。”
  5. 现在私钥已经附加到证书。试着再次安装证书。

作为替代方案,为了确认所有必要步骤已完成以及证书已安装并运行,运行以下命令:

Get-ExchangeCertificate < ThumbPrint > | fl

generate_csr_whm.jpg