Serviciile de certificate Windows Active Directory (ADCS) cu proxy PKI

Acest document descrie configurarea serviciilor de certificate Windows Active Directory (ADCS) împreună cu PKI Proxy și NetHSM.

Prerequisits

  • NetHSM

    • Provisioned

    • Administrative access

  • PKI Proxy server

    • Modulul NetHSM PKCS#11 a fost instalat și configurat pentru a utiliza NetHSM

  • Server CA (Windows Server)

    • ADCS role installed, but not configured

    • PKI Proxy client tools installed

    • Instrumentele pentru clienți nu sunt necesare dacă acest server rulează și serverul PKI Proxy, deoarece acesta include instrumentele pentru clienți.

    • Pynitrokey installed

Root CA Key and Certificate

Tabelul următor prezintă algoritmii de criptare și lungimile cheilor, împreună cu algoritmii hash pe care Windows ADCS îi poate utiliza împreună cu 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

Vă rugăm să respectați cele mai bune practici privind alegerea unui algoritm de cheie sigur, a lungimii cheii și a algoritmului hash.

O cheie și un certificat pot fi generate din nou sau se poate efectua migrarea unora existente. Vă rugăm să consultați subcapitolele de mai jos pentru a afla mai multe despre abordarea potrivită situației dumneavoastră specifice.

Generate a new Root CA Key and Certificate on Windows

Următoarele instrucțiuni servesc la crearea unei noi chei și a unui nou certificat destinate utilizării într-o autoritate de certificare rădăcină (Root CA) de tip „ în ADCS.

Sfat

De obicei, este mai ușor să generați o cheie și un certificat cu ajutorul expertului de configurare ADCS și apoi să urmați instrucțiunile de la Migrarea cheii și a certificatului existente.

În acest caz, se utilizează un șablon de solicitare pentru a genera o cheie cu extensii CA explicite. Valorile specifice trebuie adaptate la mediul dumneavoastră.

Șablonul cererii trebuie salvat într-un fișier cu numele RootCA.inf și cu următorul conținut.

Acest șablon va genera o cheie RSA cu o lungime de 4096 de biți. Trebuie să înlocuiți <CA-NAME> cu numele autorității dvs. de certificare (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

Certificatul a fost adăugat în magazinul de certificate al computerului local. Exportați certificatul într-un fișier PFX, înlocuind <THUMBPRINT> cu valoarea corespunzătoare din rezultatul comenzii anterioare.

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

Valoarea parolei este utilizată pentru criptarea arhivei PKCS#12 (fișier PFX). Puteți continua cu capitolul Configurarea NetHSM.

Migrate existing Key and Certificate

Pentru a migra o cheie și un certificat existente, acestea trebuie exportate din magazinul de certificate de pe ADCS, iar arhiva rezultată trebuie importată în NetHSM.

Important

Înainte de a efectua modificări la o autoritate de certificare de producție, se recomandă să creați o copie de rezervă a acesteia. Pentru mai multe informații, consultați pagina această.

  1. Deschideți pagina certlm.msc.

  2. Accesați Certificates - Local Computer → Personal → Certificates.

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

  4. În bara de meniu din partea de sus, accesați „ ” → „Acțiune” → „Toate sarcinile” → „Export…”. Această acțiune va lansa „ .

  5. Confirm the introduction of the assistant with Next.

  6. Bifați caseta de selectare de lângă „ ” (Da, exportați cheia privată) și confirmați cu „ ” (Da, exportați cheia privată). Apoi, selectați „ ” (Da, exportați cheia privată). Dacă caseta de selectare nu este disponibilă, cheia este marcată ca neexportabilă. În acest caz, acest ghid nu se aplică pentru cazul de utilizare avut în vedere.

  7. Dacă este posibil, includeți toate certificatele din calea de certificare

  8. Bifați caseta de selectare de lângă „ ” (Da, exportați cheia privată) și confirmați cu „ ” (Da, exportați cheia privată). Apoi, selectați „ ” (Da, exportați cheia privată).

  9. Bifați caseta de selectare de lângă „ Personal Information Exchange - PKCS #12 (.PFX) ”. Asigurați-vă că bifați următoarele opțiuni:

    • Dacă este posibil, includeți toate certificatele din calea de certificare

    • Exportă toate proprietățile extinse

    • Enable certificate privacy

    Confirm the selection with Next.

  10. Bifați caseta de selectare de lângă „ ” („Parolă”). Introduceți o parolă în câmpurile de text destinate parolei. Din meniul derulant de lângă „ Encryption” („Criptare”), alegeți „ ” („Criptare cu parolă”) AES256-SHA256.

    Important

    Metoda de criptare AES256-SHA256 este acceptată doar începând cu Windows Server 2019 și Windows 11. Pentru utilizarea pe versiuni mai vechi, păstrați setarea implicită TripleDES-SHA1.

    Confirm the selection with Next.

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

    Important

    Cheia și certificatul exportate trebuie păstrate într-un loc sigur, la care să aibă acces doar utilizatorii autorizați.

  12. Confirm the export with Finish.

  13. Asigurați-vă că certificatul este încă selectat în lista din dreapta.

  14. În bara de meniu din partea de sus, accesați „ ” → „All Tasks” → „Delete”. Confirmați ștergerea cheii private și a certificatului cu „ ” „Yes”.

Puteți continua cu capitolul Configurarea NetHSM.

NetHSM Configuration

Cheia și certificatul din capitolul anterior trebuie importate în NetHSM. Cu comanda „ nitropie” putem importa arhiva PKCS#12 direct în NetHSM.

Importați arhiva PKCS#12 după cum urmează, înlocuind <KEY-ID>, <MECHANISM> și <PKCS12-ARCHIVE> cu valorile corespunzătoare.

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

Pentru cheile RSA, mecanismul trebuie să fie rsa_signature_pkcs1, iar pentru cheile ECDSA, ecdsa_signature.

Acum puteți verifica dacă certificatul este disponibil pe NetHSM.

nitropy nethsm list-keys

Cheia va fi afișată împreună cu ID-ul cheii specificat în comanda anterioară.

PKI Proxy Server Configuration

Pe serverul proxy PKI, trebuie să partajați certificatul tocmai adăugat din NetHSM. Vă rugăm să urmați pașii de la Publish Certificates from the NetHSM pentru mai multe informații.

Windows ADCS Configuration

PKI Proxy Client Tools Configuration

În continuare, vom adăuga cheia și certificatul în magazinul local de certificate al sistemului Windows.

  1. Open the PKI Proxy Certificate Manager.

  2. Click the Add… button.

  3. Completați câmpurile obligatorii.

    • Locație, de exemplu, https://localhost:9266

    • Autentificare

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

Acum puteți verifica dacă certificatul se află în magazinul de certificate al computerului local.

  1. Deschideți fereastra „ ” („Run” ), fie făcând clic dreapta pe meniul „Start” din Windows **** și selectând opțiunea „ ” („Run” ), fie apăsând tasta Windows + R **** de pe tastatură.

  2. În fereastra de dialog „ ” („Executare”), introduceți certlm.msc și confirmați apăsând . Introduceți pe tastatură sau făcând clic pe OK.

  3. În fereastra Manager de certificate care apare, navigați în structura arborescentă din stânga către Certificates - Local Computer → Personal → Certificates.

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

Windows ADCS Configuration

  1. Deschideți Managerul de server **** din meniul Start al sistemului **** sau apăsând tasta Windows + R de pe tastatură și introduceți ServerManager.exe.

  2. În bara de meniu din colțul din dreapta sus, faceți clic pe pictograma steagului și selectați „ Configure Active Directory Certificate Services on the destination server ” din notificările ulterioare implementării. Această acțiune va lansa expertul „ AD CS Configuration ”.

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

    • Role Services

      Check the radio button next to Certification Authority.

    • Setup Type

      Selectați „ ” (Autoritate de certificare de tip Enterprise) sau „ ” (Autoritate de certificare autonomă), în funcție de mediul dumneavoastră.

    • CA Type

      Selectați autoritatea de certificare rădăcină „

    • Private Key

      Bifați caseta de selectare de lângă „ ” (Utilizați cheia privată existentă). În cadrul acestei opțiuni, bifați caseta de selectare de lângă „ ” (Selectați un certificat și utilizați cheile private asociate).

      • Existing Certificate

        În lista certificatelor „ ” ( ), selectați certificatul pe care doriți să îl utilizați. Asigurați-vă că caseta de selectare de lângă „ ” (Permite interacțiunea administratorului atunci când cheia privată este accesată de CA) nu este bifată. Acest lucru nu este necesar, deoarece KSP-ul PKI Proxy nu necesită nicio autentificare suplimentară pentru utilizarea cheii private.

  4. După finalizarea expertului de configurare, deschideți Autoritatea de certificare „ din meniul Start al sistemului **** sau apăsând tasta Windows + R de pe tastatură și introducând certsrv.msc. Puteți verifica dacă serviciul autorității de certificare a pornit corect atunci când vedeți o pictogramă reprezentând un punct verde cu o bifă albă lângă numele autorității de certificare.

Important

Disponibilitatea autorității de certificare depinde de disponibilitatea cheii private și a certificatului. Dacă acestea nu sunt disponibile, este posibil ca serviciul autorității de certificare să nu pornească sau să se oprească în mod neașteptat. În cazul apariției unei erori, verificați jurnalul de evenimente Windows „ ” ( ) pentru mai multe informații.