Windows Active Directory Certificate Services (ADCS) med PKI-proxy

I detta dokument beskrivs konfigurationen av Windows Active Directory Certificate Services (ADCS) tillsammans med PKI Proxy och NetHSM.

Prerequisits

  • NetHSM

    • Provisioned

    • Administrative access

  • PKI Proxy server

    • NetHSM PKCS#11-modul installerad och konfigurerad för användning med NetHSM

  • CA-server (Windows Server)

    • ADCS role installed, but not configured

    • PKI Proxy client tools installed

    • Klientverktyg behövs inte om denna server även kör PKI-proxyservern, eftersom den innehåller klientverktygen.

    • Pynitrokey installed

Root CA Key and Certificate

I följande tabell listas nyckelalgoritmer och nyckellängder, tillsammans med de hash-algoritmer som Windows ADCS kan använda tillsammans med 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

Viktigt

Följ gärna rekommendationerna för val av säker nyckelalgoritm, nyckellängd och hash-algoritm.

En nyckel och ett certifikat kan antingen genereras på nytt eller så kan ett befintligt migreras. Se underavsnitten nedan för mer information om hur du går tillväga i just din situation.

Generate a new Root CA Key and Certificate on Windows

Följande anvisningar beskriver hur man skapar en ny nyckel och ett nytt certifikat för användning i en rotcertifikatutfärdare (Root CA) för ** i ADCS.

Tips

Det är oftast enklare att skapa en nyckel och ett certifikat med hjälp av ADCS-konfigurationsguiden och sedan följa anvisningarna på Migrera befintlig nyckel och certifikat.

I det här fallet används en begärandemall för att generera en nyckel med uttryckliga CA-tillägg. De specifika värdena måste anpassas efter din miljö.

Förfrågningsmallen måste sparas i en fil med namnet RootCA.inf och med följande innehåll.

Den här mallen genererar en RSA-nyckel med en nyckellängd på 4096 bitar. Du måste ersätta <CA-NAME> med namnet på din certifikatutfärdare.

[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

Certifikatet har lagts till i den lokala certifikatdatabasen. Exportera certifikatet till en PFX-fil och ersätt <THUMBPRINT> med motsvarande värde från utdata från föregående kommando.

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

Lösenordet används för att kryptera PKCS#12-arkivet (PFX-filen). Du kan fortsätta med kapitlet NetHSM-konfiguration.

Migrate existing Key and Certificate

För att migrera en befintlig nyckel och ett befintligt certifikat måste dessa exporteras från certifikatlagret på ADCS, och det resulterande arkivet importeras till NetHSM.

Viktigt

Innan du gör ändringar i en certifikatutfärdare i produktionsmiljön rekommenderas det att du skapar en säkerhetskopia av den. Se denna sida för mer information.

  1. Öppna certlm.msc.

  2. Gå till Certifikat – Lokal dator → Personliga → Certifikat.

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

  4. I menyraden högst upp väljer du ” ” → ”Action” → ”All Tasks” → ”Export…”. Då startas guiden för export av certifikat från ** .

  5. Confirm the introduction of the assistant with Next.

  6. Markera alternativrutan bredvid ” ” (Ja, exportera den privata nyckeln) och bekräfta med ” ” (Ja, exportera den privata nyckeln). Om alternativrutan inte är tillgänglig är nyckeln markerad som icke-exporterbar. I så fall gäller inte denna guide för det avsedda användningsfallet.

  7. Inkludera om möjligt alla certifikat i certifieringsvägen

  8. Markera alternativrutan bredvid ” ” (Ja, exportera den privata nyckeln) och bekräfta med ” ” (Ja, exportera den privata nyckeln). Därefter.

  9. Markera alternativrutan bredvid ” Personal Information Exchange – PKCS #12 (.PFX)”. Se till att du markerar följande alternativ:

    • Inkludera om möjligt alla certifikat i certifieringsvägen

    • Exportera alla utökade egenskaper

    • Enable certificate privacy

    Confirm the selection with Next.

  10. Markera alternativrutan bredvid ” ” (Lösenord). Ange ett lösenord i textfälten för lösenord. Välj ” ” (AES256-SHA256) från rullgardinsmenyn bredvid ” Encryption” (Kryptering).

    Viktigt

    Krypteringsmetoden AES256-SHA256 stöds endast från och med Windows Server 2019 och Windows 11. För användning i äldre versioner ska du behålla standardinställningen TripleDES-SHA1.

    Confirm the selection with Next.

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

    Viktigt

    Den exporterade nyckeln och certifikatet bör förvaras på en säker plats där endast behöriga användare har tillgång till dem.

  12. Confirm the export with Finish.

  13. Se till att certifikatet fortfarande är markerat i listan till höger.

  14. I menyraden högst upp väljer du ” Action” → ”All Tasks” → ”Delete”. Bekräfta borttagningen av den privata nyckeln och certifikatet med ” ” ”Yes”.

Du kan fortsätta med kapitlet NetHSM-konfiguration.

NetHSM Configuration

Nyckeln och certifikatet från föregående kapitel måste importeras till NetHSM. Med kommandot nitropy kan vi importera PKCS#12-arkivet direkt till NetHSM.

Importera PKCS#12-arkivet enligt följande, och ersätt samtidigt <KEY-ID>, <MECHANISM> och <PKCS12-ARCHIVE> med respektive värden.

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

För RSA-nycklar måste mekanismen vara rsa_signature_pkcs1 och för ECDSA-nycklar ecdsa_signature.

Du kan nu kontrollera att certifikatet finns på NetHSM.

nitropy nethsm list-keys

Nyckeln kommer att visas tillsammans med det nyckel-ID som angavs i föregående kommando.

PKI Proxy Server Configuration

På PKI-proxyservern måste du dela det certifikat som just har lagts till från NetHSM. Följ stegen i ” : Publicera certifikat från NetHSM” för mer information.

Windows ADCS Configuration

PKI Proxy Client Tools Configuration

I det följande lägger vi in nyckeln och certifikatet i det lokala certifikatarkivet på Windows-datorn.

  1. Open the PKI Proxy Certificate Manager.

  2. Click the Add… button.

  3. Fyll i de obligatoriska fälten.

    • Plats, t.ex. https://localhost:9266

    • Autentisering

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

Du kan nu kontrollera att certifikatet finns i den lokala datorns certifikatarkiv.

  1. Öppna dialogrutan ” ” (Kör ) genom att antingen högerklicka på Windows Startmenyn och välja ” ” (Kör ) eller genom att trycka på Windows-tangenten + R på tangentbordet.

  2. I dialogrutan ” ” (Kör ) anger du certlm.msc och bekräftar genom att trycka på . Ange på tangentbordet eller genom att klicka på OK.

  3. I certifikathanteraren som öppnas navigerar du i trädstrukturen till vänster till ” -certifikat – Lokal dator → Personliga → Certifikat ”.

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

Windows ADCS Configuration

  1. Öppna ” ” (Serverhanteraren) från ” ” (Startmenyn) eller genom att trycka på Windows-tangenten + R på tangentbordet och ange ServerManager.exe.

  2. Klicka på flaggikonen i menyraden längst upp till höger och välj ” ” (Konfigurera Active Directory Certificate Services på målservern ) bland meddelandena efter installationen. Detta startar guiden ” ” (AD CS-konfiguration ).

  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älj Enterprise CA eller Standalone CA beroende på din miljö.

    • CA Type

      Välj ” ” som rotcertifikatutfärdare

    • Private Key

      Markera alternativrutan bredvid ” ” (Använd befintlig privatnyckel). Under detta alternativ markerar du alternativrutan bredvid ” ” (Välj ett certifikat och använd tillhörande privata nycklar).

      • Existing Certificate

        I listan över certifikat från **** väljer du det certifikat du vill använda. Se till att kryssrutan bredvid ” ” (Tillåt administratörsinteraktion när certifikatutfärdaren (CA) får åtkomst till den privata nyckeln) inte är markerad. Detta är inte nödvändigt eftersom PKI Proxy KSP inte kräver någon ytterligare autentisering för att använda den privata nyckeln.

  4. När konfigurationsguiden är klar öppnar du certifikatutfärdaren ” från Start-menyn **** eller genom att trycka på Windows-tangenten + R på tangentbordet och ange certsrv.msc. Du kan kontrollera att certifikatutfärdartjänsten har startat korrekt genom att se om det finns en grön prick med en vit bock vid certifikatutfärdarens namn.

Viktigt

Certifikatutfärdarens tillgänglighet beror på om den privata nyckeln och certifikatet är tillgängliga. Om dessa inte är tillgängliga kan certifikatutfärdartjänsten misslyckas med att starta eller avslutas oväntat. Vid ett fel bör du kontrollera händelseloggen i Windows under ” ” ( ) för mer information.