Sample code for 30+ languages & platforms
Zig

Get Certificate Policy

See more Certificates Examples

Demonstrates how to get a certificate's policy OIDs (if any)

Chilkat Zig Downloads

Zig
const std = @import("std");
const chilkat = @import("chilkat");

pub fn main(init: std.process.Init) !void {
    const alloc = init.arena.allocator();

    const cert = try chilkat.Cert.init();
    defer cert.deinit();

    cert.loadFromFile("qa_data/certs/sample.cer") catch {
        std.debug.print("{s}\n", .{try cert.getLastErrorText(alloc)});
        return;
    };

    // The certificatePolicies OID is 2.5.29.32
    const oid = "2.5.29.32";
    if (cert.getExtensionAsXml(alloc, oid)) |str_xml| {
        std.debug.print("{s}\n", .{str_xml});

        // Sample result:
        // <sequence><sequence><oid>2.16.840.1.101.2.1.11.39</oid></sequence></sequence>

        const xml = try chilkat.Xml.init();
        defer xml.deinit();
        xml.loadXml(str_xml) catch {};
        std.debug.print("Policy OID = {s}\n", .{try xml.getChildContent(alloc, "sequence|oid")});
    } else |_| {}
}