Windows Active Directory Certificate Services (ADCS) met PKI-proxy¶
In dit document wordt de configuratie van Windows Active Directory Certificate Services (ADCS) in combinatie met PKI Proxy en NetHSM beschreven.
Prerequisits¶
NetHSM
Provisioned
Administrative access
PKI Proxy server
De NetHSM PKCS#11-module is geïnstalleerd en geconfigureerd voor gebruik met de NetHSM
CA-server (Windows Server)
ADCS role installed, but not configured
PKI Proxy client tools installed
Clienttools zijn niet nodig als op deze server ook de PKI-proxyserver draait, aangezien deze de clienttools bevat.
Pynitrokey installed
Root CA Key and Certificate¶
In de onderstaande tabel staan de belangrijkste algoritmen en sleutellengtes vermeld, samen met de hash-algoritmen die Windows ADCS in combinatie met NetHSM kan gebruiken.
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 |
Belangrijk
Houd u alstublieft aan de aanbevolen werkwijzen voor het kiezen van een veilig sleutelalgoritme, een veilige sleutellengte en een veilig hash-algoritme.
Een sleutel en certificaat kunnen zowel nieuw worden gegenereerd als vanuit een bestaande worden overgezet. Raadpleeg de onderstaande subhoofdstukken voor meer informatie over de aanpak die in uw specifieke situatie van toepassing is.
Generate a new Root CA Key and Certificate on Windows¶
Met de volgende instructies maakt u een nieuwe sleutel en een nieuw certificaat aan voor gebruik in een Root CA in ADCS.
Tip
Het is meestal eenvoudiger om een sleutel en certificaat aan te maken met de ADCS-configuratiewizard en vervolgens de instructies op te volgen. Bestaande sleutel en certificaat migreren.
In dit geval wordt een aanvraagsjabloon gebruikt om een sleutel met expliciete CA-uitbreidingen te genereren. De specifieke waarden moeten worden aangepast aan uw omgeving.
Het verzoeksjabloon moet worden opgeslagen in een bestand met de naam RootCA.inf en met de volgende inhoud.
Dit sjabloon genereert een RSA-sleutel met een sleutellengte van 4096 bits. Je moet <CA-NAME> vervangen door de naam van je 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
Het certificaat is toegevoegd aan de lokale certificaatopslag. Exporteer het certificaat naar een PFX-bestand en vervang <THUMBPRINT> door de betreffende waarde uit de uitvoer van het vorige commando.
$password = Read-Host -AsSecureString "Password"
Export-PfxCertificate -Cert Cert:\LocalMachine\My\<THUMBPRINT> -FilePath RootCA.pfx -Password $password
De wachtwoordwaarde wordt gebruikt om het PKCS#12-archief (PFX-bestand) te versleutelen. U kunt verdergaan met het hoofdstuk NetHSM-configuratie.
Migrate existing Key and Certificate¶
Om een bestaande sleutel en een bestaand certificaat te migreren, moeten deze uit de certificaatopslag op de ADCS worden geëxporteerd en moet het resulterende archief in de NetHSM worden geïmporteerd.
Belangrijk
Voordat u wijzigingen aanbrengt in een productiecertificaatautoriteit, is het raadzaam om hiervan een back-up te maken. Raadpleeg de pagina deze voor meer informatie.
Open
certlm.msc.Ga naar Certificaten - Lokale computer → Persoonlijk → Certificaten.
Select the certificate in the list on the right.
Ga in de menubalk bovenaan naar „ -actie“ → „Alle taken“ → „Exporteren…“. Hierdoor wordt de wizard voor het exporteren van „ “-certificaten gestart.
Confirm the introduction of the assistant with Next.
Vink het keuzerondje aan naast ‘ ’ (Ja, de privésleutel exporteren) en bevestig met ‘ ’ (Volgende). Als het keuzerondje niet beschikbaar is, is de sleutel gemarkeerd als niet-exporteerbaar. In dat geval is deze handleiding niet van toepassing op het beoogde gebruiksscenario.
Neem indien mogelijk alle certificaten in het certificeringspad op
Vink het keuzerondje aan naast ‘ ’ (Ja, de privésleutel exporteren) en bevestig met ‘ ’ (Volgende).
Vink het keuzerondje aan naast ‘ Personal Information Exchange - PKCS #12 (.PFX)’. Zorg ervoor dat u de volgende opties aanvinkt:
Neem indien mogelijk alle certificaten in het certificeringspad op
Alle uitgebreide eigenschappen exporteren
Enable certificate privacy
Confirm the selection with Next.
Vink het keuzerondje aan naast ‘ ’ (Wachtwoord). Voer een wachtwoord in de wachtwoordvelden in. Kies in de vervolgkeuzelijst naast ‘ Encryption’ (Wachtwoordversleuteling) de optie ‘ ’ (Wachtwoordversleuteling) AES256-SHA256.
Belangrijk
De versleutelingsmethode AES256-SHA256 wordt alleen ondersteund vanaf Windows Server 2019 en Windows 11. Gebruik voor oudere versies de standaardinstelling TripleDES-SHA1.
Confirm the selection with Next.
Choose a storage location and file name and confirm with Next.
Belangrijk
De geëxporteerde sleutel en het certificaat moeten op een veilige plek worden bewaard, waar alleen bevoegde gebruikers er toegang toe hebben.
Confirm the export with Finish.
Zorg ervoor dat het certificaat nog steeds is geselecteerd in de lijst aan de rechterkant.
Ga in de menubalk bovenaan naar ‘ Action’ → ‘All Tasks’ → ‘Delete’. Bevestig het verwijderen van de privésleutel en het certificaat met ‘ ’ ‘Yes’.
Je kunt verdergaan met het hoofdstuk NetHSM-configuratie.
NetHSM Configuration¶
De sleutel en het certificaat uit het vorige hoofdstuk moeten naar de NetHSM worden geïmporteerd. Met het comm nitropie kunnen we het PKCS#12-archief rechtstreeks naar de NetHSM importeren.
Importeer het PKCS#12-archief als volgt, waarbij je <KEY-ID>, <MECHANISM> en <PKCS12-ARCHIVE> vervangt door de betreffende waarden.
nitropy nethsm import-pkcs12 -k <KEY-ID> -m <MECHANISM> -p <password> <PKCS12-ARCHIVE>
Voor RSA-sleutels moet het mechanisme rsa_signature_pkcs1 zijn en voor ECDSA-sleutels ecdsa_signature.
Je kunt nu controleren of het certificaat beschikbaar is op de NetHSM.
nitropy nethsm list-keys
De sleutel wordt weergegeven met het sleutel-ID dat in het vorige commando is opgegeven.
PKI Proxy Server Configuration¶
Op de PKI-proxyserver moet u het zojuist toegevoegde certificaat uit de NetHSM delen. Volg de stappen op Publish Certificates from the NetHSM voor meer informatie.
Windows ADCS Configuration¶
PKI Proxy Client Tools Configuration¶
Hieronder zorgen we ervoor dat de sleutel en het certificaat beschikbaar komen in de lokale certificaatopslag van Windows.
Open the PKI Proxy Certificate Manager.
Click the Add… button.
Vul de verplichte velden in.
Locatie, bijv.
https://localhost:9266Authenticatie
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.
U kunt nu controleren of het certificaat in de lokale certificaatopslagplaats staat.
Open het dialoogvenster ‘ **’ ( ), door met de rechtermuisknop te klikken op het Windows- -startmenu en ‘ ’ (Run ) te kiezen, of door op de Windows-toets + R** op je toetsenbord te drukken.
Voer in het dialoogvenster „ Run“ het volgende in:
certlm.mscen bevestig door op te drukken. Voer in via het toetsenbord of door op OK te klikken.Navigeer in het certificaatbeheer dat verschijnt via de boomstructuur aan de linkerkant naar Certificaten - Lokale computer → Persoonlijk → Certificaten.
The published certificate is now listed on the right.
Windows ADCS Configuration¶
Open de Serverbeheerder van de **** via het Startmenu van **** of door op de Windows-toets + R **** op uw toetsenbord te drukken en
ServerManager.exein te voeren.Klik in de menubalk rechtsboven op het vlaggetje en kies ‘ ’ (Active Directory-certificaatservices configureren) op de doelserver uit de meldingen na de implementatie. Hierdoor wordt de wizard ‘ ’ (AD CS-configuratie) gestart.
In the wizard, set the settings below according to the stage.
Role Services
Check the radio button next to Certification Authority.
Setup Type
Kies Enterprise CA of Standalone CA, afhankelijk van uw omgeving.
CA Type
Selecteer de root-CA ‘ ‘
Private Key
Vink het keuzerondje aan naast ‘ ’ (Bestaande privésleutel gebruiken). Vink bij deze optie het keuzerondje aan naast ‘ ’ (Een certificaat selecteren en de bijbehorende privésleutels gebruiken).
Existing Certificate
Selecteer in de lijst met -certificaten het certificaat dat u wilt gebruiken. Zorg ervoor dat het selectievakje naast ‘Beheerdersinteractie toestaan wanneer de CA toegang heeft tot de privésleutel’ niet is aangevinkt. Dit is niet nodig, aangezien de PKI Proxy KSP geen aanvullende authenticatie vereist voor het gebruik van de privésleutel.
Nadat de configuratiewizard is voltooid, opent u de certificeringsinstantie „ “ via het Startmenu van **** of door op de Windows-toets + R **** op uw toetsenbord te drukken en
certsrv.mscin te voeren. U kunt controleren of de certificeringsinstantie correct is gestart als u een groene stip met een wit vinkje ziet bij de naam van de certificeringsinstantie.
Belangrijk
De beschikbaarheid van de certificeringsinstantie hangt af van de beschikbaarheid van de privésleutel en het certificaat. Als deze niet beschikbaar zijn, kan het zijn dat de certificeringsinstantie niet start of onverwacht wordt afgebroken. Controleer in geval van een fout het Windows-gebeurtenislogboek ** voor meer informatie.