Zig
Zig
Get the Signer Details of a Signed Email
See more Email Object Examples
Demonstrates the read-only Chilkat Email.SignedBy property. If the email was received digitally signed, this contains the fields of the signer certificate's Subject Distinguished Name, for example: US, 94105, California, San Francisco, 100 Market Street, Northwind Research LLC, Engineering, Avery Morgan. The values appear without the attribute-name prefixes (C=, ST=, L=, O=, CN=). It is intended for display or diagnostics; use LastSignerCert when the certificate object itself is needed.
Background: Every certificate identifies its owner with a Subject Distinguished Name (Subject DN) — a structured set of fields like Country (
C), State (ST), Organization (O), and Common Name (CN). The CN is typically the person or entity the certificate was issued to. SignedBy gives you a human-readable rendering of that identity, which is handy for showing "who signed this?" without needing to parse the certificate yourself.Chilkat Zig Downloads
const std = @import("std");
const chilkat = @import("chilkat");
pub fn main(init: std.process.Init) !void {
const alloc = init.arena.allocator();
// Demonstrates the read-only Email.SignedBy property. If the email was received
// digitally signed, this contains the fields of the signer certificate's SubjectDN
// (without the C=, ST=, L=, O=, CN= attribute names).
const email = try chilkat.Email.init();
defer email.deinit();
email.loadEml("qa_data/eml/signed.eml") catch {
std.debug.print("{s}\n", .{try email.getLastErrorText(alloc)});
return;
};
if (email.getReceivedSigned()) {
std.debug.print("Signed by: {s}\n", .{try email.getSignedBy(alloc)});
} else {
std.debug.print("This email was not signed.\n", .{});
}
// Note: Paths such as "qa_data/..." are relative local filesystem paths,
// relative to the current working directory of the running application.
}