Синтаксис CAPolicy.inf

Область применения: Windows Server 2016

CAPolicy.inf — это файл конфигурации, определяющий расширения, ограничения и другие параметры конфигурации, применяемые к корневому сертификату ЦС и всем сертификатам, выданным корневым ЦС. Перед началом программы установки корневого ЦС необходимо установить файл CAPolicy.inf на сервере узла. Когда необходимо изменить ограничения безопасности корневого ЦС, необходимо обновить корневой сертификат, а обновленный файл CAPolicy.inf должен быть установлен на сервере до начала процесса продления.

CaPolicy.inf:

  • Создание и определение вручную администратором

  • Используется во время создания корневых и подчиненных сертификатов ЦС

  • Определяется в ЦС подписывания, где вы подписываете и выдаете сертификат (а не ЦС, где предоставляется запрос)

После создания файла CAPolicy.inf необходимо скопировать его в папку %systemroot% сервера перед установкой ADCS или продлением сертификата ЦС.

CAPolicy.inf позволяет указать и настроить широкий спектр атрибутов и параметров ЦС. В следующем разделе описаны все параметры создания INF-файла, адаптированного к конкретным потребностям.

Структура файлов CAPolicy.inf

Для описания структуры INF-файла используются следующие термины:

  • Раздел — это область файла, которая охватывает логическую группу ключей. Имена разделов в INF-файлах определяются путем отображения в скобках. Многие, но не все разделы используются для настройки расширений сертификатов.

  • Ключ — это имя записи и отображается слева от знака равенства.

  • Значение — это параметр и отображается справа от знака равенства.

В следующем примере [Версия] — это раздел, сигнатура является ключом, а значением является $Windows NT$.

Пример:

[Version]
Signature="$Windows NT$"

Версия

Определяет файл как INF-файл. Версия является единственным обязательным разделом и должна находиться в начале файла CAPolicy.inf.

PolicyStatementExtension

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

Для каждой политики должен быть раздел, определяющий параметры для этой конкретной политики. Для каждой политики необходимо указать определяемый пользователем идентификатор объекта (OID) и текст, отображаемый в качестве инструкции политики или URL-указателя на инструкцию политики. URL-адрес может быть в виде URL-адреса HTTP, FTP или LDAP.

Если у вас будет описательный текст в операторе политики, то следующие три строки CAPolicy.inf будут выглядеть следующим образом:

[InternalPolicy]
OID=1.1.1.1.1.1.1
Notice="Legal policy statement text"

Если вы собираетесь использовать URL-адрес для размещения инструкции политики ЦС, то следующие три строки будут выглядеть следующим образом:

[InternalPolicy]
OID=1.1.1.1.1.1.2
URL=https://pki.wingtiptoys.com/policies/legalpolicy.asp

Кроме того, следует отметить следующее:

  • Поддерживаются несколько ключей URL-адресов и уведомлений.

  • Поддерживаются ключи уведомления и URL-адреса в том же разделе политики.

  • URL-адреса с пробелами или текстом с пробелами должны быть окружены кавычками. Это верно для ключа URL-адреса независимо от раздела, в котором он отображается.

Пример нескольких уведомлений и URL-адресов в разделе политики будет выглядеть следующим образом:

[InternalPolicy]
OID=1.1.1.1.1.1.1
URL=https://pki.wingtiptoys.com/policies/legalpolicy.asp
URL=ftp://ftp.wingtiptoys.com/pki/policies/legalpolicy.asp
Notice="Legal policy statement text"

CRLDistributionPoint

Точки распространения CRL (CDPs) можно указать для корневого сертификата ЦС в CAPolicy.inf. После установки ЦС можно настроить URL-адреса CDP, которые ЦС включает в каждый выданный сертификат. Сертификат корневого ЦС отображает URL-адреса, указанные в этом разделе файла CAPolicy.inf.

[CRLDistributionPoint]
URL=http://pki.wingtiptoys.com/cdp/WingtipToysRootCA.crl

Поддержка точек распространения CRL (CDPs):

  • HTTP
  • URL-адреса файлов;
  • URL-адреса LDAP
  • Несколько URL-адресов

Внимание

Точки распространения CRL (CDPS) не поддерживают URL-адреса HTTPS.

  • Кавычки должны окружать URL-адреса пробелами.

  • Если URL-адреса не указаны , то есть если раздел [CRLDistributionPoint] существует в файле, но пустой — расширение точки распространения CRL опущено из корневого сертификата ЦС. Это предпочтительнее при настройке корневого ЦС. Windows не выполняет отзыв проверка на корневом сертификате ЦС, поэтому расширение CDP является лишним в корневом сертификате ЦС.

  • ЦС может публиковаться в FILE UNC, например в общей папке, представляющей папку веб-сайта, где клиент получает через HTTP.

  • Используйте этот раздел, только если вы настраиваете корневой ЦС или обновляете сертификат корневого ЦС. ЦС определяет подчиненные расширения CDP ЦС.

AuthorityInformationAccess

Вы можете указать точки доступа к данным центра в CAPolicy.inf для корневого сертификата ЦС.

[AuthorityInformationAccess]
URL=http://pki.wingtiptoys.com/Public/myCA.crt

Дополнительные заметки о доступе к данным центра:

  • Поддерживаются несколько URL-адресов.

  • Поддерживаются URL-адреса HTTP, FTP, LDAP и FILE. URL-адреса HTTPS не поддерживаются.

  • Этот раздел используется только в том случае, если вы настраиваете корневой ЦС или обновляете сертификат корневого ЦС. Подчиненные расширения ЦС AIA определяются ЦС, выдавшим сертификат подчиненного ЦС.

  • URL-адреса с пробелами должны быть окружены кавычками.

  • Если URL-адреса не указаны, то есть если раздел [AuthorityInformationAccess] существует в файле, но пустой— расширение центра доступа к данным центра пропускается из корневого сертификата ЦС. Опять же, это будет предпочтительный параметр, если нет центра выше корневого ЦС, на который необходимо ссылаться ссылкой на его сертификат.

certsrv_Server

Раздел [certsrv_server] CAPolicy.inf является необязательным. Используется [certsrv_server] для указания длины ключа продления, срока действия продления и срока действия списка отзыва сертификатов (CRL) для ЦС, который обновляется или устанавливается. Ни один из ключей в этом разделе не требуется. Многие из этих параметров имеют значения по умолчанию, которые достаточно для большинства потребностей и могут быть пропущены из файла CAPolicy.inf. Кроме того, многие из этих параметров можно изменить после установки ЦС.

Пример будет выглядеть следующим образом:

[certsrv_server]
RenewalKeyLength=2048
RenewalValidityPeriod=Years
RenewalValidityPeriodUnits=5
CRLPeriod=Days
CRLPeriodUnits=2
CRLDeltaPeriod=Hours
CRLDeltaPeriodUnits=4
ClockSkewMinutes=20
LoadDefaultTemplates=True
AlternateSignatureAlgorithm=0
ForceUTF8=0
EnableKeyCounting=0

RenewalKeyLength задает размер ключа только для продления. Это используется только при создании новой пары ключей во время продления сертификата ЦС. Размер ключа для начального сертификата ЦС устанавливается при установке ЦС.

При продлении сертификата ЦС с новой парой ключей длина ключа может быть увеличена или уменьшена. Например, если вы установили размер ключа корневого ЦС размером 4096 байт или выше, а затем обнаружите, что у вас есть приложения Java или сетевые устройства, которые могут поддерживать только размеры ключей в 2048 байтах. При увеличении или уменьшении размера необходимо повторно получить все сертификаты, выданные этим ЦС.

RenewValidityPeriod и RenewValidityPeriodUnits устанавливают время существования нового корневого сертификата ЦС при продлении старого корневого сертификата ЦС. Он применяется только к корневому ЦС. Время существования сертификата подчиненного ЦС определяется его вышестоящим. RenewalValidityPeriod может иметь следующие значения: часы, дни, недели, месяцы и годы.

CRLPeriod и CRLPeriodUnits устанавливают срок действия базового списка отзыва сертификатов. CRLPeriod может иметь следующие значения: часы, дни, недели, месяцы и годы.

CRLDeltaPeriod и CRLDeltaPeriodUnits устанавливают срок действия разностного списка отзыва сертификатов. CRLDeltaPeriod может иметь следующие значения: часы, дни, недели, месяцы и годы.

Каждый из этих параметров можно настроить после установки ЦС:

Certutil -setreg CACRLPeriod Weeks
Certutil -setreg CACRLPeriodUnits 1
Certutil -setreg CACRLDeltaPeriod Days
Certutil -setreg CACRLDeltaPeriodUnits 1

Не забудьте перезапустить службы сертификатов Active Directory, чтобы все изменения вступили в силу.

LoadDefaultTemplates применяется только во время установки корпоративного ЦС. Этот параметр либо True, либо False (или 1 или 0), определяет, настроен ли ЦС с любым из шаблонов по умолчанию.

При установке ЦС по умолчанию в оснастке центра сертификации добавляется подмножество шаблонов сертификатов по умолчанию. Это означает, что как только служба CS AD начинается после установки роли пользователя или компьютера с достаточными разрешениями, может немедленно зарегистрировать сертификат.

Возможно, вы не хотите выдавать сертификаты сразу после установки ЦС, поэтому можно использовать параметр LoadDefaultTemplates, чтобы предотвратить добавление шаблонов по умолчанию в ЦС Enterprise. Если в ЦС нет шаблонов, он не может выдавать сертификаты.

AlternateSignatureAlgorithm настраивает ЦС для поддержки формата подписи PKCS#1 версии 2.1 для сертификатов ЦС и запросов на сертификаты. Если задано значение 1 в корневом ЦС, сертификат ЦС будет включать формат подписи PKCS#1 версии 2.1. При установке в подчиненном ЦС подчиненный ЦС создаст запрос на сертификат, включающий формат подписи PKCS#1 версии 2.1.

ForceUTF8 изменяет кодировку по умолчанию относительных различающихся имен (RDN) в темах и издателях на UTF-8. Затронуты только те RDN, которые поддерживают UTF-8, например те, которые определяются как типы строк каталогов RFC. Например, RDN для компонента домена (DC) поддерживает кодировку как IA5 или UTF-8, в то время как страна RDN (C) поддерживает кодировку только в виде печатной строки. Поэтому директива ForceUTF8 влияет на RDN контроллера домена, но не влияет на RDN C.

EnableKeyCounting настраивает ЦС для увеличения счетчика при каждом использовании ключа подписи ЦС. Не включите этот параметр, если у вас нет аппаратного модуля безопасности (HSM) и связанного поставщика служб шифрования (CSP), поддерживающего подсчет ключей. Подсчет ключей не поддерживается либо поддержкой Microsoft Strong CSP, либо поддержкой служба хранилища поставщика программного обеспечения (KSP).

Создание файла CAPolicy.inf

Перед установкой AD CS необходимо настроить файл CAPolicy.inf с определенными параметрами для развертывания.

Предварительные требования. Необходимо быть членом группы Администратор istrators.

  1. На компьютере, на котором планируется установить AD CS, откройте Windows PowerShell, введите notepad.exe и нажмите клавишу ВВОД.

  2. Введите следующий текст:

    [Version]
    Signature="$Windows NT$"
    [PolicyStatementExtension]
    Policies=InternalPolicy
    [InternalPolicy]
    OID=1.2.3.4.1455.67.89.5
    Notice="Legal Policy Statement"
    URL=https://pki.corp.contoso.com/pki/cps.txt
    [Certsrv_Server]
    RenewalKeyLength=2048
    RenewalValidityPeriod=Years
    RenewalValidityPeriodUnits=5
    CRLPeriod=weeks
    CRLPeriodUnits=1
    LoadDefaultTemplates=0
    AlternateSignatureAlgorithm=1
    [CRLDistributionPoint]
    [AuthorityInformationAccess]
    
  3. Выберите "Файл" и нажмите кнопку "Сохранить как".

  4. Перейдите в папку %systemroot% .

  5. Убедитесь, что установлены следующие параметры:

    • Имя файла установлено значение CAPolicy.inf

    • в полеТип файла выбрано Все файлы;

    • В поле Кодировка указано ANSI

  6. Выберите Сохранить.

  7. Когда появится запрос на перезапись файла, нажмите кнопку "Да".

    Save As location for the CAPolicy.inf file

    Внимание

    Обязательно сохраните файл CAPolicy.inf с расширением "inf". Если вы специально не укажете .inf в конце имени файла и выберете предложенные настройки, то файл будет сохранен как текстовый и не будет использоваться при установке ЦС.

  8. Закройте блокнот.

Внимание

В CAPolicy.inf отображается строка, указывающая URL-адрес https://pki.corp.contoso.com/pki/cps.txt. Раздел внутренней политики файла CAPolicy.inf показан только в качестве примера того, как вы будете указывать расположение уведомления о правилах работы с сертификатами (CPS). В этом руководстве не описано, как создать инструкцию о практике сертификата (CPS).