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ă.
Deschideți pagina
certlm.msc.Accesați Certificates - Local Computer → Personal → Certificates.
Select the certificate in the list on the right.
În bara de meniu din partea de sus, accesați „ ” → „Acțiune” → „Toate sarcinile” → „Export…”. Această acțiune va lansa „ ”.
Confirm the introduction of the assistant with Next.
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.
Dacă este posibil, includeți toate certificatele din calea de certificare
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ă).
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.
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.
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.
Confirm the export with Finish.
Asigurați-vă că certificatul este încă selectat în lista din dreapta.
Î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.
Open the PKI Proxy Certificate Manager.
Click the Add… button.
Completați câmpurile obligatorii.
Locație, de exemplu,
https://localhost:9266Autentificare
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.
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.
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ă.
Î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.În fereastra Manager de certificate care apare, navigați în structura arborescentă din stânga către Certificates - Local Computer → Personal → Certificates.
The published certificate is now listed on the right.
Windows ADCS Configuration¶
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.Î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 ”.
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.
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.