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, first prove you are comparing the same certificate, machine-store context, HTTPS binding and hostname. With SNI or multiple bindings, a certificate visible or selected in IIS is not enough evidence that it is the certificate served for the failing hostname.
Open the Certificates snap-in for the Computer account, locate the intended server certificate and record its thumbprint. In IIS Manager, inspect the exact HTTPS binding—including IP, port, hostname and SNI where used—and confirm that binding selects the same certificate.
mmc → Certificates (Local Computer) → Personal → CertificatesVerify: The Local Computer certificate and the exact binding for the failing hostname match by thumbprint. Then test that hostname from a separate client and confirm the certificate actually served is the intended identity. If they differ, troubleshoot binding/SNI selection before chain trust.
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. Multiple HTTPS bindings can also select different certificates based on IP/port/hostname/SNI. Diagnose the exact request hostname and bound thumbprint, not only friendly name or one IIS certificate list entry.
Verify: Record the exact IP:port:hostname/SNI binding and bound certificate thumbprint, then compare both with the Local Computer certificate and the certificate observed by a client using that hostname.
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 exact IIS HTTPS/SNI binding after certificate changes
If a certificate was renewed or replaced, confirm every relevant site's HTTPS binding still selects the intended certificate for its IP/port/hostname/SNI combination. Do not assume importing a new certificate changes existing bindings, and do not assume testing one hostname proves another SNI binding serves the same certificate.
Verify: Reopen the exact binding after saving, confirm the selected certificate, then test the same hostname from a separate client. Compare the certificate served to the client with the thumbprint/identity you intended to bind.
Fix path #4 — if the chain is valid, separate private-key failures
A server certificate used for TLS also needs its corresponding private key to be present and usable by the server context. If the certificate path validates but IIS/Schannel reports a private-key, credential or handshake failure, stop importing intermediates or roots: that is a different failure class.
Verify: In Local Computer, confirm the intended server certificate indicates that a corresponding private key is available. If the failure is key access/association, diagnose that exact key/certificate installation or permission issue rather than weakening chain trust.
Fix path #5 — 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/replacedexact IIS IP:port:hostname/SNI binding for the failing requestcertificate identity actually served to a separate client for that hostnamewhether the Local Computer certificate has its corresponding private key when the failure involves TLS/key accessOfficial 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 →