Služby certifikátov Windows Active Directory (ADCS) s proxy PKI

Tento dokument popisuje konfiguráciu služby Windows Active Directory Certificate Services (ADCS) s PKI Proxy a NetHSM.

Prerequisits

  • NetHSM

    • Provisioned

    • Administrative access

  • PKI Proxy server

    • Modul NetHSM PKCS#11 je nainštalovaný a nakonfigurovaný na používanie NetHSM

  • Server CA (Windows Server)

    • ADCS role installed, but not configured

    • PKI Proxy client tools installed

    • Klientské nástroje nie sú potrebné, ak na tomto serveri beží aj server PKI Proxy, keďže ten obsahuje klientské nástroje.

    • Pynitrokey installed

Root CA Key and Certificate

V nasledujúcej tabuľke sú uvedené kľúčové algoritmy a dĺžky kľúčov spolu s hašovacími algoritmami, ktoré môže služba Windows ADCS používať s 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

Dôležité

Pri výbere bezpečného kľúčového algoritmu, dĺžky kľúča a hašovacieho algoritmu sa prosím riaďte osvedčenými postupmi.

Kľúč a certifikát môžu byť buď novo vygenerované, alebo je možné preniesť už existujúce. Viac informácií o postupe pre vašu konkrétnu situáciu nájdete v nižšie uvedených podkapitolách.

Generate a new Root CA Key and Certificate on Windows

Nasledujúce pokyny slúžia na vytvorenie nového kľúča a certifikátu určených na použitie v koreňovej certifikačnej autorite služby ( ) v ADCS.

Tip

Zvyčajne je jednoduchšie vygenerovať kľúč a certifikát pomocou sprievodcu konfiguráciou ADCS a potom postupovať podľa pokynov na stránke Migrate existing Key and Certificate.

V tomto prípade sa na vygenerovanie kľúča s explicitnými rozšíreniami certifikačnej autority používa šablóna žiadosti. Konkrétne hodnoty je potrebné prispôsobiť vášmu prostrediu.

Šablónu požiadavky je potrebné uložiť do súboru s názvom RootCA.inf a s nasledujúcim obsahom.

Táto šablóna vygeneruje kľúč RSA s dĺžkou 4096 bitov. Musíte nahradiť <CA-NAME> názvom vašej certifikačnej autority.

[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

Certifikát bol pridaný do úložiska certifikátov lokálneho počítača. Exportujte certifikát do súboru PFX a nahraďte <THUMBPRINT> príslušnou hodnotou z výstupu predchádzajúceho príkazu.

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

Hodnota hesla sa používa na šifrovanie archívu PKCS#12 (súbor PFX). Môžete pokračovať v kapitole Konfigurácia NetHSM.

Migrate existing Key and Certificate

Na migráciu existujúceho kľúča a certifikátu je potrebné ich exportovať z úložiska certifikátov na ADCS a výsledný archív importovať do NetHSM.

Dôležité

Predtým, ako vykonáte zmeny v certifikačnej autorite v produkčnom prostredí, odporúča sa vytvoriť jej zálohu. Ďalšie informácie nájdete na stránke this.

  1. Otvorte stránku certlm.msc.

  2. Prejdite na Certifikáty – Miestny počítač → Osobné → Certifikáty.

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

  4. V hornom paneli ponúk prejdite na položku „ Action“ → „All Tasks“ → „Export…“. Tým sa spustí Sprievodca exportom certifikátov ** .

  5. Confirm the introduction of the assistant with Next.

  6. Zaškrtnite políčko vedľa možnosti „ “ (Áno, exportovať súkromný kľúč) a potvrďte výber možnosťou „ “ (Ďalej). Ak toto políčko nie je k dispozícii, kľúč je označený ako neexportovateľný. V takomto prípade sa tento návod na daný prípad použitia nevzťahuje.

  7. Ak je to možné, zahrňte do certifikačnej cesty všetky certifikáty

  8. Zaškrtnite políčko vedľa možnosti „ “ (Áno, exportovať súkromný kľúč) a potvrďte výber kliknutím na „ “ (Ďalej).

  9. Zaškrtnite políčko vedľa položky „ Personal Information Exchange – PKCS #12 (.PFX)“. Uistite sa, že máte zaškrtnuté nasledujúce možnosti:

    • Ak je to možné, zahrňte do certifikačnej cesty všetky certifikáty

    • Exportovať všetky rozšírené vlastnosti

    • Enable certificate privacy

    Confirm the selection with Next.

  10. Zaškrtnite políčko vedľa položky „ “ (Heslo). Do textových polí pre heslo zadajte heslo. Z roletového menu vedľa položky „ Encryption“ (Šifrovanie) vyberte možnosť „ “ (Šifrovanie) AES256-SHA256.

    Dôležité

    Metóda šifrovania AES256-SHA256 je podporovaná iba v systémoch Windows Server 2019 a Windows 11. Ak chcete túto metódu používať v starších verziách, ponechajte predvolenú metódu TripleDES-SHA1.

    Confirm the selection with Next.

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

    Dôležité

    Exportovaný kľúč a certifikát by mali byť uložené na bezpečnom mieste, ku ktorému majú prístup len oprávnení používatelia.

  12. Confirm the export with Finish.

  13. Uistite sa, že certifikát je stále vybraný v zozname na pravej strane.

  14. V hornom paneli ponúk prejdite na „ Action“ → „All Tasks“ → „Delete“. Potvrďte vymazanie súkromného kľúča a certifikátu výberom „ “ „Yes“.

Môžete pokračovať v kapitole Konfigurácia NetHSM.

NetHSM Configuration

Kľúč a certifikát z predchádzajúcej kapitoly je potrebné načítať do zariadenia NetHSM. Pomocou príkazu „ nitropy“ môžeme archív PKCS#12 načítať priamo do zariadenia NetHSM.

Archív PKCS#12 naimportujte nasledovne, pričom nahraďte <KEY-ID>, <MECHANISM> a <PKCS12-ARCHIVE> príslušnými hodnotami.

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

V prípade kľúčov RSA musí byť mechanizmus rsa_signature_pkcs1 a v prípade kľúčov ECDSA ecdsa_signature.

Teraz môžete overiť, či je certifikát k dispozícii na zariadení NetHSM.

nitropy nethsm list-keys

Kľúč sa zobrazí spolu s ID kľúča uvedeným v predchádzajúcom príkaze.

PKI Proxy Server Configuration

Na proxy serveri PKI je potrebné zdieľať certifikát, ktorý ste práve pridali z NetHSM. Ak sa chcete dozvedieť viac, postupujte podľa krokov uvedených v článku „ : Zverejňovanie certifikátov z NetHSM“.

Windows ADCS Configuration

PKI Proxy Client Tools Configuration

V nasledujúcom texte sprístupníme kľúč a certifikát v lokálnom úložisku certifikátov systému Windows.

  1. Open the PKI Proxy Certificate Manager.

  2. Click the Add… button.

  3. Vyplňte povinné polia.

    • Adresa, napr. https://localhost:9266

    • Overovanie

    • 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.

Teraz si môžete overiť, či je certifikát k dispozícii v úložisku certifikátov lokálneho počítača.

  1. Otvorte dialógové okno „ “ (Spustiť) buď kliknutím pravým tlačidlom myši na ikonu „ “ v ponuke „Start“ a výberom možnosti „ “ (Spustiť), alebo stlačením klávesovej skratky Windows Key + R na klávesnici.

  2. V dialógovom okne „ “ (Spustiť) zadajte certlm.msc a potvrďte stlačením Zadajte na klávesnici alebo kliknutím na OK.

  3. V správcovi certifikátov, ktorý sa zobrazí, prejdite v stromovej štruktúre vľavo na položku „ Certificates – Local Computer → Personal → Certificates “.

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

Windows ADCS Configuration

  1. Spustite Správcu servera **** z ponuky Štart **** alebo stlačením klávesy Windows + R na klávesnici a zadajte ServerManager.exe.

  2. V lište ponúk v pravom hornom rohu kliknite na ikonu vlajky a z oznámení po nasadení vyberte možnosť „ : Configure Active Directory Certificate Services on the destination server“ ( ). Tým sa spustí sprievodca konfiguráciou služieb certifikátov Active Directory (AD CS) ** .

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

    • Role Services

      Check the radio button next to Certification Authority.

    • Setup Type

      V závislosti od vášho prostredia vyberte buď certifikačnú autoritu typu „ “ (Enterprise CA), alebo samostatnú certifikačnú autoritu (Standalone CA) **** .

    • CA Type

      Vyberte koreňovú certifikačnú autoritu „

    • Private Key

      Zaškrtnite políčko vedľa možnosti „ “ (Použiť existujúci súkromný kľúč). V rámci tejto možnosti zaškrtnite políčko vedľa možnosti „ “ (Vybrať certifikát a použiť príslušné súkromné kľúče).

      • Existing Certificate

        V zozname certifikátov služby ( ) vyberte certifikát, ktorý chcete použiť. Uistite sa, že políčko vedľa položky „ “ (Povoliť interakciu správcu pri prístupe certifikačnej autority k súkromnému kľúču) ( ) nie je zaškrtnuté. Nie je to potrebné, pretože KSP služby PKI Proxy nevyžaduje žiadne dodatočné overenie na používanie súkromného kľúča.

  4. Po dokončení práce sprievodcu konfiguráciou otvorte certifikačnú autoritu „ z ponuky Štart **** alebo stlačením klávesy Windows + R na klávesnici a zadaním certsrv.msc. Správne spustenie služby certifikačnej autority môžete overiť podľa toho, či sa pri názve certifikačnej autority zobrazuje zelená bodka s bielou ikonou začiarknutia.

Dôležité

Dostupnosť certifikačnej autority závisí od dostupnosti súkromného kľúča a certifikátu. Ak nie sú k dispozícii, služba certifikačnej autority sa nemusí spustiť alebo sa neočakávane ukončí. V prípade chyby skontrolujte protokol udalostí systému Windows v súbore „ “ ( ), kde nájdete ďalšie informácie.