Dzisiaj o czymś zupełnie nowym, ponieważ CA zostało dodane do Windows Core dopiero w wersji R2. Sama opcja instalacji tylko części komponentów nazwana „Core Installation” została udostępniona w wersji 2008.
Na temat Core Installation jest już dość dużo materiałów, na przykład ten artykuł Nataniela Zielińskiego, więc nie będę opisywał go szerzej. Dość powiedzieć że w wersji tej nie ma większości interface’ów graficznych, system zaś obsługuje się z lini poleceń. Istnieje też dobre opracowanie pozwalające ogarnąć Core Installation, jednakże część usług wprowadzonych dopiero w R2 jest nieomal pozbawiona dokumentacji.
Instalacja serwera CA na zwykłym Windows 2008 wymaga użycia kreatora dodawania roli, którego brak w wersji Core. Tak więc pierwszym krokiem jest zainstalowanie binariów usługi. Wykonuje się to poleceniem
1 | start /w ocsetup.exe CertificateServices /norestart /quiet |
Następnie warto dokonać sprawdzenia poprawności instalacji
1 | oclist find /i "CertificateServices" |
Po upewnieniu się o tym, że mamy w systemie pakiet usługi, musimy ją skonfigurować. Można to wykonać za pomocą skryptu automatycznej instalacji dostępnego tutaj. Jest to skrypt VBScript który pozwala bez problemowo zainstalować CA. Na stronie podany jest pełen zestaw parametrów koniecznych do ukończenia procesu instalacji pomyślnie. Należy tutaj zwrócić uwagę na fakt, że parametry
1 | /interactive |
oraz
1 | /iw |
są nie obsługiwane w Core installation.
Ponaddto przed przystąpieniem do instalacji CA, zarówno w wersji Core jak i zwykłej warto przygotować plik CApolicy.inf który należy umieścić w katalogu %SYSTEMROOT%. Przykład takiego pliku poniżej:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | [Version] Signature="$Windows NT$ [PolicyStatementExtension] Policies=LegalPolicy [LegalPolicy] OID=1.1.1.1.1.1.1.121 NOTICE=Certyfikat wystawiony zgodnie z dokumentem Kodeks_Postepowania_Certyfikacyjnego_Testowe_Domeny URL="http://pki.testowa.domena.lab/repozytorium/cps.html" [certsrv_server] renewalkeylength=2048 RenewalValidityPeriodUnits=5 RenewalValidityPeriod=years CRLPeriod=days CRLPeriodUnits=14 CRLOverlapPeriod=days CRlOverlapUnits=7 CRLDeltaPeriod=hours CRLDeltaPeriodUnits=0 |
Po instalacji warto ustawić parametry CDP (CRL Distribution Point) na przykład tak:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | certutil -setreg CA\DSConfigDN CN=Configuration,DC=CCKNF,DC=AD certutil -setreg CA\CRLPeriodUnits 14 certutil -setreg CA\CRLPeriod "Days" certutil -setreg CA\CRLOverlapPeriod "Days" certutil -setreg CA\CRLOverlapUnits 7 certutil -setreg CA\CRLDeltaPeriodUnits 0 certutil -setreg CA\CRLDeltaPeriod "Hours" certutil -setreg CA\CRLPublicationURLs "65:%windir%\system32\CertSrv\CertEnroll\%%3%%8%%9.crl\n79:http://pki.testowa.domena.lab/repozytorium/%%3%%8%%9.crl\n65:file://\\%%1\CertEnroll/%%3%%8%%9.crl" certutil -setreg CA\CACertPublicationURLs "1:%windir%\system32\CertSrv\CertEnroll\%%1_%%3%%4.crt\n3:http://pki.testowa.domena.lab/repozytorium/%%1_%%3%%4.crt\n1:file://\\%%1\CertEnroll/%%1_%%3%%4.crt" certutil -setreg CA\AuditFilter 127 certutil -setreg CA\ValidityPeriodUnits 2 certutil -setreg CA\ValidityPeriod "Years" net stop certsvc & net start certsvc certutil -crl |
Utworzenie takiego, lub podobnego skryptu pozwoli ominięcie „wyklikiwania” za pomocą zdalnie podpiętej konsoli mmc parametrów umieszczanych w certyfikatach.
Na koniec dodam, że pierwszym artykułem który pozwolił rozpocząć pracę z CA na systemie W2K8R2 Core Installation był artykuł Eyalestrin’a.