Архив

Archive for Май 2013

Замена сертификата на Exchange 2007

Запрос нового сертификата

Запрос нового сертификата нужно осуществлять только с помощью PowerShell и командлета New-ExchangeCertificate.

New-ExchangeCertificate -GenerateRequest -IncludeAutoDiscover -PrivateKeyExportable $true
-SubjectName "CN=owa.pubdomain.ru, O=ALVIK LLC, C=RU"
-DomainName exch.domain.local, owa.pubdomain.ru,  mail.pubdomain.ru
-FriendlyName "Microsoft Exchange 2007" -Path c:\exchange2007-cert.req

На что следует обратить внимание?

GenerateRequest — он сигнализирует о создании файла запроса на сертификат в сторонний центр сертификации. Без указания данного флага Exchange сервер сгенерирует самоподписанный сертификат.

SubjectName — поле CN должно в точности повторять FQDN к которому происходит обращение клиентов.

DomainName — должен содержать все альтернативные доменные имена, если таковы имеются. В моем случае пригодилось внутреннее имя сервера.

IncludeAutoDiscover — при наличии данного флага в запрос добавляются записи вида autodiscovery.domain.local для всех обслуживаемых доменов. Очень удобный параметр, не нужно в ручную перечислять данные записи.

PrivateKeyExportable — данный флаг позволит нам в дальнейшем экспортировать сертификат с закрытым ключем для передачи его на Isa Server 2006.

После выполнения данной операции будет сформирован текстовый файл запроса, который нужно передать в центр сертификации.

Открываем центр сертификации по адресу http://CA-Name/certsrv/ и делаем расширенный запрос сертификата:

Выбираем расширенный запрос сертификата:

Вставляем текст запроса:

После окончания операции мы получим .cer файл с новым сертификатом.

А где же закрытый ключ?

Естественно .cer файл не содержит закрытого ключа и на этом этапе обычно возникают трудности. Кажется, что сделал что-то не так, но все идет по плану.Exchange 2007 сам генерирует закрытый ключ и оставляет его в контейнере с запрошенным сертификатом и только после завершения процедуры импорта две половинки целого вновь соединятся и мы сможем получить долгожданный .pfxфайл.

Импорт сертификата необходимо опять выполнять через PowerShell.

Import-ExchangeCertificate c:\certnew.cer

В результате импорта Exchange 2007 покажет вам отпечаток сертификата:

2FF1AB2A04C03480387D93175F939120CC855E4F

Можно «запомнить» данное значения для легкости дальнейшего поиска и работы с сертификатом.

Теперь включаем данный сертификат в работу на требуемые службы в нашем случае это IIS и SMTP.

Enable-ExchangeCertificate 2FF1AB2A04C03480387D93175F939120CC855E4F -Services IIS,SMTP,POP3,IMAP
Если будет ругаться на отсутствие закрытого ключа, то ниже описано как исправить с помощью утилиты certutil.
Теперь можно экспортировать сертификат для передачи его на ISA Server.

Эту операцию можно сделать через оснастку «Сертификаты» в MMC, либо командлетом PowerShell

Export-ExchangeCertificate C84F388FB0A141CB4464B45A8AFC4F185FE3A5C1
   -Password P@ssw0rd -Path d:\exch-for-isa.pfx

Если вы будете делать экспорт сертификата средствами консоли MMC не забудьтеснять галочку «Включить усиленную защиту ключа».

Взято отсюда, на память. Спасибо

Устранение неполадок с закрытым ключом с помощью команды certutil -repairstore


  1. Откройте консоль управления (MMC) и добавьте оснастку «Сертификаты». Для этого нажмите кнопку Пуск, выберите пункт Выполнить и введите mmc.exe
  2. Дважды щелкните импортированный сертификат в папке «Личные».
  3. Откройте вкладку Сведения.
  4. Щелкните пункт Серийный номер в столбце «Поле», выделите серийный номер и запишите его.
  5. Откройте командную строку.
  6. Введите: certutil -repairstore my «серийный_номер» (где «серийный_номер» — это серийный номер, записанный в действии 4).
  7. В оснастке «Сертификаты» щелкните правой кнопкой мыши пункт Сертификаты и выберите команду Обновить. Сертификату будет назначен закрытый ключ.
  8. Чтобы проверить, устранена ли проблема, выполните командлет Get-ExchangeCertificate, который должен выводить правильный сертификат.
Рубрики:Uncategorized Метки: