Storitve certifikatov Windows Active Directory (ADCS) s proxyjem PKI

V tem dokumentu je opisana konfiguracija storitve Windows Active Directory Certificate Services (ADCS) s PKI Proxy in NetHSM.

Prerequisits

  • NetHSM

    • Provisioned

    • Administrative access

  • PKI Proxy server

    • NetHSM PKCS#11 modul je nameščen in nastavljen za uporabo NetHSM-ja

  • CA strežnik (Windows Server)

    • ADCS role installed, but not configured

    • PKI Proxy client tools installed

    • Orodja za stranke niso potrebna, če na tem strežniku teče tudi strežnik PKI Proxy, saj ta vključuje orodja za stranke.

    • Pynitrokey installed

Root CA Key and Certificate

V naslednji tabeli so navedeni ključni algoritmi in dolžine ključev ter hash algoritmi, ki jih lahko Windows ADCS uporablja v povezavi z 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

Pomembno

Upoštevajte priporočila za izbiro varnega ključnega algoritma, dolžine ključa in hash algoritma.

Ključ in certifikat lahko ustvarite na novo ali pa prenesete že obstoječega. Za več informacij o postopku, ki ustreza vaši konkretni situaciji, si oglejte spodnja podpoglavja.

Generate a new Root CA Key and Certificate on Windows

S pomočjo naslednjih navodil ustvarite nov ključ in certifikat za uporabo v korenski certifikacijski oblasti (Root CA) » « v ADCS.

Nasvet

Ponavadi je lažje ustvariti ključ in potrdilo s pomočjo čarovnika za konfiguracijo ADCS, nato pa slediti navodilom na Migrate existing Key and Certificate.

V tem primeru se za ustvarjanje ključa z eksplicitnimi razširitvami CA uporabi predloga zahtevka. Konkretne vrednosti je treba prilagoditi vašemu okolju.

Predlogo zahtevka je treba shraniti v datoteko z imenom RootCA.inf, vsebina pa mora biti naslednja.

Ta predloga bo ustvarila RSA-ključ z dolžino 4096 bitov. Naslov <CA-NAME> morate zamenjati z imenom vaše certifikacijske agencije.

[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

Potrdilo je bilo dodano v lokalno shrambo potrdil. Izvozite potrdilo v datoteko PFX, pri čemer nadomestite <THUMBPRINT> z ustrezno vrednostjo iz izpisa prejšnjega ukaza.

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

Vrednost gesla se uporablja za šifriranje arhiva PKCS#12 (datoteke PFX). Nadaljujte s poglavjem » « (Konfiguracija NetHSM).

Migrate existing Key and Certificate

Za migracijo obstoječega ključa in potrdila ju je treba izvoziti iz skladišča potrdil na strežniku ADCS, nato pa tako pridobljeni arhiv uvoziti v NetHSM.

Pomembno

Preden spremenite certifikacijsko oblast v produkcijskem okolju, priporočamo, da naredite njeno varnostno kopijo. Za več informacij si oglejte to stran: ` <https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/manage/component-updates/ca-backup-and-restore-windows-powershell-cmdlets>` __.

  1. Odprite certlm.msc.

  2. Pojdite na Certifikati – Lokalni računalnik → Osebni → Certifikati.

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

  4. V zgornji menijski vrstici izberite » « (Upravljanje) → »Action« (Dejanje) → »All Tasks« (Vse naloge) → »Export…« (Izvoz…). S tem se bo zagnal čarovnik za izvoz certifikatov » «.

  5. Confirm the introduction of the assistant with Next.

  6. Označite izbirno polje ob možnosti » « (Da, izvozite zasebni ključ) in potrdite z » « (Naslednji). Če izbirno polje ni na voljo, je ključ označen kot neizvozljiv. V tem primeru ta navodila ne veljajo za predvideni primer uporabe.

  7. Če je mogoče, vključite v pot potrdil vsa potrdila

  8. Označite izbirno polje ob možnosti » « (Da, izvozite zasebni ključ) in potrdite z » « (Naslednji).

  9. Označite izbirno polje ob možnosti » « (Izmenjava osebnih podatkov – PKCS #12 (.PFX)). Prepričajte se, da ste označili naslednje možnosti:

    • Če je mogoče, vključite v pot potrdil vsa potrdila

    • Izvozi vse razširjene lastnosti

    • Enable certificate privacy

    Confirm the selection with Next.

  10. Označite izbirno polje ob možnosti » « (Geslo). Vnesite geslo v polja za geslo. Iz spustnega menija ob možnosti » Encryption« (Šifriranje) izberite » « (Šifriranje) AES256-SHA256.

    Pomembno

    Metoda šifriranja AES256-SHA256 je podprta šele od Windows Server 2019 in Windows 11 naprej. Za uporabo v starejših različicah ohranite privzeto nastavitev TripleDES-SHA1.

    Confirm the selection with Next.

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

    Pomembno

    Izvoženi ključ in certifikat je treba shraniti na varno mesto, do katerega imajo dostop le pooblaščeni uporabniki.

  12. Confirm the export with Finish.

  13. Preverite, ali je certifikat še vedno izbran na seznamu na desni strani.

  14. V zgornji menijski vrstici se pomaknite na » Action« → »All Tasks« → »Delete«. Potrdite izbris zasebnega ključa in certifikata z » « »Yes«.

Lahko nadaljujete s poglavjem Konfiguracija NetHSM.

NetHSM Configuration

Ključ in certifikat iz prejšnjega poglavja je treba uvoziti v NetHSM. Z ukazom » nitropija« lahko arhiv PKCS#12 uvozimo neposredno v NetHSM.

Arhiv PKCS#12 uvozite na naslednji način, pri čemer zamenjajte <KEY-ID>, <MECHANISM> in <PKCS12-ARCHIVE> z ustreznimi vrednostmi.

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

Za ključe RSA mora biti mehanizem rsa_signature_pkcs1, za ključe ECDSA pa ecdsa_signature.

Sedaj lahko preverite, ali je certifikat na voljo na NetHSM.

nitropy nethsm list-keys

Ključ bo prikazan z ID-jem ključa, ki je bil podan v prejšnjem ukazu.

PKI Proxy Server Configuration

Na strežniku PKI Proxy morate deliti pravkar dodani certifikat iz NetHSM. Za več informacij sledite navodilom na strani Objava certifikatov iz NetHSM.

Windows ADCS Configuration

PKI Proxy Client Tools Configuration

V nadaljevanju bomo ključ in certifikat shranili v lokalno shrambo certifikatov v sistemu Windows.

  1. Open the PKI Proxy Certificate Manager.

  2. Click the Add… button.

  3. Izpolnite obvezna polja.

    • Lokacija, npr. https://localhost:9266

    • Preverjanje pristnosti

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

Sedaj lahko preverite, ali je certifikat na voljo v lokalnem skladišču certifikatov računalnika.

  1. Odprite okno » **« (Izvedi) tako, da z desnim klikom na ikono » « v meniju »Start« izberete možnost » « (Izvedi) ali pa na tipkovnici pritisnete tipko »Windows« + »R«**.

  2. V pogovornem oknu » « (Zagon) vnesite certlm.msc in potrdite s pritiskom na tipko Vnesite na tipkovnici ali s klikom na OK.

  3. V upravitelju certifikatov, ki se odpre, se v drevesni strukturi na levi strani pomaknite do » ni certifikati – Lokalni računalnik → Osebni → Certifikati «.

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

Windows ADCS Configuration

  1. Odprite Upravitelja strežnika » « ( Server Manager) iz menija »Start« ( ) ali tako, da na tipkovnici pritisnete tipko Windows + R ( ) in vnesete ServerManager.exe.

  2. V menijski vrstici v zgornjem desnem kotu kliknite ikono zastavice in izmed obvestil po namestitvi izberite » « (Konfigurirajte storitve certifikatov Active Directory na ciljnem strežniku ). S tem se bo zažela čarovnik za konfiguracijo storitev certifikatov 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

      Izberite Enterprise CA ali Standalone CA, odvisno od vašega okolja.

    • CA Type

      Izberite korensko certifikacijsko agencijo » «

    • Private Key

      Označite izbirno polje ob možnosti » « (Uporabi obstoječi zasebni ključ). Pri tej možnosti označite izbirno polje ob možnosti » « (Izberi certifikat in uporabi z njim povezane zasebne ključe).

      • Existing Certificate

        Na seznamu certifikatov » « ( ) izberite certifikat, ki ga želite uporabiti. Prepričajte se, da polje ob možnosti » « (Dovoli interakcijo skrbnika, ko certifikacijska agencija dostopa do zasebnega ključa) ni označeno. To ni potrebno, saj KSP »PKI Proxy« za uporabo zasebnega ključa ne zahteva nobenega dodatnega avtentificiranja.

  4. Ko se čarovnik za konfiguracijo zaključi, odprite certifikacijsko službo » « iz menija »Start« **** ali tako, da na tipkovnici pritisnete tipko Windows + R **** in vnesete certsrv.msc. Da se je storitev certifikacijske službe pravilno zagnala, lahko preverite tako, da na imenu certifikacijske službe vidite zeleno piko z belo ikono kljukice.

Pomembno

Delovanje certifikacijske službe je odvisno od razpoložljivosti zasebnega ključa in certifikata. Če ta dva elementa nista na voljo, se storitev certifikacijske službe morda ne bo uspela zagnati ali se bo nepričakovano ustavila. V primeru napake preverite dnevnik dogodkov sistema Windows pod imenom » « ( ) za več informacij.