Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
SignatureVerificationResult Enumeration
Collapse the table of content
Expand the table of content

SignatureVerificationResult Enumeration

Specifies most of the result codes for signature verification.

Namespace:  System.Security.Cryptography
Assembly:  System.Core (in System.Core.dll)

public enum SignatureVerificationResult

Member nameDescription
AssemblyIdentityMismatchThe identity of the assembly specified in the /asm:assembly/asm:assemblyIdentity node of the manifest does not match the identity of the assembly in the Authenticode signature in the /asm:assembly/ds:signature/ds:KeyInfo/msrel:RelData/r:license/r:grant/as:ManifestInformation/as:assemblyIdentity node.
BadDigestThe digital signature of the object did not verify.
BadSignatureFormatThe signature format is invalid.
BasicConstraintsNotObservedThe basic constraint extension of a certificate has not been observed.
CertificateExpiredThe certificate has expired.
CertificateExplicitlyDistrustedThe certificate was explicitly marked as not trusted by the user.
CertificateMalformedThe certificate is missing or has an empty value for an important field, such as a subject or issuer name.
CertificateNotExplicitlyTrustedThe certificate is not trusted explicitly.
CertificateRevokedThe certificate has been revoked.
CertificateUsageNotAllowedThe certificate cannot be used for signing and verification.
ContainingSignatureInvalidThe strong name signature does not verify in the AuthenticodeSignatureInformation object. Because the strong name signature wraps the Authenticode signature, someone could replace the Authenticode signature with a signature of their choosing. To prevent this, this error code is returned if the strong name does not verify because substituting a part of the strong name signature will invalidate it.
CouldNotBuildChainThe chain could not be built.
GenericTrustFailureThere is a general trust failure with the certificate.
InvalidCertificateNameThe certificate has an invalid name. The name is either not included in the permitted list or is explicitly excluded.
InvalidCertificatePolicyThe certificate has an invalid policy.
InvalidCertificateRoleThe certificate has an invalid role.
InvalidCertificateSignatureThe signature of the certificate cannot be verified.
InvalidCertificateUsageThe certificate has an invalid usage.
InvalidCountersignatureOne of the counter signatures is invalid.
InvalidSignerCertificateThe certificate for the signer of the message is invalid or not found.
InvalidTimePeriodNestingA certificate was issued after the issuing certificate has expired.
InvalidTimestampThe time stamp signature or certificate could not be verified or is malformed.
IssuerChainingErrorA parent of a given certificate did not issue that child certificate.
MissingSignatureThe signature is missing.
PathLengthConstraintViolatedA path length constraint in the certification chain has been violated.
PublicKeyTokenMismatchThe public key token from the manifest identity in the /asm:assembly/asm:AssemblyIdentity node does not match the public key token of the key that is used to sign the manifest.
PublisherMismatchThe publisher name from /asm:assembly/asmv2:publisherIdentity does not match the subject name of the signing certificate, or the issuer key hash from the same publisherIdentity node does not match the key hash of the signing certificate.
RevocationCheckFailureThe revocation check failed.
SystemErrorA system-level error occurred while verifying trust.
UnknownCriticalExtensionA certificate contains an unknown extension that is marked critical.
UnknownTrustProviderThe certificate has an unknown trust provider.
UnknownVerificationActionThe certificate has an unknown verification action.
UntrustedCertificationAuthorityThe certification chain processed correctly, but one of the CA certificates is not trusted by the policy provider.
UntrustedRootCertificateThe root certificate is not trusted.
UntrustedTestRootCertificateThe test root certificate is not trusted.
ValidThe certificate verification result is valid.

A successful verification returns the Valid result.

HRESULT values are generally returned by the unmanaged Microsoft Cryptographic API (CAPI); the other values are set by managed verification. This enumeration is not comprehensive of all possible HRESULT values and is subject to change.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
© 2015 Microsoft