Sample code for 30+ languages & platforms
Xbase++

Examine the Contents of a .p7m by Converting to XML

Examines the contents of a .p7m signature by converting it to XML.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oAsn
LOCAL cStrXml
LOCAL oXml

nSuccess := 0

//  This example requires the Chilkat API to have been previously unlocked.
//  See Global Unlock Sample for sample code.

oAsn := CreateObject("Chilkat.Asn")

nSuccess := oAsn:LoadBinaryFile("qa_data/p7m/a.p7m")
IF (nSuccess != 1)
    ? oAsn:LastErrorText
    oAsn:destroy()
    RETURN
ENDIF

//  Convert to XML.
cStrXml := oAsn:AsnToXml()

//  The XML returned by AsnToXml will be compact.
//  To get the XML indented in human-readable form, load
//  into the Chilkat XML object and emit..
oXml := CreateObject("Chilkat.Xml")
oXml:LoadXml(cStrXml)

? oXml:GetXml()
oXml:SaveXml("qa_output/a.xml")

//  -----------------------------------------------------------------------------------------
//  Also see Chilkat's online tool to examine a .p7m and generate code to duplicate the .p7m
//  -----------------------------------------------------------------------------------------

oAsn:destroy()
oXml:destroy()