Unable to Start AD CA Certification Service

Active Directory Certificate Authority Root

When I attempt to start the certificate service, I get the error:
The system cannot find the file specified. 0x2 (WIN32: 2 ERROR_FILE_NOT_FOUND)

The policy module for a CA is missing or incorrectly registered. To view or change the policy module settings, right-click on the CA, click Properties, and then click on the Policy Module tab.
So I click on Properties and the “Policy Module tab”. I click on “Select”, which brings up “Set Active Policy Module”. The only option to select is “Windows Default” which is already selected. I click OK and try  to start the Certification Service and receive same error.

I checked the registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\CA Name\PolicyModules
That has a string value named “Active” with a value of CertificateAuthority_MicrosoftDefault.Policy

Just to make sure I reregistered the certpdef.dll but that didn’t change anything.

The Event Viewer says:
Active Directory Certificate Services did not start: Could not load or verify the current CA certificate.  (Name of our certificate authority) The system cannot find the file specified. 0x80070002 (WIN32: 2 ERROR_FILE_NOT_FOUND).

Our certificate server is a 2012R2 member server. I migrated the certificate services from a 2003 member server which is being deactivated.

The local group: “Certificate Service DCOM Access” membership is Authenicated Users

The AD group: “Certificate Service DCOM Access” membership is Authenicated Users, Domain Users, and Domain Computers.

The Enterprise group “Cert Publishers” sole member is our certificate server.

In Active Directory Sites and Services/Services/Public Key Services
AIA Contains the certificationAuthority object for our root CA and the certificate server has full permissions.
Contains the Name of our Certification Server which contains cRLDistributionPoint object with the name of our Certification Authority and our certificate server has full permissions.

Does anyone have an idea about how to fix this?
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Check that you have actually finished the CA setup in server manager. In server manager go to the AD CS section or check the notification flag at the top right. Does it give a notification to complete the configuration of AD CS?
batesitAuthor Commented:

Thanks for that. Good thinking, and at first that’s what I thought it was too. Unfortunately, after completing the configuration, the service still would not start. I do appreciate your help though.
OK, I'm assuming when you migrated the CA over you took a registry backup of the settings? Do all the paths in the registry backup from the old server exist on the new server?
Your Guide to Achieving IT Business Success

The IT Service Excellence Tool Kit has best practices to keep your clients happy and business booming. Inside, you’ll find everything you need to increase client satisfaction and retention, become more competitive, and increase your overall success.

batesitAuthor Commented:
Learnctx, Thanks for your help. Yes I did migrate the CA over from our old CA and I imported the registery Key from the old server. However, I'm not sure what paths I should be looking for. I would assume that when I imported the registry key, everything would go along with it. Is there something specific I should be looking for?
As part of the migration you would backup the previous CA registry settings (see here). So when you do the import process of these settings here, you want to check the paths, any of them but mostly the paths in step 4 for DBDirectory, DBLogDirectory, DBSystemDirectory, DBTempDirectory, ConfigurationDirectory.
batesitAuthor Commented:
Learnctx, Thanks for your help. So I checked the registry. The first four paths that you mentioned: DBDirectory, DBLogDirectory, DBSystemDirectory, DBTempDirectory, match the default paths that I chose when I installed certificate services on this server. I checked the directory, and I can identify the the Database file, the Database Log files, and the Database Temp file(s). I am not sure what the Database "System" file is, if it is different than the Database itself. What would the file extension be for the "DBSystem"? This could be the problem. I did check the CACertPublicationURLs and  CRLPublicationURLs and those paths are correct.
batesitAuthor Commented:
I ended up submitting a support ticket with Microsoft. As I expected the Tech that I was working with figured it out in no time. Initially she spent about an hour on it. The things she was clicking on made me wonder if she knew what she was doing, but suddenly she was in the registry making a change. She went to registry HKEY_LOCAL_MACHINE\Software\Microsoft\SystemCertificates\ certhash, and replaced all the stale certificate entries with “-“ and kept only the valid two certificate hashes. After that the Certificate Service was able to start, however, I then realized that devices could not connect to our secure wireless network which is what we mainly use certificates for. Also there were errors on the Certificate Server. The Tech worked for a couple more hours to fix those errors, and we continuted into the next day. When she finished up everything was working. In the dozens of articles I read on Moving the Certificate Authority and troubleshooting the problem I was having, I came across no articles which lead me the the "Certhash" key and the other things she fixed. I would have never figured all that out on my own. So it was worth the $495 bucks we paid Microsoft.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
batesitAuthor Commented:
The solution was, Microsoft Tech Support found the problem and fixed the issues we were having.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Active Directory

From novice to tech pro — start learning today.