The constants that indicate the status of the signature and signer information in a signed message.


enum CMSSignerStatus : UInt32


These are obtained using the CMSDecoderCopySignerStatus(_:_:_:_:_:_:_:) function.



case unsigned

The message was not signed.

case valid

The message was signed and both the signature and the signer certificate have been verified.

case needsDetachedContent

The message was signed but has detached content. You must call the CMSDecoderSetDetachedContent(_:_:) function before ascertaining the signature status.

case invalidSignature

The message was signed but the signature is invalid.

case invalidCert

The message was signed but the signer's certificate could not be verified.

case invalidIndex

The specified value for the signer index (signerIndex parameter) is greater than the number of signers of the message minus one (signerIndex > (numSigners – 1)).

See Also

Signature Verification

func CMSDecoderSetSearchKeychain(CMSDecoder, CFTypeRef) -> OSStatus

Specifies the keychains to search for intermediate certificates to be used in verifying a signed message's signer certificates.

func CMSDecoderCopySignerEmailAddress(CMSDecoder, Int, UnsafeMutablePointer<CFString?>) -> OSStatus

Obtains the email address of the specified signer of a CMS message.

func CMSDecoderCopySignerCert(CMSDecoder, Int, UnsafeMutablePointer<SecCertificate?>) -> OSStatus

Obtains the certificate of the specified signer of a CMS message.