|
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 |
}
|