Sample code for 30+ languages & platforms
Zig

Load a Private Key from PEM Text

See more Private Key Examples

Demonstrates the Chilkat PrivateKey.LoadPem method, which loads a private key from PEM text. The only argument is the PEM string. It has no password argument, so it cannot load an encrypted PEM — use LoadEncryptedPem for that.

Background: PEM is the Base64 text format (delimited by -----BEGIN----- lines) that most tooling uses for keys. This method is for the plain, unencrypted case where the key material sits in the clear inside the PEM — convenient, but it means the file itself is the only thing protecting the key. When the PEM is password-protected (a BEGIN ENCRYPTED PRIVATE KEY block or a legacy encrypted header), reach for the Encrypted loader instead.

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 PrivateKey.LoadPem method, which loads a private key from PEM text.  The only
    // argument is the PEM string.  This method has no password argument, so it cannot load an
    // encrypted PEM -- use LoadEncryptedPem for that.

    const priv_key = try chilkat.PrivateKey.init();
    defer priv_key.deinit();

    // The PEM text of an unencrypted private key.
    const pem_text = "-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkq...\n-----END PRIVATE KEY-----";

    priv_key.loadPem(pem_text) catch {
        std.debug.print("{s}\n", .{try priv_key.getLastErrorText(alloc)});
        return;
    };

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