Услуги за сертификати на Windows Active Directory (ADCS) с PKI прокси

В този документ се описва конфигурирането на услугите за сертификати на Windows Active Directory (ADCS) с PKI Proxy и NetHSM.

Prerequisits

  • NetHSM

    • Provisioned

    • Administrative access

  • PKI Proxy server

    • NetHSM PKCS#11 модулът е инсталиран и конфигуриран за използване с NetHSM

  • CA сървър (Windows Server)

    • ADCS role installed, but not configured

    • PKI Proxy client tools installed

    • Клиентските инструменти не са необходими, ако на този сървър се изпълнява и PKI Proxy сървърът, тъй като той включва клиентските инструменти.

    • Pynitrokey installed

Root CA Key and Certificate

В следната таблица са изброени алгоритмите за ключове и дължините на ключовете, както и хеш-алгоритмите, които Windows ADCS може да използва с NetHSM.

Key Algorithm

Key Length

Hash Algorithm

RSA

1024

MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512

2048

MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512

4096

MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512

ECDSA

P256

SHA1, SHA256, SHA385, SHA512

P384

SHA1, SHA256, SHA385, SHA512

P521

SHA1, SHA256, SHA385, SHA512

Important

Моля, спазвайте най-добрите практики при избора на сигурен алгоритъм за ключ, дължина и алгоритъм за хеширане.

Ключът и сертификатът могат да бъдат или новосъздадени, или да се прехвърли вече съществуващ. Моля, вижте подразделите по-долу, за да научите повече за подхода, подходящ за вашата конкретна ситуация.

Generate a new Root CA Key and Certificate on Windows

Следващите инструкции служат за създаване на нов ключ и сертификат, които да се използват в главния сертификационен орган (Root CA) на „ в ADCS.

Tip

Обикновено е по-лесно да се генерират ключ и сертификат с помощта на конфигурационния помощник на ADCS, а след това да се следват инструкциите на Migrate existing Key and Certificate.

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

Шаблонът на заявката трябва да бъде запазен във файл с името RootCA.inf и със следното съдържание.

Този шаблон ще генерира RSA ключ с дължина 4096 бита. Трябва да замените <CA-NAME> с името на вашия сертификационен център (CA).

[Version]
Signature="$Windows NT$"

[NewRequest]
Subject = "CN=<CA-NAME>"
KeySpec = 1
KeyLength = 4096
Exportable = TRUE
MachineKeySet = TRUE
SMIME = FALSE
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = "Microsoft Software Key Storage Provider"
ProviderType = 0
RequestType = Cert
KeyUsage = 0x86

[Extensions]
; Key Usage: keyCertSign (0x04) + cRLSign (0x02) => 0x06
2.5.29.15 = "{critical}86"

; Basic Constraints: CA = TRUE, path length optional
2.5.29.19 = "{critical}{text}CA=TRUE"

; CA Version (V0.0)
1.3.6.1.4.1.311.21.1 = "{hex}02 01 00"

[RequestAttributes]
; Empty for self-signed request

Generate the key and certificate from the certificate template.

certreq -new RootCA.inf RootCA.req

Сертификатът е добавен в хранилището на сертификати на локалния компютър. Експортирайте сертификата във файл с формат PFX, като замените <THUMBPRINT> със съответната стойност от изхода на предходната команда.

$password = Read-Host -AsSecureString "Password"
Export-PfxCertificate -Cert Cert:\LocalMachine\My\<THUMBPRINT> -FilePath RootCA.pfx -Password $password

Стойността на паролата се използва за криптиране на архива PKCS#12 (PFX файл). Можете да продължите с главата „ “ Конфигурация на NetHSM.

Migrate existing Key and Certificate

За да се прехвърлят съществуващ ключ и сертификат, те трябва да бъдат експортирани от хранилището за сертификати на ADCS, а полученият архив да бъде импортиран в NetHSM.

Important

Преди да внесете промени в сертификационен орган в производствена среда, се препоръчва да създадете резервно копие на същия. Моля, вижте тази страница на адрес ` <https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/manage/component-updates/ca-backup-and-restore-windows-powershell-cmdlets>` __, за да научите повече.

  1. Отворете certlm.msc.

  2. Отворете „ “ → „Сертификати“ → „Местен компютър“ → „Лични“ → „Сертификати“.

  3. Select the certificate in the list on the right.

  4. В горната лента с менюта преминайте към „ “ → „Action“ → „All Tasks“ → „Export…“. Това ще стартира помощника за експортиране на сертификати на ** .

  5. Confirm the introduction of the assistant with Next.

  6. Маркирайте бутона до „ “ (Да, да се експортира частният ключ) и потвърдете с „ “ (Да, да се експортира частният ключ) След това изберете „ “ (Да, да се експортира частният ключ). Ако бутонът не е достъпен, ключът е маркиран като невъзможен за експортиране. В този случай настоящото ръководство не е приложимо за конкретния случай на употреба.

  7. Ако е възможно, включете всички сертификати в сертификационния път

  8. Отбележете бутона до „ “ (Да, експортирайте частния ключ) и потвърдете с „ “ (Да, експортирайте частния ключ) След това.

  9. Маркирайте бутона до „ “ („Обмен на лична информация“ – PKCS #12 (.PFX)). Уверете се, че сте маркирали следните опции:

    • Ако е възможно, включете всички сертификати в сертификационния път

    • Експортиране на всички разширени свойства

    • Enable certificate privacy

    Confirm the selection with Next.

  10. Маркирайте бутона до „ “ (Парола). Въведете парола в полетата за парола. От падащото меню до „ Encryption“ (Криптиране) изберете „ “ (Криптиране на данните) AES256-SHA256.

    Important

    Методът за криптиране AES256-SHA256 се поддържа само от Windows Server 2019 и Windows 11. За използване с по-стари версии запазете настройката по подразбиране TripleDES-SHA1.

    Confirm the selection with Next.

  11. Choose a storage location and file name and confirm with Next.

    Important

    Експортираният ключ и сертификатът трябва да се съхраняват на сигурно място, до което имат достъп само оторизирани потребители.

  12. Confirm the export with Finish.

  13. Уверете се, че сертификатът все още е избран в списъка отдясно.

  14. В горната лента с менюта преминете към „ “ → „Action“ → „All Tasks“ → „Delete“. Потвърдете изтриването на частния ключ и сертификата с „ “ „Yes“.

Можете да продължите с главата „ “ („Конфигурация на NetHSM“).

NetHSM Configuration

Ключът и сертификатът от предишната глава трябва да бъдат импортирани в NetHSM. С командата „ нитропия“ можем да импортираме архива PKCS#12 директно в NetHSM.

Импортирайте архива PKCS#12, както следва, като замените <KEY-ID>, <MECHANISM> и <PKCS12-ARCHIVE> със съответните стойности.

nitropy nethsm import-pkcs12 -k <KEY-ID> -m <MECHANISM> -p <password> <PKCS12-ARCHIVE>

За RSA ключове механизмът трябва да бъде rsa_signature_pkcs1, а за ECDSA ключове — ecdsa_signature.

Сега можете да проверите дали сертификатът е наличен на NetHSM.

nitropy nethsm list-keys

Ключът ще бъде изброен с посочения идентификатор на ключа от предишната команда.

PKI Proxy Server Configuration

На PKI прокси сървъра трябва да споделите току-що добавения сертификат от NetHSM. Моля, следвайте стъпките, описани в „ : Публикуване на сертификати от NetHSM“, за да научите повече.

Windows ADCS Configuration

PKI Proxy Client Tools Configuration

По-долу ще добавим ключа и сертификата в хранилището за сертификати на локалния компютър в Windows.

  1. Open the PKI Proxy Certificate Manager.

  2. Click the Add… button.

  3. Попълнете задължителните полета.

    • Местоположение, например: https://localhost:9266

    • Удостоверяване

    • User

    • Secret Key/Password/SPN

    • Certificate Store: LOCALMACHINE\My

    Confirm the configuration with the OK button. This will bring you back to the previous window.

  4. The list under Certificate Management in the PKI Proxy Certificate Manager should now show the just added certificate.

Сега можете да проверите дали сертификатът се намира в хранилището за сертификати на локалния компютър.

  1. Отворете диалоговия прозорец „Изпълни“ ( ), като кликнете с десния бутон на мишката върху менюто „Старт“ ( ) на Windows и изберете „Изпълни“ ( ) или като натиснете клавиша Windows + R на клавиатурата си.

  2. В диалоговия прозорец „ “ („Изпълни“) въведете certlm.msc и потвърдете, като натиснете Въведете от клавиатурата или като кликнете върху OK.

  3. В появилия се мениджър на сертификати преминайте в дървовидната структура отляво към „ “ → „Сертификати“ → „Локален компютър“ → „Лични“ → „Сертификати“.

  4. The published certificate is now listed on the right.

Windows ADCS Configuration

  1. Отворете „ Server Manager“ ( ) от менюто „Start“ (Старт) на **** или като натиснете клавиша Windows + R на клавиатурата си и въведете ServerManager.exe.

  2. В лентата с менюта в горния десен ъгъл кликнете върху иконата с флага и изберете „ “ (Конфигуриране на услугите за сертификати на Active Directory) на целевия сървър от известията след внедряването. Това ще стартира помощника за конфигуриране на AD CS „ “ (Конфигуриране на услугите за сертификати на Active Directory).

  3. In the wizard, set the settings below according to the stage.

    • Role Services

      Check the radio button next to Certification Authority.

    • Setup Type

      Изберете „ “ (Enterprise CA) или „ “ (Standalone CA) в зависимост от вашата среда.

    • CA Type

      Изберете главния сертификационен орган „

    • Private Key

      Маркирайте бутона до „ “ (Използване на съществуващ частен ключ). При този вариант маркирайте бутона до „ “ (Избор на сертификат и използване на свързаните с него частни ключове).

      • Existing Certificate

        В списъка с сертификати на **** изберете сертификата, който искате да използвате. Уверете се, че квадратчето до опцията „ “ (Разрешаване на взаимодействие с администратора при достъп на сертификационния орган до частния ключ) не е отбелязано. Това не е необходимо, тъй като PKI Proxy KSP не изисква допълнителна автентификация за използване на частния ключ.

  4. След като помощникът за конфигуриране приключи, отворете сертификационния център „ от менюто „Старт“ на **** или като натиснете клавиша Windows + R на клавиатурата си и въведете certsrv.msc. Можете да проверите дали услугата на сертификационния център е стартирала правилно, когато видите зелена точка с икона на бяла отметка до името на сертификационния център.

Important

Достъпността на сертификационния орган зависи от наличието на частния ключ и сертификата. Ако те липсват, услугата на сертификационния орган може да не успее да се стартира или да се прекрати неочаквано. В случай на грешка проверете дневника на събитията на Windows в „ “ ( ) за повече информация.