我知道这个问题之前有人问过,我浏览了这里无数的帖子(以及谷歌),尝试了所有方法。不幸的是,我认为我遇到的问题与其他人遇到的问题无关。
我们的 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 控制台添加它。