Sample code for 30+ languages & platforms
PureBasic

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 PureBasic Downloads

PureBasic
IncludeFile "CkMime.pb"

Procedure ChilkatExample()

    success.i = 0

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

    mime.i = CkMime::ckCreate()
    If mime.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkMime::ckLoadMimeFile(mime,"qa_data/message.eml")
    If success = 0
        Debug CkMime::ckLastErrorText(mime)
        CkMime::ckDispose(mime)
        ProcedureReturn
    EndIf

    If CkMime::ckContainsSignedParts(mime)
        Debug "The message tree contains a signed part."
    Else
        Debug "The message tree contains no signed part."
    EndIf



    CkMime::ckDispose(mime)


    ProcedureReturn
EndProcedure