Сертификаты в Windows

Материал из sysadm
Перейти к навигации Перейти к поиску

Ссылки по теме:

Выпуск сертификата по шаблону

Необходимо:

  1. Сервер CA доступен по RPC
  2. Учетная запись компьютера должна иметь доступ на чтение и запрос к соответствующему шаблону

Выпустить сертификат можно с помощью утилиты mmc в оснастке "Сертификаты" подключенной в контексте локального компьютера

  1. Запросить выпуск сертификата
  2. Выбрать шаблон
  3. Заполнить все необходимые аттрибуты
  4. Запросить выпуск сертификата

Пример выпуска сертификата по шаблону веб-сервера из командной строки

Создайте файл ssl.inf

[Version]
Signature="$Windows NT$"

[NewRequest]
Subject = "CN=SERVER.CONTOSO.COM"   ; For a wildcard use "CN=*.CONTOSO.COM" for example
; For an empty subject use the following line instead or remove the Subject line entierely
; Subject =
Exportable = FALSE                  ; Private key is not exportable
KeyLength = 2048                    ; Common key sizes: 512, 1024, 2048, 4096, 8192, 16384
KeySpec = 1                         ; AT_KEYEXCHANGE
KeyUsage = 0xA0                     ; Digital Signature, Key Encipherment
MachineKeySet = True                ; The key belongs to the local computer account
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
SMIME = FALSE
RequestType = CMC

; At least certreq.exe shipping with Windows Vista/Server 2008 is required to interpret the [Strings] and [Extensions] sections below

[Strings]
szOID_SUBJECT_ALT_NAME2 = "2.5.29.17"
szOID_ENHANCED_KEY_USAGE = "2.5.29.37"
szOID_PKIX_KP_SERVER_AUTH = "1.3.6.1.5.5.7.3.1"
szOID_PKIX_KP_CLIENT_AUTH = "1.3.6.1.5.5.7.3.2"

[Extensions]
%szOID_SUBJECT_ALT_NAME2% = "{text}dns=computer1.contoso.com&dns=computer2.contoso.com"
%szOID_ENHANCED_KEY_USAGE% = "{text}%szOID_PKIX_KP_SERVER_AUTH%,%szOID_PKIX_KP_CLIENT_AUTH%"

[RequestAttributes]
CertificateTemplate= WebServer

Выпустите сертификат

# создание файла запроса
certreq -new ssl.inf ssl.req

# проверка файла запроса
certutil ssl.req

# выпуск сертификата по запросу
certreq -submit ssl.req

# если шаблон не указан в inf файле, то его можно указать на этапе выпуска сертификата
certreq.exe -submit -attrib "CertificateTemplate:WebServer" ssl.req