Zig
Zig
Examine the Contents of a .p7m by Converting to XML
Examines the contents of a .p7m signature by converting it to XML.Chilkat Zig Downloads
const std = @import("std");
const chilkat = @import("chilkat");
pub fn main(init: std.process.Init) !void {
const alloc = init.arena.allocator();
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
const asn = try chilkat.Asn.init();
defer asn.deinit();
asn.loadBinaryFile("qa_data/p7m/a.p7m") catch {
std.debug.print("{s}\n", .{try asn.getLastErrorText(alloc)});
return;
};
// Convert to XML.
const str_xml = try asn.asnToXml(alloc);
// 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..
const xml = try chilkat.Xml.init();
defer xml.deinit();
xml.loadXml(str_xml) catch {};
std.debug.print("{s}\n", .{try xml.getXml(alloc)});
xml.saveXml("qa_output/a.xml") catch {};
// -----------------------------------------------------------------------------------------
// Also see Chilkat's online tool to examine a .p7m and generate code to duplicate the .p7m
// -----------------------------------------------------------------------------------------
}