Migreren Certification Authority

Wanneer je een nieuwe Certification Authority uitrolt, moet je eerst goed naar de configuratie van de oude kijken. Begin met het maken van een backup van je bestaande CA.

Open daarvoor in de administrative tools de certification authority op je bestaande CA. Let goed op de naam die daar staat, en klik er met rechts op en kies voor All Tasks en dan Back up CA.

ca backup

Maak daarbij een backup van zowel de private key en het CA certificaat en tevens van de certificiate database en het database log.

Open vervolgens regedit en maak een backup van de CertSvc configuration sleutel. Ga daarvoor naar:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc
ca registry backup

Hier zie je de folder van de database zoals deze op je bestaande CA hebt. Noteer ook de waarde die staat bij WebClientCAMachine deze heb je nog nodig voor je Web Enrollment Site.

Kopieer je backup van de CA Database, Certificaat en de registry sleutel naar de nieuwe server en deinstalleer de Active Directory Certificate Services op je oude server. Herstart deze om het proces af te ronden.

Vervolgens ga je naar je nieuwe server en installeer je de Active Directory Certificate Services met de role services Certification Authority en Certification Authority Web Enrollment.

Wanneer de installatie gereed is, klik je op de Post-deployment task Configure Active Directory Certificate Services. Let op dat je de gegevens van een Enterprise Admin opgeeft, selecteer Certification Authority en Certification Authority Web Enrollment.

Selecteer Enterprise CA en klik op Continue, waarna je Root CA selecteert als CA Type. Let erop dat je dezelfde naam gebruikt als op je oude CA het geval was!

Vervolg de installatie en kies ervoor om een bestaand certificaat en private key te gebruiken. Hier importeer je het eerder gemaakte CA certificaat export bestand.

Er wordt nog gevraagd om een database pad, geef hier hetzelfde pad op als wat je terug kunt vinden in je registry backup.

Je bent nu op het punt dat je op je nieuwe server een restore van je CA Backup gaat doen, dit is redelijk recht toe recht aan. Zet zowel de Private Key als het CA certificaat incl database en certificate database log terug.

ca restore

Zodra je het bovenstaande hebt afgerond, importeer de eerder gemaakte reg file. Vervolgens reissue je de templates die je had.

Indien je een probleem hebt met het issuen van een bepaalde template, open deze dan in de Certificate Templates mmc. Controleer bij de properties van het template de rechten, je moet een Enroll machtiging hebben.

Vervolgens ben je klaar…

Tenzij… je net als ik tegen enkele “uitdagingen” aanloopt… 1) een niet werkende web enrollment site.

2) custom certificate templates verschijnen niet voor een “reissue”

Probleem 1 was aan te pakken door in de directory C:\Windows\System32\CertSrv een kleine edit door te voeren aan de file certdat.inc. Bij sServerConfig moet dezelfde naam staan als in de regfile bij de waarde WebClientCAMachine.

<%' CODEPAGE=65001 'UTF-8%> 
<%' certdat.inc - (CERT)srv web - global (DAT)a 
' Copyright (C) Microsoft Corporation, 1998 - 1999 %> 
<% 
' default values for the certificate request 
sDefaultCompany="" 
sDefaultOrgUnit="" 
sDefaultLocality="" 
sDefaultState="" 
sDefaultCountry="" 
' global state 
sServerType="Enterprise" 'vs StandAlone 
sServerConfig="ca.steijvers.com\ca" 
sServerDisplayName="ca" 
nPendingTimeoutDays=10 
%>

Voor probleem 2 bleek na een lange zoektocht een ADSIEdit nodig… Ga naar CN=Configuration > CN=Services > CN=Public Key Services > CN=Enrollment Services. Pas daar de waarde van het Flags attribute van waarschijnlijk 2 naar 10.

Geef vervolgens Active Directory replicatie een beetje de tijd en je zult zien dat je pagina werkt en alle oude custom certificaten weer ziet.