Certificate Valid in MMC but IIS Cannot Verify It
If a certificate shows a healthy Certification Path in one MMC view but IIS still reports that Windows does not have enough information to verify it, do not import a new root immediately. First confirm you inspected the Local Computer store, then compare the IIS HTTPS binding, intermediate chain and the certificate IIS is actually using.
Open the Certificates snap-in for the Computer account, locate the certificate used by the IIS site, and record its thumbprint. In IIS Manager, open the site's HTTPS binding and confirm it selects that same certificate.
mmc → Certificates (Local Computer) → Personal → CertificatesVerify: The certificate/thumbprint inspected in MMC should be the certificate selected by the IIS HTTPS binding. If they differ, troubleshoot the bound certificate rather than the unrelated certificate that looks healthy.
Why MMC and IIS can appear to disagree
Windows exposes different certificate-store locations and applications operate in specific contexts. Seeing a valid path under one user context does not prove that a server application is using the same certificate or store. Microsoft documents system certificate stores including Local Machine and Current User contexts, while IIS HTTPS bindings select a concrete server certificate for the site.
A second source of confusion is identity: two certificates can have similar subjects while differing in thumbprint, issuer, validity or private-key association. Diagnose by thumbprint and binding, not only by friendly name.
Verify: Record the bound certificate thumbprint and compare it with the Local Computer certificate you are validating.
Fix path #2 — inspect the Local Computer intermediate chain
If IIS is bound to the expected leaf certificate, inspect Certificates (Local Computer) → Intermediate Certification Authorities. A leaf certificate in Personal does not by itself guarantee Windows can build the required chain in the relevant machine context.
certutil -verify server.cerExport the public server certificate if needed and use CertUtil to identify where chain building stops. Obtain missing intermediate or root certificates only from the issuing CA or your organization's managed PKI channel.
Verify: The chain should build through the expected intermediate CA(s) to the intended trusted root without the original verification failure.
Fix path #3 — confirm the IIS HTTPS binding after certificate changes
If a certificate was renewed or replaced, confirm the site's HTTPS binding is still selecting the intended certificate. Do not assume importing a new certificate automatically changes every existing site binding.
Verify: Reopen the binding after saving, confirm the selected certificate, then test the site from a separate client. Compare the certificate served to the client with the thumbprint/identity you intended to bind.
Fix path #4 — separate server-chain problems from one-client problems
If multiple comparable clients fail against the same IIS endpoint, prioritize the server certificate and chain. If only one client fails while others validate the site, compare that client's trust stores, policy, clock and revocation/network path instead of repeatedly changing IIS.
Verify: A known-good external/client test should receive the expected certificate and validate its chain. If only one machine still fails, the remaining problem is likely client-specific.
What not to do
Still not fixed?
Preserve the smallest evidence set that distinguishes binding, store and chain problems before changing more configuration.
certutil -verify outputwhether other clients validate the same endpointwhether the certificate was recently renewed/replacedOfficial references
Still stuck? Ask the community
Share the IIS/Windows Server version, the sanitized Subject/Issuer, where the chain stops, and whether the bound thumbprint matches the Local Computer certificate.
Loading community discussion…
Comments could not load here. Open ErrorHarbor Discussions on GitHub →