Edit (21 May 2008):
Apparently encryption algorithms > SHA 1 will prevent any Server 2003 or less, or Windows XP or less, machine from obtaining a certificate. I implemented my root CA with a SHA512 hash algorithm and my subordinate CAs with a SHA256 hash algorithm. I now get to redeploy the entire PKI.
6:41 AM : Back to Work
I actually got here over an hour ago, but have been catching up on my e-mail and such. It’s almost 7am, and I’m ready to tackle Configuration Manager again. There will probably be fewer updates today as I think I need to spend some time watching a few Webcasts this morning. I checked briefly into the error with the Management Point and it seems like I recall something I needed to do in Active Directory with permissions. I’ll try to find that and fix that problem first.
7:31 AM : Coffee Break
Taking a breather from the Webcast I’m watching (on System Center Configuration Manager 2007 SP1 and R2 upcoming releases) to grab a small cup of coffee.
7:37 AM : PKI
Another tangent, but I received the number I was waiting for to deploy our PKI. I’m going to deviate from Configuration Manager long enough to get the PKI going, and then when I get around to it I can switch Configuration Manager over to Native Mode instead of Mixed Mode. Again, I’m using Brian Komar’s Windows Server 2008 PKI and Certificate Security to make sure I follow updated best practices for deploying the PKI.
8:02 AM : Root CA capolicy.inf
I’m using the following configuration to initialize my enterprise root CA:
[Version]
Signature = “$Windows NT$”[BasicConstraintsExtension]
PathLength = 3
Critical=true
[Certsrv_Server]
RenewalKeyLength = 4096
RenewalValidityPeriodUnits = 20
RenewalValidityPeriod = years
CRLPeriod = days
CRLPeriodUnits = 7
CRLDeltaPeriod = hours
CRLDeltaPeriodUnits = 4
DiscreteSignatureAlgorithm = 1
8:20 AM : Root CA Installed
I’m using the following script after installation to guarantee settings:
::Declare Configuration NC
certutil -setreg CA\DSConfigDN CN=Configuration,DC=extendhealth,DC=com::Define CRL Publication Intervals
certutil -setreg CA\CRLPeriodUnits 52
certutil -setreg CA\CRLPeriod “Weeks”
certutil -setreg CA\CRLDeltaPeriodUnits 0
certutil -setreg CA\CRLDeltaPeriod “Days”
certutil -setreg CA\CRLOverlapPeriod “Weeks”
certutil -setreg CA\CRLOverlapUnits 2::Apply the required CDP Extension URLs
certutil -setreg CA\CRLPublicationURLs “1:%windir%\system32\CertSrv\CertEnroll\%%3%%8%%9.crl\n10:ldap:///CN=%%7%%8,CN=%%2,CN=CDP,CN=Public Key Services,CN=Services,%%6%%10″::Apply the required AIA Extension URLs
certutil -setreg CA\CACertPublicationURLs “1:%windir%\system32\CertSrv\CertEnroll\%%1_%%3%%4.crt\n2:ldap:///CN=%%7,CN=AIA,CN=Public Key Services,CN=Services,%%6%%11″::Enable all auditing events for the Extend Health Root CA
certutil -setreg CA\AuditFilter 127::Set Validity Period for Issued Certificates
certutil -setreg CA\ValidityPeriodUnits 10
certutil -setreg CA\ValidityPeriod “Years”:: Enable discrete signatures in subordinate CA certificates
Certutil -setreg CA\csp\DiscreteSignatureAlgorithm 1::Restart Certificate Services
net stop certsvc & net start certsvccertutil –crl
8:26 AM : Root CA Configuration Complete
Everything seems good on the root CA, moving on to the policy CA.
10:21 AM : Back on Task
I was distracted for a couple of hours talking to Microsoft and taking care of some tasks around the office, but am back on task. I just imported the certificate revocation lists onto the policy CA. I wasn’t able to make Brian’s command line (page 125) work, so I just right-clicked the certificate and allowed them to import the way they wanted to. I’m a bit concerned since that adds them to the user account’s stores, but we’ll see if it causes a problem.
11:02 AM : Policy CA capolicy.inf
I’m using the following configuration to initialize the policy CA:
[Version]
Signature = “$Windows NT$”[PolicyStatementExtension]
Policies = ExtendHealthCPS[ExtendHealthCPS]
OID = 1.3.6.1.4.1.31088.1.1
Notice = “By enrolling a certificate from this certificate server, you agree to the posted legal notice.”
URL = “http://capolicies.extendhealth.com/defaultCps.aspx”[Certsrv_Server]
RenewalKeyLength = 2048
RenewalValidityPeriodUnits = 10
RenewalValidityPeriod = years
CRLPeriod = days
CRLPeriodUnits = 7
CRLDeltaPeriod = hours
CRLDeltaPeriodUnits = 4
DiscreteSignatureAlgorithm = 1
I also just realized that I was supposed to save capolicy.inf to the %WINDIR% (usually C:\Windows) folder, not the system32 folder. Maybe that’s why it didn’t work last time.
11:12 AM : Policy CA Installed
I’m using the following script after installation to guarantee settings:
::Declare Configuration NC
certutil -setreg CA\DSConfigDN CN=Configuration,DC=extendhealth,DC=com::Define CRL Publication Intervals
certutil -setreg CA\CRLPeriodUnits 52
certutil -setreg CA\CRLPeriod “Weeks”
certutil -setreg CA\CRLDeltaPeriodUnits 0
certutil -setreg CA\CRLDeltaPeriod “Days”
certutil -setreg CA\CRLOverlapPeriod “Weeks”
certutil -setreg CA\CRLOverlapUnits 2::Apply the required CDP Extension URLs
certutil -setreg CA\CRLPublicationURLs “1:%windir%\system32\CertSrv\CertEnroll\%%3%%8%%9.crl\n10:ldap:///CN=%%7%%8,CN=%%2,CN=CDP,CN=Public Key Services,CN=Services,%%6%%10″::Apply the required AIA Extension URLs
certutil -setreg CA\CACertPublicationURLs “1:%windir%\system32\CertSrv\CertEnroll\%%1_%%3%%4.crt\n2:ldap:///CN=%%7,CN=AIA,CN=Public Key Services,CN=Services,%%6%%11″::Enable all auditing events for the Extend Health Root CA
certutil -setreg CA\AuditFilter 127::Set Validity Period for Issued Certificates
certutil -setreg CA\ValidityPeriodUnits 5
certutil -setreg CA\ValidityPeriod “Years”:: Enable discrete signatures in subordinate CA certificates
Certutil -setreg CA\csp\DiscreteSignatureAlgorithm 1::Restart Certificate Services
net stop certsvc & net start certsvccertutil –crl
11:32 AM : Publish to Active Directory Complete
I just finished publishing all CRLs and relevant certificates to Active Directory so that they are still available when I take the root and policy CAs offline. I’m taking the root CA down and beginning installation of an issuing CA.
11:50 AM : Issuing CA capolicy.inf
I’m using the following configuration to initialize the policy CA:
[Version]
Signature = “$Windows NT$”[Certsrv_Server]
RenewalKeyLength = 2048
RenewalValidityPeriodUnits = 5
RenewalValidityPeriod = years
CRLPeriod = days
CRLPeriodUnits = 3
CRLOverlapPeriod = hours
CRLOverlapPeriodUnits = 4
CRLDeltaPeriod = hours
CRLDeltaPeriodUnits = 12
DiscreteSignatureAlgorithm = 1
11:59 AM : Issuing CA Installed
I’m using the following script after installation to guarantee settings:
::Declare Configuration NC
certutil -setreg CA\DSConfigDN CN=Configuration,DC=extendhealth,DC=com::Define CRL Publication Intervals
certutil -setreg CA\CRLPeriodUnits 3
certutil -setreg CA\CRLPeriod “Days”
certutil -setreg CA\CRLDeltaPeriodUnits 12
certutil -setreg CA\CRLDeltaPeriod “Hours”
certutil -setreg CA\CRLOverlapPeriod “Hours”
certutil -setreg CA\CRLOverlapUnits 4::Apply the required CDP Extension URLs
certutil -setreg CA\CRLPublicationURLs “1:%windir%\system32\CertSrv\CertEnroll\%%3%%8%%9.crl\n10:ldap:///CN=%%7%%8,CN=%%2,CN=CDP,CN=Public Key Services,CN=Services,%%6%%10″::Apply the required AIA Extension URLs
certutil -setreg CA\CACertPublicationURLs “1:%windir%\system32\CertSrv\CertEnroll\%%1_%%3%%4.crt\n2:ldap:///CN=%%7,CN=AIA,CN=Public Key Services,CN=Services,%%6%%11″::Enable all auditing events for the Extend Health Root CA
certutil -setreg CA\AuditFilter 127::Set Validity Period for Issued Certificates
certutil -setreg CA\ValidityPeriodUnits 2
certutil -setreg CA\ValidityPeriod “Years”:: Enable discrete signatures in subordinate CA certificates
Certutil -setreg CA\csp\DiscreteSignatureAlgorithm 1::Restart Certificate Services
net stop certsvc & net start certsvccertutil –crl
12:10 PM : PKI Complete
For all intents and purposes, I believe the PKI deployment to be complete. Going to lunch and then back to Webcasts.
1:50 PM : Finished Webcasts
Just finished watching a Webcast on Configuration Manager 2007 SP1 and R2, and a two-part series on using Configuration Manager to deploy operating systems.
4:09 PM : End of Day
Watched several more Webcasts and tried to fix some errors in Configuration Manager’s status view. No luck tonight. Will start again tomorrow.
30 May 2008 at 2:15 pm
I am in the middle of a PKI deployment as well, thanks for posting your notes about this, very helpful!
30 May 2008 at 5:19 pm
Thanks, Dave! My biggest frustration was not having a “walkthrough” to work with myself. Hence this series.