Sample code for 30+ languages & platforms
Unicode C

Examine the Contents of a .p7m by Converting to XML

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

Chilkat Unicode C Downloads

Unicode C
#include <C_CkAsnW.h>
#include <C_CkXmlW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkAsnW asn;
    const wchar_t *strXml;
    HCkXmlW xml;

    success = FALSE;

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

    asn = CkAsnW_Create();

    success = CkAsnW_LoadBinaryFile(asn,L"qa_data/p7m/a.p7m");
    if (success != TRUE) {
        wprintf(L"%s\n",CkAsnW_lastErrorText(asn));
        CkAsnW_Dispose(asn);
        return;
    }

    //  Convert to XML.
    strXml = CkAsnW_asnToXml(asn);

    //  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..
    xml = CkXmlW_Create();
    CkXmlW_LoadXml(xml,strXml);

    wprintf(L"%s\n",CkXmlW_getXml(xml));
    CkXmlW_SaveXml(xml,L"qa_output/a.xml");

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


    CkAsnW_Dispose(asn);
    CkXmlW_Dispose(xml);

    }