int main(void) { ssh_key key = NULL; int rv; /* Generate a new ED25519 private key file */ rv = ssh_pki_generate(SSH_KEYTYPE_ED25519, 0, &key); if (rv != SSH_OK) { fprintf(stderr, "Failed to generate private key"); return -1; } /* Write it to a file testkey in the current dirrectory */ rv = ssh_pki_export_privkey_file(key, NULL, NULL, NULL, "testkey"); if (rv != SSH_OK) { fprintf(stderr, "Failed to write private key file"); return -1; } return 0; }
static void torture_pki_write_privkey_rsa(void **state) { ssh_key origkey; ssh_key privkey; int rc; (void) state; /* unused */ ssh_set_log_level(5); rc = ssh_pki_import_privkey_file(LIBSSH_RSA_TESTKEY, NULL, NULL, NULL, &origkey); assert_true(rc == 0); unlink(LIBSSH_RSA_TESTKEY); rc = ssh_pki_export_privkey_file(origkey, "", NULL, NULL, LIBSSH_RSA_TESTKEY); assert_true(rc == 0); rc = ssh_pki_import_privkey_file(LIBSSH_RSA_TESTKEY, NULL, NULL, NULL, &privkey); assert_true(rc == 0); rc = ssh_key_cmp(origkey, privkey, SSH_KEY_CMP_PRIVATE); assert_true(rc == 0); ssh_key_free(origkey); ssh_key_free(privkey); }