Я знаю, что этот вопрос задавался раньше, и я просмотрел здесь бесчисленное количество тем (а также в Google), пробуя их все. К сожалению, я думаю, что у меня проблема не связанная с тем, что было у других.
У меня есть файл CRT и KEY на нашем веб-сервере CentOS. Работает нормально. Мы хотим использовать его на нашем сервере 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 key / crt в DER и импортировать таким образом:
# openssl x509 -outform der -in mydomain.pem -out mydomain.cer
У меня точно такие же результаты в Exchange 2013, он незаметно импортирует его, не отображает его на ECP, а когда я проверяю его в MMC: отсутствует закрытый ключ. Любая помощь на этом этапе будет оценена.
Иногда импорт сертификата через Exchange (ECP или EMS) просто не работает; если вы уверены, что ваш сертификат в порядке, попробуйте импортировать его через оснастку «Сертификаты» консоли MMC; обязательно импортируйте сертификат в «Личное» хранилище компьютера (а не пользователя).
После импорта сертификата Exchange распознает его, и вы сможете включить его для служб Exchange.
Я не знаю, как можно импортировать это через Exchange, но Массимо нашел обходной путь. Если PFX импортируется через MMC> Certificates> Computer, это позволило мне добавить его через консоль Exchange.