Why a P7S Signature Can Be Valid While the Certificate Shows a Warning
Separate cryptographic document integrity from certificate dates, chain trust, revocation status and legal or business acceptance.
A signed document can produce a result that looks contradictory at first: the document signature is cryptographically valid, but the certificate area still shows a warning. That is not necessarily an error. Different checks answer different questions.
The most useful way to read a P7S result is to separate content integrity from certificate status and trust. P7S Universal Viewer does this deliberately so that one green or red label does not hide the reason behind the result.
What a valid document signature means
When a signature verifies successfully, the cryptographic signature matches the content being checked with the signer’s public key. In practical terms, the bytes supplied to the verifier are consistent with the signed data.
For an attached P7S, the signed content is usually available inside the container. For a detached signature, the verifier needs the exact original file. If you provide a different file, even one that looks visually identical, integrity verification can fail.
A valid integrity result is important evidence, but it is not the same as saying:
- the certificate is currently trusted by Windows;
- the certificate was valid at every relevant point in time;
- the certificate has not been revoked;
- a timestamp authority has established a trusted signing time;
- the signature satisfies a particular legal, contractual or organizational rule;
- the document is safe to open.
Those are separate questions.
Why certificate warnings can appear
A certificate is part of a chain of identities and issuers. A viewer may show warnings even when the document signature itself is intact.
The certificate is expired now
A certificate has a validity period. If the current date is outside that interval, the certificate can show as expired. That does not automatically mean the document bytes changed after signing.
The timing question can be more complicated than comparing today’s date with the certificate’s end date. A claimed signing time inside a signature is not automatically a trusted timestamp. P7S Universal Viewer therefore does not turn a claimed time into a legal or trusted-time conclusion.
The certificate is not yet valid
If the certificate’s validity start date is in the future relative to the time being evaluated, that is a separate warning. Again, this concerns the certificate, not necessarily the integrity of the content bytes.
The chain is incomplete
A signer certificate may have been issued by an intermediate certificate, which in turn leads to a root. If required chain certificates are unavailable, the chain may be incomplete even though the document signature can still be checked with the signer certificate present in the P7S.
An incomplete chain means “more trust information is needed,” not “the document was modified.”
The root is not trusted in the current environment
Trust is partly an environment decision. Operating systems and organizations maintain trust stores. A certificate chain can be cryptographically consistent while its root is not trusted by the machine or policy context in which you are reviewing it.
P7S Universal Viewer presents certificate-chain information separately and does not reduce every trust decision to the document-integrity result.
Revocation was not checked
Certificate authorities can revoke certificates before their scheduled expiry. Checking revocation normally involves CRL or OCSP information and often network access.
P7S Universal Viewer v2.0.0 does not perform revocation checks. If the app says revocation is unchecked, that is not a failure result and not a success result. It means that particular question remains unanswered.
A timestamp is present but not independently trusted
Some signed containers include signing-time information or timestamp-related data. A displayed time should not automatically be treated as proof that a trusted timestamp authority validated the signature at that exact time.
The current ALMARFELD viewer does not perform full timestamp-authority validation. For workflows that depend on long-term signature validation or trusted timestamps, use the validation procedure required by the receiving organization or relevant authority.
A better way to read the result
Instead of looking for one overall “valid” label, review the result in layers:
- Content integrity: does the cryptographic signature match the content?
- Signer certificate: who does the certificate identify and what are its dates and algorithms?
- Certificate chain: can the issuer relationship be followed with the information available?
- Trust: is the relevant root trusted in the environment that matters to you?
- Revocation: was certificate revocation actually checked?
- Time: is there independently trusted evidence for the signing time, or only a claimed time?
- Policy: does your organization, recipient or legal process accept this type of signature?
This layered approach prevents two common mistakes: declaring a document tampered with because of a certificate warning, or declaring it fully trustworthy because the cryptographic signature is valid.
Example: valid integrity, expired certificate
Suppose a P7S opens successfully and the integrity result says the signature is valid, but the signer certificate expired last year.
What you can reasonably say from that alone is that the checked content matches the cryptographic signature and that the certificate is now outside its validity period.
What you cannot conclude from those two facts alone is whether the signature was created while the certificate was valid, whether a trusted timestamp proves that date, whether the certificate was later revoked, or whether a particular institution will accept the signature.
Those extra conclusions need extra evidence.
Example: valid integrity, incomplete chain
A P7S can include the signer certificate but omit an intermediate certificate. The cryptographic document signature may still verify, while chain building reports missing information.
The next step is not to alter the document. Preserve the signed container and obtain the required certificate-chain information from a reliable source or use the official validation process required for the document.
Do not download random certificate files from untrusted websites just to make a warning disappear.
Example: invalid integrity, apparently good certificate
The reverse can also happen. A signer certificate can look current and well formed, yet the signature does not match the content you supplied.
For a detached signature, first confirm that you selected the exact original file. For an attached signature, an integrity failure can indicate a damaged or invalid container. A good-looking certificate does not make an invalid content signature valid.
What to record when reporting a problem
If you need to send a verification problem to support or another organization, record the facts separately:
- attached or detached signature;
- whether the content-integrity check succeeded;
- signer subject and issuer;
- certificate validity dates;
- whether the chain was complete;
- whether revocation was checked or explicitly not checked;
- the exact warning text;
- the SHA-256 of the files if your process uses hashes.
Avoid vague statements such as “the signature is bad” when the actual issue is only an incomplete chain or an expired certificate.
Keep the scope of the tool in mind
P7S Universal Viewer is designed to help you inspect CMS/PKCS#7 signatures locally. It verifies signatures, shows signer and certificate information, handles attached and detached content and can extract embedded content.
It does not replace a qualified trust service, an organization’s acceptance policy, a revocation service or a legal assessment. Windows binaries are also not Authenticode signed, so verify ALMARFELD downloads from the official release and compare the published SHA-256 if you want an additional integrity check.
The key principle is simple: document integrity, certificate validity, chain trust, revocation and legal acceptance are related, but they are not the same result. Read each one for the question it actually answers.