Sample code for 30+ languages & platforms
Zig

Load a Public Key from a String

Demonstrates the Chilkat PublicKey.LoadFromString method, which loads a public key from a string. The only argument is the string. Chilkat examines the content and recognizes PEM public keys, unencrypted PEM private keys (taking only the public portion), XML, JWK, and more.

Background: This is the forgiving text loader: rather than requiring you to know the exact format, it inspects whatever string you provide and figures it out. A useful convenience is that it accepts an unencrypted private key too and keeps only the public half — handy when you have a key pair but need just the public key. Use it whenever the textual format is uncertain or varies by source.

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();

    // Demonstrates the PublicKey.LoadFromString method, which loads a public key from a string.  The
    // only argument is the string.  Chilkat examines the content and recognizes PEM public keys,
    // unencrypted PEM private keys (using only the public portion), XML, JWK, and more.

    const pub_key = try chilkat.PublicKey.init();
    defer pub_key.deinit();

    // The PEM text of a public key.
    const key_text = "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkq...IDAQAB\n-----END PUBLIC KEY-----";

    pub_key.loadFromString(key_text) catch {
        std.debug.print("{s}\n", .{try pub_key.getLastErrorText(alloc)});
        return;
    };

    std.debug.print("Loaded a {s} public key.\n", .{try pub_key.getKeyType(alloc)});
}