none
OWA не работает с использование SSL RRS feed

  • Вопрос

  • Здравствуйте.

    Что было:
    Рабочий Server Exchange 2007 (client access + mailbox + hub) на Windows Server Standart x64 english. IIS 6.0.  Сертификаты выдаются центром сертификации MS, внутри сети. Сервер Exchange является членом домена и доверяет внутреннему центру сертификации.

    Что привело к беде:
    Все работало до тех пор, пока не истек сертификат. Сертификат перевыпустил (шаблон:webserver, имя:exchserv.domain.local), импортировал на сервер с Exchange, выполнил комманду enable на новом сертификате.  Проверил в IIS, сертификат подцепился на узел default web site.  Сервер iis запущен.

    Как выглядит беда:
    Пропали соединения к rpc_over_http, к owa. На https://exchserv.domain.local/owa выдает сообщение о том, что сервер не найден. 

    Что сделал:
    Переустановил IIS.
    Переустановил роль Client Access.
    Пересоздал директории owa.
    Перевыпустил сертификат.
    На сертификате выполнил enable-exchangecertificate для сервиса IIS.


    после этого на Default Web Site, во вкладке Directory Security появился сертификат, и с первого взгляда все должно работать. Но https://exchserv.domain.local/owa по прежнему не доступен. Если убираешь галочку Require SSL Encryption, то доступ к OWA появляется, содержимое майлбокса видно. Но с установленной галкой Require SSL Encryption по SSL нет.

    В логах сообщение:
    Event Type: Error
    Event Source: MSExchangeTransport
    Event Category: TransportService
    Microsoft Exchange couldn't find a certificate that contains the domain name servexch.domain.local in the personal store on the local computer. Therefore, it is unable to offer the STARTTLS SMTP verb for any connector with a FQDN parameter of servexch.domain.local. Verify the connector configuration and the installed certificates to make sure that there is a certificate with a domain name for every connector FQDN.

    Но сертификат там есть. Действительный. С закрытым ключем. Не понимаю почему IIS его не видит. Подскажите где ошибся.

    С уважением,
    Дмитрий.

    • Перемещено Hengzhe Li 12 марта 2012 г. 7:00 forum merge (От:Exchange Server 2007)
    7 июля 2009 г. 11:36

Ответы

  • Как делали запрос на сертифкат? Для Exchange необходимо запрос, который Вы отправите в центр сертификации сгенерировать с помощью PowerShell
    New-Exchangecertificate
    Как пример
    New-ExchangeCertificate -GenerateRequest -Path c:\certificates\request.req -SubjectName "c=ES, o=Diversión de Bicicleta, cn=mail1. DiversiondeBicicleta.com" -DomainName woodgrove.com, example.com
    Генерирование сертификата для owa woodgroove.com (для адреса https://woodgrove.com/owa)
    В результате выполнения (в данном примере у Вас создастся файл на диске  C: c именем request.req
    Затем через Web консоль центра сертификации выбрать Submit a certificate request by using a base-64-encoded CMC or PKCS #10 file, or submit a renewal request by using a base-64-encoded PKCS #7 file и затем вставить содержмое этого файла в поле Base-64-encoded certificate request (CMC or PKCS #10 or PKCS #7). Обязательно выбрать Certificate Template: WebServer.
    Затем сохраняем сертификат например на диске С под именем C:\certnew.cer и выполняем две команды 1.     Import-ExchangeCertificate –Path C:\Certnew.cer –FriendlyName “ExchangeCertificate” и нажмите Enter. 2. Enable-ExchangeCertificate –Thumbprint [это надо взять из результатов выполнения предыдущей команды] -Services IIS,IMAP,POP
    После этого все будет работать.


    Николай
    • Предложено в качестве ответа N. Muravlyannikov 7 июля 2009 г. 12:17
    • Помечено в качестве ответа Dmitry_N 8 июля 2009 г. 12:50
    7 июля 2009 г. 12:17

Все ответы

  • Как делали запрос на сертифкат? Для Exchange необходимо запрос, который Вы отправите в центр сертификации сгенерировать с помощью PowerShell
    New-Exchangecertificate
    Как пример
    New-ExchangeCertificate -GenerateRequest -Path c:\certificates\request.req -SubjectName "c=ES, o=Diversión de Bicicleta, cn=mail1. DiversiondeBicicleta.com" -DomainName woodgrove.com, example.com
    Генерирование сертификата для owa woodgroove.com (для адреса https://woodgrove.com/owa)
    В результате выполнения (в данном примере у Вас создастся файл на диске  C: c именем request.req
    Затем через Web консоль центра сертификации выбрать Submit a certificate request by using a base-64-encoded CMC or PKCS #10 file, or submit a renewal request by using a base-64-encoded PKCS #7 file и затем вставить содержмое этого файла в поле Base-64-encoded certificate request (CMC or PKCS #10 or PKCS #7). Обязательно выбрать Certificate Template: WebServer.
    Затем сохраняем сертификат например на диске С под именем C:\certnew.cer и выполняем две команды 1.     Import-ExchangeCertificate –Path C:\Certnew.cer –FriendlyName “ExchangeCertificate” и нажмите Enter. 2. Enable-ExchangeCertificate –Thumbprint [это надо взять из результатов выполнения предыдущей команды] -Services IIS,IMAP,POP
    После этого все будет работать.


    Николай
    • Предложено в качестве ответа N. Muravlyannikov 7 июля 2009 г. 12:17
    • Помечено в качестве ответа Dmitry_N 8 июля 2009 г. 12:50
    7 июля 2009 г. 12:17
  • Прошло 5 часов:

    1. для создания запроса необходимо было выставить права на папку и её дочерине объекты 
     C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys

    2. Столкнулся с проблемами PrivateKeyNotAccessible, Certificate already exist. Хотя формирование запроса, выполнение запроса, импорт сертификата выполнялись на одной машине.

    ------------------- code start -------------------
    [PS] C:\>New-ExchangeCertificate -GenerateRequest -SubjectName "C=RU, O=DOMAIN, CN=exchserv.domain.local" -IncludeAcceptedDomains -DomainName exchserv, autodiscover.domain.local -Path c:\certificates\c21.req -PrivateKeyExportable $true -FriendlyName "MS Exchange 2007" -keysize 2048

    Thumbprint                                Services   Subject
    ----------                                --------   -------
    E7F99F8683775928431985BD322878CFFF98D591  .....      CN=exchserv.domain.local, O=DOMAIN, C=RU
    ------------------- code end ---------------------

    Кроме формирования файла-запроса c21.req, в оснастке Сертификаты (Local computer) \ Certificate Enrollment Request появляется сертификат (или запрос?) с закрытым ключем.
    Скармливаю сформированный запрос (c21.req) своему центру сертификации. Получаю файл c21.cer. Пробую импортировать его в Exchange 2007. Далее начинается мистика.

    ------------------- code start -------------------
    [PS] C:\>Import-ExchangeCertificate -Path c:\certificates\c21.cer
    Import-ExchangeCertificate : Cannot import as there already is a certificate with a thumbprint of 93C41918ECD4E42AD0D6F777082E3E70D317A3A8.
    At line:1 char:27
    + Import-ExchangeCertificate  <<<< -Path c:\certificates\c21.cer

    [PS] C:\Documents and Settings\Administrator.GOEC\Desktop>Get-ExchangeCertificate

    Thumbprint                                Services   Subject
    ----------                                --------   -------
    9EE81BAAF447E80169957D3A9E20DF9A1DD450C3  SIP..      CN=edgeserv.domain.local, O=DOMAIN, C=RU
    ------------------- code end ---------------------

    Причем после выполнения комманды импорта, в папке Personal certificates появляется полученный сертификат с закрытым ключем и статусом ОК. Но Exchange его не видит. Если не смотря на это выполнить комманду enable-exchangecertificate, вылазит ошибка PrivateKeyNotAccessible.

    7 июля 2009 г. 17:33
  • Попробуйте удалить сертификаты все для компьютера и  запросить снова. После импорта Exchange его и не должен видеть - Вы только импортировали в локальное хранилище сертификатов. Необходимо enable. Вы входите на компьютер с какими правами - это по поводу выставления прав на папку.


    Николай
  • Еще раз проделал все вышенаписанное, уперся в ту же самую ошибку. После выполнения import говорит, что серт уже есть, при попытке enable - privatekeynotaccessible. Почему - не понимаю.

    Моё рабочее решение: 

    1. запрос сертификата для Hub Transport у своего центра сертификации:
    template: web server
    CN=exchserv.domain.local
    o=DOMAIN
    C=RU

    При вводе данных форму сервера сертификатов, чекбокс Mark key as exportable неактивен. Жмем submit, затем back (возврат на страницу назад), Вуаля mark key as exportable доступен для отметки. Submit

    Открываем оснастку mmc - certificates. Сертификат сохраняется в личное хранилище текущего пользователя. Этот сертификат экспортируем в pfx и импортируем из power shell коммандой:

    Import-ExchangeCertificate -Path c:\certificates\certnew.pfx -Password:(Get-Credential).password | enable-exchangecertificate -service iis

    SSL заработал, OWA доступна по https://exchserv.domain.local/owa .


    • Изменено Dmitry_N 8 июля 2009 г. 14:31 озарение
    8 июля 2009 г. 13:12
  • Сталкивался с подобной ситуацией - решилось убиранием пробела в команде New-ExchangeCertificate после запятой между именами
     -DomainName exchserv, autodiscover.domain.local

    Сертификат выдавался, но san-имена кривые были и какжеться как раз про неэкспоритруемый ключ ругань была

    8 июля 2009 г. 14:32
  • "При вводе данных форму сервера сертификатов, чекбокс Mark key as exportable неактивен. Жмем submit, затем back (возврат на страницу назад), Вуаля mark key as exportable доступен для отметки. Submit"

     

    Спасибо большое за это решение!! Два дня уже сижу с этим и вот оно!! СПАСИБО!!

    9 июня 2010 г. 10:56
  • "При вводе данных форму сервера сертификатов, чекбокс Mark key as exportable неактивен. Жмем submit, затем back (возврат на страницу назад), Вуаля mark key as exportable доступен для отметки. Submit"

    у меня после нажатия на "Выдать" (Win 2003 русский) выдается окно "Потенциальная ошибка сценария" с текстом "Данный веб-узел запрашивает новый сертификат от вашего имени. Разрешайте запрос новых сертификатов только доверенным веб-узлам. Запросить сертификат?" жму "Да", выдается сертификат, жмем "Назад" - пустые поля и все сначала...

    и как же сделать ключ экспортируемым?

    10 июня 2010 г. 13:08