<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Shawn's MIIS/ILM Tricks, PKI Hints, and Résumé Writing Prevention Tips  : PKI</title><link>http://blogs.technet.com/shawnrab/archive/tags/PKI/default.aspx</link><description>Tags: PKI</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>PKI Hints - Troubleshooting CertSvc Event ID 42 on an Enterprise CA in Windows 2000 and 2003</title><link>http://blogs.technet.com/shawnrab/archive/2006/08/11/clean-sox-not-the-dirty-sox.aspx</link><pubDate>Sat, 12 Aug 2006 02:55:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:446080</guid><dc:creator>shawnrab</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/shawnrab/comments/446080.aspx</comments><wfw:commentRss>http://blogs.technet.com/shawnrab/commentrss.aspx?PostID=446080</wfw:commentRss><description>&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am going to tell you a story about SOX.&amp;nbsp; Not Sarbanes Oxley, but S-O-X.&amp;nbsp; In Microsoft Support, we are partly responsible for writing the Microsoft Knowledge Base articles at &lt;A href="http://support.microsoft.com/" mce_href="http://support.microsoft.com/"&gt;http://support.microsoft.com&lt;/A&gt;&amp;nbsp; One of the ways we used to be able to get KB's out there was to write solution objects.&amp;nbsp; In our case management database, customer cases were prefixed with SRX (or SRZ for a web issue or SR(letter), with a different letter for global regions).&amp;nbsp; You open a case with Microsoft in North America and you get an SRX number which is SRX(year)(month)(date)6(daily case ID).&amp;nbsp; So the 43,750th case for today would be SRX060811643750.&amp;nbsp;SR stands for Service Request.&amp;nbsp; When we would fix issues we would try to link a KB article to the solution.&amp;nbsp; If we created the solution without documented&amp;nbsp;support, we were responsible for creating solution objects, which are prefixed with SOX.&amp;nbsp; So if you ever meet a&amp;nbsp;Microsoft&amp;nbsp;Support person and they talk about seeing an SOX, now you know what they're talking about.&amp;nbsp; Anyway, if an SOX is linked to three cases, it gets raised to become a KB.&amp;nbsp;&amp;nbsp;"They" probably&amp;nbsp;figure one time is a fluke, two times is a trend and three times is a real problem.&amp;nbsp;&amp;nbsp;&amp;nbsp; I wrote a couple hundred of these things and have had a couple dozen raised.&amp;nbsp; That leaves, well, a couple hundred SOX's that no one sees outside of Microsoft and I will try to sanitize them and post them.&amp;nbsp; Hopefully you find them useful.&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;TITLE: How to Troubleshoot CertSvc Event ID 42 on an Enterprise CA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&lt;BR&gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;How to Troubleshoot CertSvc Event ID 42 on an&amp;nbsp;Enterprise CA&lt;BR&gt;&lt;BR&gt;Event Type: Error &lt;BR&gt;Event Source: CertSvc &lt;BR&gt;Event Category: None &lt;BR&gt;Event ID: 42 &lt;BR&gt;Date: 10/29/2002 &lt;BR&gt;Time: 1:03:29 PM &lt;BR&gt;User: N/A &lt;BR&gt;Computer: SERVER&lt;BR&gt;Description: &lt;BR&gt;Certificate Services did not start: Could not build CA certificate chain for &amp;lt;ca &lt;BR&gt;name&amp;gt;. Cannot find object or property. 0x80092004 (-2146885628).&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;OR&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;Event Type: Error &lt;BR&gt;Event Source: CertSvc &lt;BR&gt;Event Category: None &lt;BR&gt;Event ID: 42 &lt;BR&gt;Date: 10/29/2002 &lt;BR&gt;Time: 1:03:29 PM &lt;BR&gt;User: N/A &lt;BR&gt;Computer: SERVER&lt;BR&gt;Description: &lt;BR&gt;Certificate Services did not start: Could not build CA certificate chain for &amp;lt;ca &lt;BR&gt;name&amp;gt;. Keyset does not exist. 0x80090016 (-2146893802) .&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&amp;lt;&amp;gt;&lt;BR&gt;*** Resolution *** &lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;The certificate service relies on the CACertHash value present in &lt;BR&gt;&lt;BR&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\&amp;lt;ca &lt;BR&gt;name&amp;gt;&lt;BR&gt;The easiest way to determine this value is to run the following command:&lt;BR&gt;&lt;BR&gt;certutil -getreg ca\CACertHash&lt;BR&gt;&lt;BR&gt;Take note of the values.&amp;nbsp; An example is:&lt;BR&gt;&lt;BR&gt;&amp;nbsp; CACertHash&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; REG_MULTI_SZ =&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0: a3 44 19 90 30 41 5e c4 7b 0f d4 4d ea 47 d7 30 ef 0c 58 49&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1: ac 4e 6f d6 32 fd 6a 00 72 34 4f 9d b7 33 96 f4 71 3a ab 44&lt;BR&gt;&lt;BR&gt;The next step is to verify that the Local Machine Personal Store has a correct &lt;BR&gt;association with these keys:&lt;BR&gt;&lt;BR&gt;certutil -f -repairstore my "a3 44 19 90 30 41 5e c4 7b 0f d4 4d ea 47 d7 30 ef 0c 58 49"&lt;BR&gt;certutil -f -repairstore my "ac 4e 6f d6 32 fd 6a 00 72 34 4f 9d b7 33 96 f4 71 3a ab 44"&lt;BR&gt;&lt;BR&gt;If these commands are not completing successfully, you are likely receiving the &lt;BR&gt;first above event (cannot find object or property)&lt;BR&gt;&lt;BR&gt;This is likely caused by deleting one of the CA certificates out of the local &lt;BR&gt;machine store.&amp;nbsp; To check to see if one of these is missing look in &lt;BR&gt;HKEY_LOCAL_MACHINE/Software/Microsoft/SystemCertificates/My&lt;BR&gt;&lt;BR&gt;The associated keys are the Certificate Hashes or Thumbprints.&amp;nbsp; Check to see if all &lt;BR&gt;of the hashes in the CACertHash value are present.&amp;nbsp; If one or more is missing, this &lt;BR&gt;is the cause of the event. To get the certificates back try running at the &lt;BR&gt;following command:&lt;BR&gt;&lt;BR&gt;ldifde –d “CN=&amp;lt;ca name&amp;gt;,CN=AIA,CN=Public Key &lt;BR&gt;Services,CN=Services,CN=Configuration,DC={domain},DC={com}” –v –f ldifde.txt&lt;BR&gt;look in the ldifde.txt&lt;BR&gt;The output may look similar to this:&lt;BR&gt;&lt;BR&gt;--snip--&lt;BR&gt;dn: CN=ca name,CN=AIA,CN=Public Key &lt;BR&gt;Services,CN=Services,CN=Configuration,DC=domain,DC=com&lt;BR&gt;changetype: add&lt;BR&gt;authorityRevocationList:: AA==&lt;BR&gt;cACertificate:: &lt;BR&gt;MIIEXTCCA8agAwIBAgIQSnXfyRlA8IxIzC8VlL+qbjANBgkqhkiG9w0BAQUFADCBmjEhMB8GCSqGSI&lt;BR&gt;b3DQEJARYSZ2FzZXRhQGNwcWQuY29tLmJyMQswCQYDVQQGEwJCUjESMBAGA1UECBMJU2FvIFBBdWxv&lt;BR&gt;MREwDwYDVQQHEwhDYW1waW5hczENMAsGA1UEChMEQ1BxRDEYMBYGA1UECxMPU2Vydmlkb3JlcyBNYW&lt;BR&gt;lsMRgwFgYDVQQDEw9DUHFEIEVudHJpc2UwHhcNMDMwNzE1MTkwMzM1WhcNMDUwNzE0MTkxMjI1&lt;BR&gt;WjCBmjEhMB8GCSqGSIb3DQEJARYSZ2FzZXRhQGNwcWQuY29tLmJyMQswCQYDVQQGEwJCUjESMBAGA1&lt;BR&gt;UECBMJU2FvIFBBdWxvMREwDwYDVQQHEwhDYW1waW5hczENMAsGA1UEChMEQ1BxRDEYMBYGA1UECxMP&lt;BR&gt;U2Vydmlkb3JlcyBNYWlsMRgwFgYDVQQDEw9DUHFEIEVudGVycHJpc2UwgZ8wDQYJKoZIhvcNAQEBBQ&lt;BR&gt;ADgY0AMIGJAoGBALxm6c/JjBUu+xrOEwALCug3MP/MeXe/lw+SyIy/Y4dZbQfI3zlOAAUxe5QxtK2z&lt;BR&gt;sZ7yqzjsj9CEft9qjAdN93jojW1QKiNiPlFoHR9mdmM+wYDQupHAZb/BTbqxvzxO0W0NKIpSNISYbU&lt;BR&gt;jGxJg2Ie9CLW88PDHgj3wVHJ0rHrftAgMBAAGjggGgMIIBnDATBgkrBgEEAYI3FAIEBh4EAEMAQTAL&lt;BR&gt;BgNVHQ8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU2wGybzDbNPE9SX+z9oH37jEDMV&lt;BR&gt;0wggEyBgNVHR8EggEpMIIBJTCB06CB0KCBzYaBymxkYXA6Ly8vQ049Q1BxRCUyMEVudGVycHJpc2Uo&lt;BR&gt;MSksQ049c2FydW1hbixDTj1DRFAsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZX&lt;BR&gt;MsQ049Q29uZmlndXJhdGlvbixEQz1hcXVhcml1cyxEQz1jcHFkLERDPWNvbSxEQz1icj9jZXJ0aWZp&lt;BR&gt;Y2F0ZVJldm9jYXRpb25MaXN0P2Jhc2JqZWN0Y2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnQwTa&lt;BR&gt;BLoEmGR2h0dHA6Ly9zYXJ1bWFuLmFxdWFyaXVzLmNwcWQuY29tLmJyL0NlcnRFbnJvbGwvQ1BxRCUy&lt;BR&gt;MEVudGVycHJpc2UoMSkuY3JsMBIGCSsGAQQBgjcVAQQFAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAAI&lt;BR&gt;H/45gc6pvksDMspXzS4tcB3GQ3NgVGGzUcfRYKzCsWIq+6RNhXLYiS4477WEr8iwqvWgmo4BMlNGiH&lt;BR&gt;fQqQ9ZL3V7vB4eHtxVa99LqG1Ed8wQUg4iT1FA5yRS2ICI5vOf1vFDZHWXjH97heXSjyzfVt6/GwXH&lt;BR&gt;fJ6QqvctSVXxI=&lt;BR&gt;cACertificate:: &lt;BR&gt;MIID0DCCA3qgAwIBAgIQapi0c7lUwahPM9e1PZAHRjANBgkqhkiG9w0BAQUFADCBmjEhMB8GCSqGSI&lt;BR&gt;b3DQEJARYSZ2FzZXRhQGNwcWQuY29tLmJyMQswCQYDVQQGEwJCUjESMBAGA1UECBMJU2FvIFBBdWxv&lt;BR&gt;MREwDwYDVQQHEwhDYW1waW5hczENMAsGA1UEChMEQ1BxRDEYMBYGA1UECxMPU2Vydmlkb3JlcyBNYW&lt;BR&gt;lsMRgwFgYDVQQDEw9DUHFEIEVudGVycHJpc2UwHhcNMDEwNzIzMTMzMzM2WhcNMDMwNzIzMTM0MjI2&lt;BR&gt;WjCBmjEhMB8GCSqGSIb3DQEJARYSZ2FzZXRhQGNwcWQuY29tLmJyMQswCQYDVQQGEwJCUjESMBAGA1&lt;BR&gt;UECBMJU2FvIFBBdWxvMREwDwYDVQQHEwhDYW1waW5hczENMAsGA1UEChMEQ1BxRDEYMBYGA1UECxMP&lt;BR&gt;U2Vydmlkb3JlcyBNYWlsMRgwFgYDEw9DUHFEIEVudGVycHJpc2UwXDANBgkqhkiG9w0BAQEFAA&lt;BR&gt;NLADBIAkEAv+tSVhSJyoG3oUGNDMMsUvCYH7KCF+DgQvSwb4txyxM5V9pixBTg0hOntGQF5jul&lt;BR&gt;qcXHxSZBLADrbE50yQIDAQABo4IBmDCCAZQwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAg&lt;BR&gt;EGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFPIxi5fiD+6eELg94lAzp/WJXUByMIIBLAYDVR0f&lt;BR&gt;BIIBIzCCAR8wgdCggc2ggcqGgcdsZGFwOi8vL0NOPUNQcUQlMjBFbnRlcnByaXNlLENOPXNhcnVtYW&lt;BR&gt;4sQ049Q0RQLENOPVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3Vy&lt;BR&gt;YXRpb24sREM9YXF1YXJpdXMsREM9Y3BxZCxEQz1jb20sREM9YnI/Y2VydGlmaWNhdGVSZXZvY2F0aW&lt;BR&gt;9uTGlzdD9iYXNlP29iamVjdGNsYXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MEqgSKBGhkRodHRwOi8v&lt;BR&gt;c2FydW1hbi5hcXVhcml1cy5jcHFkLmNvbS5ici9DZXJ0RW5yb2xsL0NQcUQlMjBFbnRlcnByaXNlLm&lt;BR&gt;NybDAQBgkrBgEEAYI3FQEEAwIBADANBgkqhkiG9w0BAQUFAANBAJ3GZkvWu1H3kUlkZZnl/g4pVm8P&lt;BR&gt;5FcLUJJdV99feIlBYafuA0CIS5hM2IZuz4plqggINpVRlW8VqeDLc9D3lZE=&lt;BR&gt;certificateRevocationList:: AA==&lt;BR&gt;cn: ca name&lt;BR&gt;instanceType: 4&lt;BR&gt;--end snip--&lt;BR&gt;&lt;BR&gt;Copy the data within the caCertificates attribute and paste it into text files.&amp;nbsp; &lt;BR&gt;Rename the text files to have a *.cer extension.&amp;nbsp; Open the CER files and look at &lt;BR&gt;the Thumbprint attribute, these attributes should line up with the above CACertHash &lt;BR&gt;Values.&amp;nbsp;&amp;nbsp; Find the CER file with the Thumbprint associated with the missing hash &lt;BR&gt;and import the certificate into the Local Machine Personal Store. Open the &lt;BR&gt;certificates mmc for local computer and double click on the Personal certificate &lt;BR&gt;store, right click on certificates and go to Import certificate and select the CER &lt;BR&gt;file associated with the missing hash.&lt;BR&gt;&lt;BR&gt;Then run &lt;BR&gt;&lt;BR&gt;certutil -f -repairstore my "{HASH}"&lt;BR&gt;&lt;BR&gt;against the newly imported certificate and attempt service start.&amp;nbsp; &lt;BR&gt;&lt;BR&gt;To verify that the Keys are valid run the following command&lt;BR&gt;&lt;BR&gt;certutil -verifykeys&lt;BR&gt;&lt;BR&gt;If the verifykeys command fails - you are likely receiving the second error message &lt;BR&gt;(Keyset does not exist)&lt;BR&gt;&lt;BR&gt;If the key that is failing in the verifykeys command is associated with a &lt;BR&gt;certificate that is not the most recent certificate, identify the certificate and &lt;BR&gt;find the Thumbprint value and populate the caCertHash value with the correct sequence of thumbprints.&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;You may also want to check the permissions on the %allusersprofile%\Application Data\Microsoft\Crypto\RSA\Machinekeys folder to ensure that SYSTEM has permission on the private keys.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT style="BACKGROUND-COLOR: #ffffff" color=#000000&gt;This posting is provided "AS IS" with no warranties, and confers no rights.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=446080" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/shawnrab/archive/tags/PKI/default.aspx">PKI</category><category domain="http://blogs.technet.com/shawnrab/archive/tags/Certificate+Services/default.aspx">Certificate Services</category></item><item><title>RWPT + PKI Hints - BAD TROUBLESHOOTING 101 (part 2 of many) Certification Authorities on a Domain Controller </title><link>http://blogs.technet.com/shawnrab/archive/2006/05/16/rwpt-pki-hints-bad-troubleshooting-101-part-2-of-many-certification-authorities-on-a-domain-controller.aspx</link><pubDate>Tue, 16 May 2006 11:29:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:428649</guid><dc:creator>shawnrab</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/shawnrab/comments/428649.aspx</comments><wfw:commentRss>http://blogs.technet.com/shawnrab/commentrss.aspx?PostID=428649</wfw:commentRss><description>&lt;P&gt;I blogged last week on User Profile troubleshooting and that was one of my biggest pet peeves.&amp;nbsp; Now it is time for my BIGGEST pet peeve.&amp;nbsp; I almost feel bad that I am on entry number 4 of this blog and I can't save this one for later, but I need to hopefully spread the word and stop the bleeding.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;This really isn't much of a blog entry on troubleshooting, but often times I have seen people stand up a temporary CA to get things like Live Communications Server or Outlook Web Access to work, so I guess technically you could look at it that way.&amp;nbsp; I don't know where it started or who first said it was OK, but I am going to say it now...&amp;nbsp; DO NOT INSTALL AN ENTERPRISE ROOT CA ON A DOMAIN CONTROLLER.&amp;nbsp; This is a bad idea.&amp;nbsp; A really bad idea.&amp;nbsp; First of all, if I was a hacker and I wanted to target a server, I would target a DC.&amp;nbsp; If I was a mean hacker and I wanted to send e-mail that was digitally signed by the CEO saying that everyone is fired, I would be happy to know that the DC I just attacked also had the private key of the root CA on it.&amp;nbsp;&amp;nbsp;That only touches the surface of what you could do if you had the private key.&amp;nbsp; And there would be no means of revocation.&amp;nbsp; Second of all, the biggest dependency of the Certificate Service is the computer name.&amp;nbsp; There are hooks in DCPromo.exe to check to see if the computer is a CA.&amp;nbsp; You would have to backup the CA using the CA snap-in, demote the DC or decommission the DC and move the CA backup to a server with the same name (How to move a certification authority to another server - &lt;A href="http://support.microsoft.com/default.aspx?scid=kb;en-us;298138" mce_href="http://support.microsoft.com/default.aspx?scid=kb;en-us;298138"&gt;http://support.microsoft.com/default.aspx?scid=kb;en-us;298138&lt;/A&gt;).&amp;nbsp; Now, what if the DC goes down?&amp;nbsp; I hope you have a backup (&lt;A href="http://blogs.technet.com/shawnrab/archive/2006/05/10/427905.aspx" mce_href="http://blogs.technet.com/shawnrab/archive/2006/05/10/427905.aspx"&gt;http://blogs.technet.com/shawnrab/archive/2006/05/10/427905.aspx&lt;/A&gt;) because if we go into Directory Services Restore mode, we can't take a backup of the CA's private key.&amp;nbsp; With no backup of the CA, if the computer is toast, so are the certificates you issued.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;The Microsoft Best Practice of a three-tier CA with an offline root is the way to go.&amp;nbsp; And with support for Certificate Services on Windows Server 2003 SP1 on Virtual Server 2005 R2, there's really no excuse.&amp;nbsp; If you have an enterprise subordinate CA that issued 100,000 certificates that is compromised, all you have to do is revoke one single certificate to deem the CA and the certificates it issued inoperable.&amp;nbsp; If you add a Hardware Storage Module (HSM) for the private keys, you're in better shape.&amp;nbsp; You'll thank me.&amp;nbsp; Your auditor will thank me.&amp;nbsp; Your CEO will thank me.&amp;nbsp; OK, maybe not - you've likely made any potential problem go away.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Certificate Services and PKI is 95% planning and 5% doing.&amp;nbsp; If you stand up a temporary CA for one or two certificates as a short-term solution, I am *almost* OK with that as long as you come in behind that CA with a full-blown PKI and you don't install the CA on a DC.&amp;nbsp; With the guidance of the Best Practices for Implementing Windows Server 2003 PKI (&lt;A href="http://technet2.microsoft.com/WindowsServer/en/Library/091cda67-79ec-481d-8a96-03e0be7374ed1033.mspx?mfr=true" mce_href="http://technet2.microsoft.com/WindowsServer/en/Library/091cda67-79ec-481d-8a96-03e0be7374ed1033.mspx?mfr=true"&gt;http://technet2.microsoft.com/WindowsServer/en/Library/091cda67-79ec-481d-8a96-03e0be7374ed1033.mspx?mfr=true&lt;/A&gt;) and my two three-tier webcasts (&lt;A href="http://support.microsoft.com/default.aspx?kbid=896733" mce_href="http://support.microsoft.com/default.aspx?kbid=896733"&gt;http://support.microsoft.com/default.aspx?kbid=896733&lt;/A&gt;&amp;nbsp;and &lt;A href="http://support.microsoft.com/default.aspx?kbid=896737" mce_href="http://support.microsoft.com/default.aspx?kbid=896737"&gt;http://support.microsoft.com/default.aspx?kbid=896737&lt;/A&gt;), you could set up a temporary three-tier PKI using Virtual Server 2005 R2 and Windows Server 2003 SP1 and have quick and cheap practice for a full-blown PKI.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;You can install a parallel PKI to the temporary PKI and have it work almost independant to the existing PKI.&amp;nbsp; The only thing they will share is the Certificate Templates, which are in the Configuration NC in Active Directory.&lt;/P&gt;
&lt;P&gt;Once you are ready to decommission the temporary PKI, you can use a quick command to remove the remnants of the temporary PKI from Active Directory.&amp;nbsp; For a CA with friendly name Temp-CA-1, you can run this command: &lt;STRONG&gt;certutil.exe -dsdel Temp-CA-1&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;So all in all, just say NO to a CA on a DC.&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This posting is provided "AS IS" with no warranties, and confers no rights.&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=428649" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/shawnrab/archive/tags/Mistakes/default.aspx">Mistakes</category><category domain="http://blogs.technet.com/shawnrab/archive/tags/PKI/default.aspx">PKI</category><category domain="http://blogs.technet.com/shawnrab/archive/tags/Certificate+Services/default.aspx">Certificate Services</category></item></channel></rss>