Blame examples/keygen.c

Packit Service 31306d
/* keygen.c
Packit Service 31306d
 * Sample implementation of ssh-keygen using libssh
Packit Service 31306d
 */
Packit Service 31306d
Packit Service 31306d
/*
Packit Service 31306d
Copyright 2019 Red Hat, Inc.
Packit Service 31306d
Packit Service 31306d
Author: Jakub Jelen <jjelen@redhat.com>
Packit Service 31306d
Packit Service 31306d
This file is part of the SSH Library
Packit Service 31306d
Packit Service 31306d
You are free to copy this file, modify it in any way, consider it being public
Packit Service 31306d
domain. This does not apply to the rest of the library though, but it is
Packit Service 31306d
allowed to cut-and-paste working code from this file to any license of
Packit Service 31306d
program.
Packit Service 31306d
 */
Packit Service 31306d
Packit Service 31306d
#include <libssh/libssh.h>
Packit Service 31306d
#include <stdio.h>
Packit Service 31306d
Packit Service 31306d
int main(void)
Packit Service 31306d
{
Packit Service 31306d
    ssh_key key = NULL;
Packit Service 31306d
    int rv;
Packit Service 31306d
Packit Service 31306d
    /* Generate a new ED25519 private key file */
Packit Service 31306d
    rv = ssh_pki_generate(SSH_KEYTYPE_ED25519, 0, &key);
Packit Service 31306d
    if (rv != SSH_OK) {
Packit Service 31306d
        fprintf(stderr, "Failed to generate private key");
Packit Service 31306d
	return -1;
Packit Service 31306d
    }
Packit Service 31306d
Packit Service 31306d
    /* Write it to a file testkey in the current dirrectory */
Packit Service 31306d
    rv = ssh_pki_export_privkey_file(key, NULL, NULL, NULL, "testkey");
Packit Service 31306d
    if (rv != SSH_OK) {
Packit Service 31306d
        fprintf(stderr, "Failed to write private key file");
Packit Service 31306d
	return -1;
Packit Service 31306d
    }
Packit Service 31306d
Packit Service 31306d
    return 0;
Packit Service 31306d
}