none
Не получается создать сертификат для Exchange RRS feed

  • Вопрос

  • Прошу прощения, сам понимаю что вопрос глупый, но 3 дня никак не могу разобраться:

    Есть несколько серверов Exchange 2010, добавил новый CAS-сервер, хочу создать для него сертификат.

    Все сервера работают под win 2008 r2.

    Создаю новый сертификат через мастер графической консоли. (Как написано например здесь: http://winitpro.ru/index.php/2011/12/13/nastrojka-ssl-sertifikata-v-exchange-server-2010/ )

    Получаю файл запроса .req и отложенный запрос подписи сертификата для данного сервера. Дальше, я так понимаю, надо этот .req-файл передать центру сертификации (другой win-хост), чтобы он его подтвердил и выдал мне файл-.cer.

    Команда как я понял должна быть наподобие: certreq -submit c:\cert_01.req cert_01.cer

    И потом этот cer-файл я отдаю опять Exchange-серверу, и он выполнит запрос.

    Однако, certreq возвращает ошибку:

    Политика регистрации Active Directory
      {C339CCE8-BD24-46E6-993A-0FDFD79FF127}
      ldap:
    Сертификат не выдан (Не завершено)

    Не могу понять, то ли проблема с самим ЦС, то ли я какие-то данные в сертификате некорректно заполнил, то ли я еще что-то неправильно делаю...

    20 марта 2013 г. 12:41

Ответы

  • Приветствую!

    Сам когда-то столкнулся с подобной "фичей", благо помог один хороший человек Vadims Podans. Пробуем.

    Суть:

    The Exchange 2010 wizard creates the request in a Unicode file. Certificate Services only understands Ansi. You have to open the request file in Notepad and then Save As specifying Ansi encoding. Then it works.

    Actually it doesn’t work, but you get a more intelligible error. When you submit the request using certreq you have to specify a template by adding the argument:

    -attrib "CertificateTemplate:WebServer"

    • Помечено в качестве ответа iltmpz1 21 марта 2013 г. 8:04
    20 марта 2013 г. 19:06
  • http://technet.microsoft.com/en-us/library/cc736590(v=ws.10).aspx

    Все, понял, именно через веб заходить, через саму оснастку ЦС лазить вообще не надо?

    Если у вас разрешена автовыдача, в ответ на запрос - то не надо.
    • Помечено в качестве ответа iltmpz1 21 марта 2013 г. 12:08
    21 марта 2013 г. 10:39
    Отвечающий

Все ответы

  • Скорее всего, в службе сертификации настроена политика, требующая выдачи сертификатов администратором вручную (например, для изолированного центра сертификации она настроена по умолчанию).

    В таком случае запустите оснастку центра сертификации, выдайте сертификат вручную и запишите идентификатор сертификата.

    Сохранить сертификат на сервере Exchange в указнный в предыдущей команде файл можно командой

    certreq - retrieve <идентификатор сертификата> cert_01.cer


    Слава России!

    20 марта 2013 г. 14:08
  • Скорее всего, в службе сертификации настроена политика, требующая выдачи сертификатов администратором вручную (например, для изолированного центра сертификации она настроена по умолчанию).

    В таком случае запустите оснастку центра сертификации, выдайте сертификат вручную и запишите идентификатор сертификата.

    Сохранить сертификат на сервере Exchange в указнный в предыдущей команде файл можно командой

    certreq - retrieve <идентификатор сертификата> cert_01.cer


    Слава России!

    Да, в последних экспериментах я ставил как раз изолированный центр сертификации, получил ту же ошибку, никаких политик относительно выдачи вручную конечно не настраивал.

    А можно поподробнее, я не совсем понял, что именно надо сделать:

    Т.е. я выдаю сертификат средствами графической консоли Exchange, он мне выкладывает req-файл, это не нужно? Я должен выдать сертификат прямо сразу на сервере ЦС, а консоль Exchange мне не нужна, а понадобится только в последний момент, для импорта? А какой тогда шаблон сертификата на сервере ЦС выбрать? Если я в свойствах своего ЦС выбираю пункт "Выдать новый запрос", выбираю свой req-файл, то окошко просто закрывается, и дальше ничего не происходит...

    И что такое идентификатор сертификата? Я нашел в свойствах сертификата только идентификатор ключа субъекта, это не то?

    20 марта 2013 г. 14:31
  • req-файл - текстовый, в кодировке base64. Содержимое нужно скопировать в окно запроса сертификата, выбрав соответствующий пункт в окне запроса на вашем CA (“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.” ). Никаких консольных команд не нужно. В результате получите файл *.cer - который и используете для завершения запроса.

    20 марта 2013 г. 14:55
    Отвечающий
  • Я написал, что нужно сделать, если команда certreq - submit вернула то, что она вернула в Вашем случае, чтобы продолжить работать дальше по используемой вами инструкции

    Т.е. Вы делаете все по вашей инструкции, вплоть до команды certreq -submit.  Затем пререключаетесь на консоль управления центром сертификации, заходите в очередь ожидающих запросов (узел Pending requests от же "Запросы в ожидании" в русской версии), выдаете сертификат (командой в локальном меню, например). Затем записываете сертификат в файл командой certreq -retrieve и дальше действуете по той же самой своей инструкции.

    Идентификатор сертификата (это я не совсем точно выразился, на самом деле это - идентификатор запроса, Request ID - это число в соответствующей колонке ("Код запроса" по-русски) в строке для нужного запроса/выданного сертификата в интерфейсе оснастки управления сертификатами.


    Слава России!

    20 марта 2013 г. 14:57
  • Приветствую!

    Сам когда-то столкнулся с подобной "фичей", благо помог один хороший человек Vadims Podans. Пробуем.

    Суть:

    The Exchange 2010 wizard creates the request in a Unicode file. Certificate Services only understands Ansi. You have to open the request file in Notepad and then Save As specifying Ansi encoding. Then it works.

    Actually it doesn’t work, but you get a more intelligible error. When you submit the request using certreq you have to specify a template by adding the argument:

    -attrib "CertificateTemplate:WebServer"

    • Помечено в качестве ответа iltmpz1 21 марта 2013 г. 8:04
    20 марта 2013 г. 19:06
  • Т.е. Вы делаете все по вашей инструкции, вплоть до команды certreq -submit.  Затем пререключаетесь на консоль управления центром сертификации, заходите в очередь ожидающих запросов (узел Pending requests от же "Запросы в ожидании" в русской версии), выдаете сертификат (командой в локальном меню, например). Затем записываете сертификат в файл командой certreq -retrieve и дальше действуете по той же самой своей инструкции.


    Код запроса нашел, спасибо, а вот в очередь ожидающих запросов захожу, и никаких команд до выдаче сертификата в меню не вижу, вроде все облазил 100 раз. Все что нашел - "Выдать новый запрос...", это в контекстном меню "Все задачи" при нажатии правой кнопкой на сам ЦС (корень дерева в консоли). А в меню выданных сертификатов только вид, обновить, и справка...

    Никаких окон запроса сертификата я тоже кстати не нашел...

    Но способ от Oleh Bhan помог, действительно, это же надо было додуматься изменить кодировку файла!

    Но как можно передать запрос через графическую админку тоже хотелось бы понять, может, у меня что-то недовключено?

    21 марта 2013 г. 8:13
  • Но как можно передать запрос через графическую админку тоже хотелось бы понять, может, у меня что-то недовключено?

    http://technet.microsoft.com/en-us/library/cc736590(v=ws.10).aspx
    21 марта 2013 г. 8:35
    Отвечающий
  • http://technet.microsoft.com/en-us/library/cc736590(v=ws.10).aspx
    Все, понял, именно через веб заходить, через саму оснастку ЦС лазить вообще не надо?
    21 марта 2013 г. 10:35
  • http://technet.microsoft.com/en-us/library/cc736590(v=ws.10).aspx

    Все, понял, именно через веб заходить, через саму оснастку ЦС лазить вообще не надо?

    Если у вас разрешена автовыдача, в ответ на запрос - то не надо.
    • Помечено в качестве ответа iltmpz1 21 марта 2013 г. 12:08
    21 марта 2013 г. 10:39
    Отвечающий
  • У меня exchange создаёт файл запроса. Но в файле кракозябы. Как только не пробовал открыть не выходит. Кодировка в ANSI и тд и тп не получается.

    Что за беда такая?

    И можно файл запроса пропустить не через веб, а как-то по другому?

    14 ноября 2014 г. 10:47
  • можно сюда напишу?

    создал запрос на сертификат

    захожу на /certsrv, делаю запрос сертификата, предварительно перезаписал файл в ansi, выбираю шаблон веб-сервер, делаю отправить. 

    а в "запросы в ожидании" запрос не появился.

    делаю на СА "новый запрос", пишет ошибку "В запросе отсутствует информация о шаблоне сертификата... Модуль политики отверг запрос, Запрос не содержит расширения шаблона сертификата  или атрибута запроса CertificateTemplate"

    certutil -setreg policy\EditFlags +EDITF_ATTRIBUTESUBJECTALTNAME2

    дает ошибку - команда не выполнена, недопустимые данные

    16 марта 2016 г. 5:35
  • можно сюда напишу?

    создал запрос на сертификат

    захожу на /certsrv, делаю запрос сертификата, предварительно перезаписал файл в ansi, выбираю шаблон веб-сервер, делаю отправить. 

    а в "запросы в ожидании" запрос не появился.

    делаю на СА "новый запрос", пишет ошибку "В запросе отсутствует информация о шаблоне сертификата... Модуль политики отверг запрос, Запрос не содержит расширения шаблона сертификата  или атрибута запроса CertificateTemplate"

    certutil -setreg policy\EditFlags +EDITF_ATTRIBUTESUBJECTALTNAME2

    дает ошибку - команда не выполнена, недопустимые данные

    Карен, добрый день,

    вам конечно лучше создать свою тему, т.к. эта помечена как отвеченная и сюда не все заглядывают.

    По сабжу, вам нужно сделать запрос сертификата с вашего Exchange сервера, он сохраняется в файле .req

    Зайти на ЦС через certsrv выбрать Запроса сертификата->расширенный запрос сертификата (это на 2008 ЦС, если на 2003 то еще нужно выбрать 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)

    Открыть ранее сохраненный .req файл в блокноте и скопировать все его содержимое в поле сохраненный запрос

    В шаблон сертификата выбираете веб-сервер и нажимаете Выдать

    На следующей странице вам должно быть предложено сохранить файл cer.

    Он вам и нужен.

    Если что то не получится, создайте свою тему, с описанием что пошло не так.

    17 марта 2016 г. 7:17