无法将证书导入 Exchange 2013:缺少私钥(我知道它在那里。)

无法将证书导入 Exchange 2013:缺少私钥(我知道它在那里。)

我知道这个问题之前有人问过,我浏览了这里无数的帖子(以及谷歌),尝试了所有方法。不幸的是,我认为我遇到的问题与其他人遇到的问题无关。

我们的 CentOS Web 服务器上有一个 CRT 和 KEY 文件。它运行良好。我们想在 Windows 2008 R2 Standard 服务器上为 Exchange 2013 使用它。

我已经验证我的密钥文件已签出:

# openssl rsa -text -in mydomain.key
Private-Key: (4096 bit)

我尝试将其转换为 PFX:

# openssl pkcs12 -export -out mydomain.pfx -inkey mydomain.key -in mydomain.crt

转换后,我甚至可以测试 PFX 文件以确保它确实包含私钥:

# openssl pkcs12 -in exchange.pfx  -nodes
Enter Import Password:
MAC verified OK
Bag Attributes
    localKeyID: 63 04 21 C5 D8 02 0E E2 A9 A7 6E E4 CD 90 66 1E 27 95 8F 0D 
    friendlyName: My Company SSL
subject=/OU=Domain Control Validated/CN=*.mydomain.tld
issuer=/C=BE/O=GlobalSign nv-sa/CN=AlphaSSL CA - SHA256 - G2
-----BEGIN CERTIFICATE-----
(Redacted, obviously.)
-----END CERTIFICATE-----
Bag Attributes
    localKeyID: 63 04 21 C5 D8 02 0E E2 A9 A7 6E E4 CD 90 66 1E 27 95 8F 0D 
    friendlyName: My Company SSL
Key Attributes: <No Attributes>
-----BEGIN PRIVATE KEY-----
(Redacted, obviously.)
-----END PRIVATE KEY-----

Exchange 允许我导入它,但它从未显示在 ECP 中。当我尝试通过 Exchange 控制台删除密钥时,我收到以下错误:

[PS] C:\Windows\system32>remove-exchangecertificate

cmdlet Remove-ExchangeCertificate at command pipeline position 1
Supply values for the following parameters:
Thumbprint: 630421C5D8020EE2A9A76EE4CD90661E27958F0D

Confirm
Are you sure you want to perform this action?
Remove certificate with thumbprint 630421C5D8020EE2A9A76EE4CD90661E27958F0D from the computer's certificate store?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"): Y
A special Rpc error occurs on server TWEXCHANGE: The certificate with thumbprint
630421C5D8020EE2A9A76EE4CD90661E27958F0D was found but is not valid for use with Exchange Server (reason:
PrivateKeyMissing).
    + CategoryInfo          : NotSpecified: (:) [Remove-ExchangeCertificate], InvalidOperationException
    + FullyQualifiedErrorId : [Server=TWEXCHANGE,RequestId=75aa9cfb-6db4-4c0d-aae3-5eaa32eb0389,TimeStamp=3/25/2015 9:
   24:49 PM] [FailureCategory=Cmdlet-InvalidOperationException] DE2A4BCA,Microsoft.Exchange.Management.SystemConfigur
  ationTasks.RemoveExchangeCertificate
    + PSComputerName        : twexchange.mydomain.com

删除它的唯一方法是打开 MMC,添加证书管理单元并连接到计算机证书。我可以通过 SHA1 指纹搜索并删除它。(如果我不删除它,当我再次尝试导入它时,我会收到指纹已存在的错误。)

我还尝试将我的 PEM 密钥/crt 文件转换为 DER 并以此方式导入:

# openssl x509 -outform der -in mydomain.pem -out mydomain.cer

我在 Exchange 2013 中得到了完全相同的结果,它默默地导入了它,不会在 ECP 上显示它,当我在 MMC 中检查它时:它缺少私钥。此时任何帮助都将不胜感激。

答案1

有时通过 Exchange(ECP 或 EMS)导入证书不起作用;如果您确定您的证书没有问题,请尝试通过 MMC“证书”管理单元导入它;确保将证书导入计算机(而不是用户)的“个人”存储中。

导入证书后,Exchange 将识别它,并且您将能够为 Exchange 服务启用它。

答案2

我不知道通过 Exchange 导入此文件的解决方案是什么,但 Massimo 找到了一种解决方法。如果通过 MMC > 证书 > 计算机导入 PFX,它允许我通过 Exchange 控制台添加它。

相关内容