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

Dette dokument beskriver konfigurationen af Windows Active Directory Certificate Services (ADCS) sammen med PKI Proxy og NetHSM.

Prerequisits

  • NetHSM

    • Provisioned

    • Administrative access

  • PKI Proxy server

    • NetHSM PKCS#11-modulet er installeret og konfigureret til at bruge NetHSM

  • CA-server (Windows Server)

    • ADCS role installed, but not configured

    • PKI Proxy client tools installed

    • Klientværktøjer er ikke nødvendige, hvis denne server også kører PKI-proxyserveren, da denne indeholder klientværktøjerne.

    • Pynitrokey installed

Root CA Key and Certificate

I nedenstående tabel er de vigtigste algoritmer og nøglelængder angivet sammen med de hash-algoritmer, som Windows ADCS kan anvende sammen 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

Vigtigt

Følg venligst de anbefalede retningslinjer for valg af en sikker nøglealgoritme, nøglelængde og hash-algoritme.

En nøgle og et certifikat kan enten genereres på ny, eller et eksisterende kan overføres. Se underafsnittene nedenfor for at få mere at vide om fremgangsmåden i netop din situation.

Generate a new Root CA Key and Certificate on Windows

Følgende vejledning beskriver, hvordan man opretter en ny nøgle og et nyt certifikat til brug i en » «-rodcertifikatmyndighed (Root CA) i ADCS.

Tip

Det er som regel nemmere at generere en nøgle og et certifikat ved hjælp af ADCS-konfigurationsguiden og derefter følge vejledningen på Migrate existing Key and Certificate.

I dette tilfælde bruges en anmodningsskabelon til at generere en nøgle med eksplicitte CA-udvidelser. De konkrete værdier skal tilpasses til dit miljø.

Anmodningsskabelonen skal gemmes i en fil med navnet RootCA.inf og med følgende indhold.

Denne skabelon genererer en RSA-nøgle med en nøglelængde på 4096 bits. Du skal erstatte <CA-NAME> med navnet på din 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

Certifikatet er blevet tilføjet til den lokale certifikatdatabase. Eksporter certifikatet til en PFX-fil, og erstat <THUMBPRINT> med den relevante værdi fra udskriften af den forrige kommando.

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

Adgangskoden bruges til at kryptere PKCS#12-arkivet (PFX-filen). Du kan fortsætte med kapitlet NetHSM-konfiguration.

Migrate existing Key and Certificate

For at migrere en eksisterende nøgle og et eksisterende certifikat skal disse eksporteres fra certifikatlageret på ADCS, og det resulterende arkiv skal importeres til NetHSM.

Vigtigt

Inden du foretager ændringer i en produktionscertifikatmyndighed, anbefales det at lave en sikkerhedskopi af den. Se venligst denne side for at få mere at vide.

  1. Åbn certlm.msc.

  2. Gå til Certifikater – Lokal computer → Personlige → Certifikater.

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

  4. I menulinjen øverst skal du gå til » « → »Action« → »All Tasks« → »Export…«. Dette vil starte guiden til eksport af » «-certifikatet.

  5. Confirm the introduction of the assistant with Next.

  6. Markér afkrydsningsfeltet ved siden af » « (Ja, eksporter den private nøgle) og bekræft med » « (Næste). Hvis afkrydsningsfeltet ikke er tilgængeligt, er nøglen markeret som ikke-eksportabel. I dette tilfælde gælder denne vejledning ikke for den påtænkte anvendelse.

  7. Medtag om muligt alle certifikater i certifikatstien

  8. Markér afkrydsningsfeltet ved siden af » « (Ja, eksporter den private nøgle) og bekræft med » « (Næste).

  9. Markér afkrydsningsfeltet ved siden af » Personal Information Exchange - PKCS #12 (.PFX) «. Sørg for at markere følgende indstillinger:

    • Medtag om muligt alle certifikater i certifikatstien

    • Eksporter alle udvidede egenskaber

    • Enable certificate privacy

    Confirm the selection with Next.

  10. Markér afkrydsningsfeltet ved siden af » « (Adgangskode). Indtast en adgangskode i tekstfelterne til adgangskoden. Vælg » « (AES256-SHA256) fra rullemenuen ved siden af » Encryption« (Kryptering).

    Vigtigt

    Krypteringsmetoden AES256-SHA256 understøttes kun fra og med Windows Server 2019 og Windows 11. Ved brug på ældre versioner skal du beholde standardindstillingen TripleDES-SHA1.

    Confirm the selection with Next.

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

    Vigtigt

    Den eksporterede nøgle og det eksporterede certifikat bør opbevares på et sikkert sted, hvor kun autoriserede brugere har adgang til dem.

  12. Confirm the export with Finish.

  13. Sørg for, at certifikatet stadig er valgt på listen til højre.

  14. I menulinjen øverst skal du gå til » Action« → »All Tasks« → »Delete«. Bekræft sletningen af den private nøgle og certifikatet med » « »Yes«.

Du kan fortsætte med kapitlet NetHSM-konfiguration.

NetHSM Configuration

Nøglen og certifikatet fra det forrige kapitel skal importeres til NetHSM. Med kommandoen » nitropy« kan vi importere PKCS#12-arkivet direkte til NetHSM.

Importer PKCS#12-arkivet som beskrevet nedenfor, og erstat <KEY-ID>, <MECHANISM> og <PKCS12-ARCHIVE> med de respektive værdier.

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

For RSA-nøgler skal mekanismen være rsa_signature_pkcs1, og for ECDSA-nøgler skal den være ecdsa_signature.

Du kan nu kontrollere, om certifikatet er tilgængeligt på NetHSM.

nitropy nethsm list-keys

Nøglen vises med det angivne nøgle-ID fra den forrige kommando.

PKI Proxy Server Configuration

På PKI-proxyserveren skal du dele det certifikat, der netop er tilføjet fra NetHSM. Følg vejledningen på Publish Certificates from the NetHSM for at få mere at vide.

Windows ADCS Configuration

PKI Proxy Client Tools Configuration

I det følgende gør vi nøglen og certifikatet tilgængelige i Windows’ lokale certifikatlager.

  1. Open the PKI Proxy Certificate Manager.

  2. Click the Add… button.

  3. Udfyld de obligatoriske felter.

    • Placering, f.eks. https://localhost:9266

    • Autentificering

    • 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 kontrollere, om certifikatet findes i den lokale certifikatdatabase.

  1. Åbn dialogboksen » « (Kør), enten ved at højreklikke på Windows- Startmenuen og vælge » « (Kør) eller ved at trykke på Windows-tasten + R på tastaturet.

  2. I dialogboksen » « (Kør) skal du indtaste certlm.msc og bekræfte ved at trykke på Indtast på tastaturet eller ved at klikke på OK.

  3. I den certifikatadministrator, der nu vises, skal du i træstrukturen til venstre navigere til » -certifikater – Lokal computer → Personlige → Certifikater «.

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

Windows ADCS Configuration

  1. Åbn » « Server Manager fra Start-menuen **** eller ved at trykke på Windows-tasten + R på tastaturet og indtaste ServerManager.exe.

  2. Klik på flagikonet i menulinjen øverst til højre, og vælg » « (Konfigurer Active Directory-certifikattjenester på destinationsserveren ) blandt meddelelserne efter implementeringen. Dette vil starte 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ælg Enterprise CA eller Standalone CA afhængigt af dit miljø.

    • CA Type

      Vælg » « Root CA

    • Private Key

      Markér radioknappen ved siden af » « (Brug eksisterende privatnøgle). Under denne indstilling skal du markere radioknappen ved siden af » « (Vælg et certifikat og brug de tilknyttede private nøgler).

      • Existing Certificate

        I listen over » -certifikater« ( ) skal du vælge det certifikat, du ønsker at bruge. Sørg for, at afkrydsningsfeltet ved siden af » « (Tillad administratorinteraktion, når CA’en får adgang til den private nøgle) ( ) ikke er markeret. Dette er ikke nødvendigt, da PKI Proxy KSP ikke kræver yderligere godkendelse for at bruge den private nøgle.

  4. Når konfigurationsguiden er færdig, skal du åbne » «-certifikatmyndigheden fra Start-menuen **** eller ved at trykke på Windows-tasten + R **** på tastaturet og indtaste certsrv.msc. Du kan kontrollere, at certifikatmyndighedstjenesten er startet korrekt, når der vises en grøn prik med et hvidt flueben ved navnet på certifikatmyndigheden.

Vigtigt

Certifikatmyndighedens tilgængelighed afhænger af, om den private nøgle og certifikatet er tilgængelige. Hvis de ikke er tilgængelige, kan certifikatmyndighedstjenesten muligvis ikke startes eller stopper uventet. I tilfælde af en fejl kan du finde yderligere oplysninger i Windows-hændelsesloggen under » « ( ).