Sample code for 30+ languages & platforms
Xbase++

Check if a MIME Tree Contains Signed Parts

See more MIME Examples

Demonstrates the Chilkat Mime.ContainsSignedParts method, which returns whether the currently visible MIME tree contains a complete detached or opaque CMS/PKCS #7 signed entity. It takes no arguments.

Note: The file path is relative to the application's current working directory. Absolute paths may also be used. Supply the path to your own file.

Background: Where IsSigned asks whether the top entity is a signature wrapper, this scans the whole tree for a signed part nested anywhere inside — useful when signing is applied to a sub-part rather than the outermost entity. It is the discovery step before deciding whether verification is needed.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oMime

nSuccess := 0

//  Demonstrates the Mime.ContainsSignedParts method, which returns whether the MIME tree contains a complete CMS/PKCS #7 signed entity.  It takes no arguments.

oMime := CreateObject("Chilkat.Mime")
nSuccess := oMime:LoadMimeFile("qa_data/message.eml")
IF (nSuccess == 0)
    ? oMime:LastErrorText
    oMime:destroy()
    RETURN
ENDIF

IF (oMime:ContainsSignedParts())
    ? "The message tree contains a signed part."
ELSE
    ? "The message tree contains no signed part."
ENDIF

oMime:destroy()