Zig
Zig
Serialize a PFX to BinData
See more PFX/P12 Examples
Demonstrates Pfx.ToBd, which serializes the current PFX contents as PKCS#12 data into a BinData object, using the supplied output password.
Background. This is the in-memory equivalent of ToFile, producing the PKCS#12 bytes for further processing or transport.
Chilkat Zig Downloads
const std = @import("std");
const chilkat = @import("chilkat");
pub fn main(init: std.process.Init) !void {
const alloc = init.arena.allocator();
const pfx = try chilkat.Pfx.init();
defer pfx.deinit();
// The file path is relative to the application's current working directory. An absolute path
// may also be used. Supply the path appropriate to your own environment.
// The PFX password should come from a secure source rather than being hard-coded.
const password = "myPfxPassword";
pfx.loadPfxFile("qa_data/identity.pfx", password) catch {
std.debug.print("{s}\n", .{try pfx.getLastErrorText(alloc)});
return;
};
// Serialize the PFX contents as PKCS#12 data into a BinData, using the given output password.
const output_password = "myOutputPassword";
const bd = try chilkat.BinData.init();
defer bd.deinit();
pfx.toBd(output_password, bd) catch {
std.debug.print("{s}\n", .{try pfx.getLastErrorText(alloc)});
return;
};
std.debug.print("Serialized {d} bytes of PKCS#12 data.\n", .{bd.getNumBytes()});
}