Contents of this directory is archived and no longer updated.

Disclaimer: данный материал публикуется только для ознакомительных целей и не рекомендуется для использования в реальной производственной среде.

Краткий ввод в курс дела. Что такое EV сертификат – это Extended Validation сертификат, который в браузере отображается зелёной полосой:

Extended Validation certificate in Internet Explorer 7 or higher

Что это означает? Это означает, что издатель сертификата (например, VeriSign) более серьёзно и внимательно изучил предъявителя этого сертификата, что даёт пользователям ещё большую гарантию, что сайт, на который вы попали, является тем самым сайтом, который вы набрали в адресной строке. А так же этим подтверждается, что сайт является зарегистрированной коммерческой организацией с сопутствующими проверками. Т.е. к получателю Extended Validation сертификатов предъявляются достаточно жёсткие требования. Эти сертификаты в Public Certification Authorities стоят значимо дороже, чем обычные SSL сертификаты (я посмотрел по предложениям и получилось в среднем увеличение цены в 2 раза). Плюс, такие сертификаты не имеют возможности использования WildCard доменов в Subject, хотя допускают Subject Alternative Names (когда одному web-сайту сопоставляется несколько имён). Такие сертификаты в интернете могут выпускать только одобренные центры сертификации (Certification Authorities). Список таких CA можно посмотреть вот здесь: http://cabforum.org/forum.html. Требования к работе с такими сертификатами для CA и покупателей: http://cabforum.org/documents.html

Но это всё лирика. Мы хотим внутри корпоративного домена поднять SSL веб-портал и чтобы там была такая же зелёная полоска :-) и мы можем такое сделать. Я покажу процесс на примере CA и домена под управлением Windows Server 2008 R2. Я предполагаю, что у вас уже развёрнут домен Active Directory и установлена роль AD CS (Active Directory Certificate Services).

Когда у нас предварительные подготовления закончены нам нужно произвести необходимые изменения в шаблоне Web Server. Для этого нужно сделать следующее:

  1. на сервере с установленным CA запустить оснастку Certificate Templates: certtmpl.msc
  2. выбрать шаблон Web Server и правой кнопкой выбрать Duplicate Certificate и выбрать версию шаблона 2 или 3 (Windows Server 2003 Enterprise Edition или Windows Server 2008 Enterprise Edition, соответственно).
  3. В поле Template Display Name напишите новое имя шаблону (например, Web Server V2 или V3).
  4. Убедитесь, что срок действия сертификатов на основе этого шаблона установлен 1 год (обычно для SSL веб-сайтов не выдают сертификаты на срок больше 1 года).
  5. На вкладке Extensions выберите Issuance Policies –> Edit –> Add –> New:
     Editing Issuance Policy
    и скопируйте сгенерированный OID в поле Object Identifier, он нам ещё потребуется.
  6. Напишите название вашей политики и адрес CPS (Certificate Practice Statement).
  7. На вкладке Request Handling настройте свои значения (как экспорт закрытого ключа, архивация закрытого ключа) на своё усмотрение.
  8. На вкладке Issuance Requirements поставьте ручное одобрение администратора CA (чтобы контролировать расход EV сертификатов :-), либо на вкладке Security отрегулируйте разрешения, кому можно запрашивать сертификат.
  9. Сохраните шаблон.

Теперь раскройте оснастку Certificate Authority и перейдите в Certificate Templates –> New –> Template To Issue и выберите наш новый шаблон. После того, как все приготовления закончены, можно приступать к редактированию групповой политики.

Примечание: Для редактирования политики вам потребуется консоль GPMC в Windows Server 2008 R2, Windows 7 с установленным RSAT. При этом версия ОС на контроллере может быть другой, но не ниже Windows Server 2003, а сервер CA не ниже Windows Server 2003 Enterprise Edition.

Запустите оснастку GPMC и создайте новую политику, которая будет прилинкована на уровне домена. Безусловно, вы можете редактировать существующую Default Domain Policy, но я не рекомендую использовать дефолтную политику, а для каждой задачи создавать свою политику и линковать куда нужно. В редакторе политики перейдите по секции:

Computer Configuration –> Policies –> Windows Settings –> Security Settings –> Public Key Policies –> Trusted Root Certification Authorities

здесь выберите All Task –> Import и импортируйте корневой сертификат вашего CA, который является корневым в вашем лесу. Далее, выберите свойства сертификата (не открывать сам сертификат) и перейдите в таб Extended Validation:

Edit Extended Validation tab

И добавьте сюда тот самый OID, который у вас был сгенерирован при создании новой Issuance Policy.

Теперь вам нужно перейти на ваш web-сервер. Если это Windows Server 2003, то вы можете запросить новый SSL сертификат из оснастки IIS. Если у вас web-сервер под управлением Windows Server 2008 или выше, то вы не можете больше запрашивать SSL сертификат из оснастки IIS, а только путём генерирования запроса в формате PKCS#7, либо через MMC оснастку Certificates запущенной от лица Local Computer. Запросите новый сертификат на основе вновь созданного шаблона (желательно при запросе указывать наиболее подробные сведения о вашем Web-сервере). Если у вас в политике шаблона указано ручное одобрение запроса – одобрите его в оснастке Certification Authority –> Pending Requests. После того, как сертификат сгенерирован, настройте ваш веб-сервер на работу с SSL с использованием этого сертификата.

Теперь подождите, пока отредактированная групповая политика применится на компьютерах домена. После чего запустите браузер на любом клиенте (не ниже Windows XP SP2 с установленным Internet Explorer 7 или выше) и наберите HTTPS адрес вашего веб-сервера и получайте профит:

 Extended Validation certificate in Internet Explorer 7 or higher

Extended Validation certificate in Internet Explorer 7 or higher

И ещё раз о требованиях к операционным системам:

  • Domain Controller – не ниже Windows Server 2003 Standard Edition. Для редактирования политики потребуется Windows 7 с RSAT или рядовой член домена под управлением Windows Server 2008 R2 с установленным компонентом Group Policy Management.
  • CA – не ниже Windows Server 2003 Enteprise Edition (Кроме Windows Server 2003/2008 Standard/Web Edition).
  • веб-сервер – любой.
  • клиентский компьютер – не ниже Windows XP SP2 и с установленным Internet Explorer не ниже 7 версии.

И ещё раз напоминаю, что это будет видно только тем компьютерам, которые получили изменённую политику. Остальные компьютеры будут видеть обычный замочек и всё.

Have a nice day!


Share this article:

Comments:

AmnoN

Почему то когда я пытаюсь энролить сертификат через IIS в Windows Server 2003 Мне приходит сертификат на основе старого шаблона :( Всякие извращения с mmc не помогли... :(

Vadims Podāns

Это скорее всего связано с кешем браузера.

AmnoN

Не получается почему-то.. Если через IIS в Windows Server 2003 то тянет старый шаблон Если через mmc то The certificate has invalid policy. 0x800b0113 (-2146762477) Error Constructing or Publishing Certificate Invalid Issuance Policies: (...здесь OID...) Вчера даже дома в тэстовой среде получал такую же ошибку.. Вроде все по инструкции сделал.

AmnoN

Вот тут http://technet.microsoft.com/en-us/library/dd759060.aspx пишут про Application Policies почему то :|

Vadims Podāns

В качестве временного воркэраунда сделайте вот это на CA: certutil –setreg CA\CRLFlags +CRLF_IGNORE_INVALID_POLICIES net stop certsvc && net start certsvc по поводу Application Policies — это ошибка в статье МСа. Должно быть Issuance Policy.

AmnoN

Да это помогло. Сертификаты энролятся. Только зеленой полосы нету. :( Политики вроде все компютеры получили. Уже не знаю куда смотреть. Пытался исследовать https://login.live.com Ладно видимо не судьба. В любом случае спасибо за помощь и вообще за весь блог очень много для себя почерпнул.

AmnoN

Так вроде дошло почему у меня тичего не позеленело http://technet.microsoft.com/en-us/library/dd759060.aspx issuing CA must meet the following requirements: The certification path of the issuing CA certificate includes a root certificate that includes an EV certificate policy. The issuing CA certificate includes the All Issuance policy or an EV certificate policy. The issuing CA is an enterprise CA.

AmnoN

Разобрался вроде Был криво установлен Ent SubCA (в нем не присутствовало All Issuance policy ) Отсюда ошибка Invalid Issuance Policies при энроле и соответственно не желение зеленеть при IGNORE_INVALID_POLICIES

Vadims Podāns

и снова нет. Что-то у них очень много ошибок в статье. Корневой CA может иметь EV certificate policy, но обычно корни имеют All Issuance Policy. Issuing CA может иметь EV certificate policy, но может и All Issuance Policy. Правда, тут следует уточнить, что All Issuance Policy должен быть явно определён в CAPolicy.inf при установке Subordinate CA и не обязательно для Root CA. Вот пример этих строчек: [PolicyStatementExtension] Policies = PolicyName Critical = false [PolicyName] OID = 2.5.29.32.0; это OID = All Issuance Policies URL = "http://URL To your CPS"; URL обязателен Issuing CA может быть и Enterprise и Standalone. Они выдают одинаковые сертификаты и отличаются главным образом особенностями эксплуатации. Почему я это всё не написал в основном посте? Я просто на тот момент не заморачивался этим и делал на примитивном сценарии, когда у нас один Root/Policy/Issuing CA.

Comments are closed.