CAPolicy.inf и Install-AdcsCertificationAuthority

Вопрос или проблема

Я только что работал над созданием двухуровневой PKI и интересуюсь, почему так много учебников создают такой capolicy.inf

[Version]
Signature="$Windows NT$"
[PolicyStatementExtension]
Policies=InternalPolicy
[InternalPolicy]
OID= 1.2.3.4.1455.67.89.5
URL=http://pki.bedrock.domain/pki/cps.html
[Certsrv_Server]
RenewalKeyLength=4096
RenewalValidityPeriod=Years
RenewalValidityPeriodUnits=20
CRLPeriod=Years
CRLPeriodUnits=20
CRLDeltaPeriod=Days
CRLDeltaPeriodUnits=0
LoadDefaultTemplates=0

и позже выполняет такую команду

Install-AdcsCertificationAuthority -CAType StandaloneRootCA -CACommonName "Bedrock Root Certificate Authority" -KeyLength 4096 -HashAlgorithm SHA256 -CryptoProviderName "RSA#Microsoft Software Key Storage Provider" -ValidityPeriod Years -ValidityPeriodUnits 20 -Force

Я не знаю много о CA, но кажется, что мы дублируем работу, как здесь:

CRLPeriod=Years
CRLPeriodUnits=20

А здесь

-ValidityPeriod Years -ValidityPeriodUnits 20

мы настраиваем одни и те же параметры.

Пример:
https://timothygruber.com/pki/deploy-a-pki-on-windows-server-2016-part-3/

И это не только этот учебник, но и многие другие. Должно быть, есть что-то, что я не понимаю, буду признателен, если кто-то сможет объяснить.

Я думаю, что нашел ответ, это не одно и то же:

https://docs.microsoft.com/en-us/windows-server/networking/core-network-guide/cncg/server-certs/prepare-the-capolicy-inf-file

Как уже отметил Pawe zaicnupagadi Jarosz, многие веб-сайты копируют информацию из других источников. Тем не менее, неясно, нужны ли оба параметра ValidityPeriod и ValidityPeriodUnits как в файле C:\Windows\CAPolicy.inf, так и в команде Powershell Install-AdcsCertificationAuthority. Первый файл является локальным на сервере ADCS и используется при генерации запросов на сертификаты (CSR). Последний Powershell устанавливает и настраивает ADCS и, вероятно, записывает информацию в контейнер PKI ADSI в Windows AD.

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

С сайта oid-rep.orange-labs.fr – Репозиторий OID – Часто задаваемые вопросы – 22

Существует ли определенный OID, который можно использовать для документирования примеров идентификаторов объектов?

  • OID {joint-iso-itu-t(2) example(999)} (или 2.999) может использоваться любым человеком, без разрешения, с целью документирования примеров идентификаторов объектов (так же, как “example.com” определен в IETF RFC 2606 как пример для веб-сайтов).
  • OID {iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 32473} (или 1.3.6.1.4.1.32473) был выделен IETF RFC 5612 для использования в качестве номера частного предприятия (PEN) в примерах в Request For Comments (RFC), книгах, документации и тому подобном.

Ответ или решение

CAPolicy.inf и Install-AdcsCertificationAuthority: понимание и различия

При работе с инфраструктурой открытых ключей (PKI) на Windows Server, часто возникает необходимость в использовании файла CAPolicy.inf и командлета PowerShell Install-AdcsCertificationAuthority. Эти два элемента в контексте создания и управления центрами сертификации (CA) играют важные, но разные роли.

CAPolicy.inf: структура и назначение

Файл CAPolicy.inf используется для настройки политики сертификации и определения параметров, касающихся сертификатов, которые будет выдавать ваш центр сертификации. В вашем примере файл имеет следующую структуру:

[Version]
Signature="$Windows NT$"
[PolicyStatementExtension]
Policies=InternalPolicy
[InternalPolicy]
OID= 1.2.3.4.1455.67.89.5
URL=http://pki.bedrock.domain/pki/cps.html
[Certsrv_Server]
RenewalKeyLength=4096
RenewalValidityPeriod=Years
RenewalValidityPeriodUnits=20
CRLPeriod=Years
CRLPeriodUnits=20
CRLDeltaPeriod=Days
CRLDeltaPeriodUnits=0
LoadDefaultTemplates=0

Основные элементы:

  1. OID: Уникальный идентификатор объекта, используемый для описания политики. Важно учитывать, что использование непроверенных OID может привести к путанице. Для примеров рекомендуется использовать официальные OID.

  2. CRLPeriod и CRLDeltaPeriod: Эти параметры определяют, как часто будет обновляться список отозванных сертификатов (CRL). Параметры CRL определяют время действия CRL и его дельты, которые позволяют более эффективно управлять сертификатами.

  3. RenewalValidityPeriod: Указывает срок действия новых ключей, что имеет значение при продлении сертификата.

Install-AdcsCertificationAuthority: установка и инициализация

Командлет PowerShell Install-AdcsCertificationAuthority отвечает за установку и начальную настройку CA. Ваша команда выглядит следующим образом:

Install-AdcsCertificationAuthority -CAType StandaloneRootCA -CACommonName "Bedrock Root Certificate Authority" -KeyLength 4096 -HashAlgorithm SHA256 -CryptoProviderName "RSA#Microsoft Software Key Storage Provider" -ValidityPeriod Years -ValidityPeriodUnits 20 -Force

Параметры командлета:

  1. CAType: Определяет тип создаваемого центра сертификации.

  2. CACommonName: Задает общее имя для CA, который будет отображаться в сертификатах.

  3. KeyLength и HashAlgorithm: Устанавливают параметры безопасности для ключей, которые используются центром сертификации.

  4. ValidityPeriod и ValidityPeriodUnits: Эти параметры определяют срок действия самого CA, который отличается от срока действия сертификатов, указываемых в CAPolicy.inf. Это важно для поддержания безопасности и актуальности PKI.

Различия и почему они необходимы

Хотя параметры ValidityPeriod и ValidityPeriodUnits в обеих частях могут казаться избыточными, они выполняют разные функции:

  • CAPolicy.inf: Эти параметры влияют на срок действия сертификатов, выдаваемых данным CA, а не на сам CA.

  • Install-AdcsCertificationAuthority: Здесь параметры определяют продолжительность жизни самого центра сертификации.

Таким образом, несмотря на то, что оба файла содержат похожую информацию, они касаются разных аспектов настройки PKI: политики сертификации и установки самого CA.

Заключение

Оптимальный подход к созданию инфраструктуры открытых ключей подразумевает внимательное отношение к настройкам как CAPolicy.inf, так и параметрам командлета Install-AdcsCertificationAuthority. Понимание их различий и назначений позволит вам настроить надежную и безопасную PKI в вашей организации, а также избежать возможных ошибок и недоразумений в документации и практике.

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

Оцените материал
Добавить комментарий

Капча загружается...