31 typedef struct sshkey Key;
33 #define types sshkey_types 34 #define fp_type sshkey_fp_type 35 #define fp_rep sshkey_fp_rep 37 #ifndef SSH_KEY_NO_DEFINE 38 #define key_new sshkey_new 39 #define key_free sshkey_free 40 #define key_equal_public sshkey_equal_public 41 #define key_equal sshkey_equal 42 #define key_type sshkey_type 43 #define key_cert_type sshkey_cert_type 44 #define key_ssh_name sshkey_ssh_name 45 #define key_ssh_name_plain sshkey_ssh_name_plain 46 #define key_type_from_name sshkey_type_from_name 47 #define key_ecdsa_nid_from_name sshkey_ecdsa_nid_from_name 48 #define key_type_is_cert sshkey_type_is_cert 49 #define key_size sshkey_size 50 #define key_ecdsa_bits_to_nid sshkey_ecdsa_bits_to_nid 51 #define key_ecdsa_key_to_nid sshkey_ecdsa_key_to_nid 52 #define key_is_cert sshkey_is_cert 53 #define key_type_plain sshkey_type_plain 54 #define key_curve_name_to_nid sshkey_curve_name_to_nid 55 #define key_curve_nid_to_bits sshkey_curve_nid_to_bits 56 #define key_curve_nid_to_name sshkey_curve_nid_to_name 57 #define key_ec_nid_to_hash_alg sshkey_ec_nid_to_hash_alg 58 #define key_dump_ec_point sshkey_dump_ec_point 59 #define key_dump_ec_key sshkey_dump_ec_key 62 void key_add_private(Key *);
63 Key *key_new_private(
int);
65 Key *key_demote(
const Key *);
66 int key_write(
const Key *, FILE *);
67 int key_read(Key *,
char **);
69 Key *key_generate(
int, u_int);
70 Key *key_from_private(
const Key *);
71 int key_to_certified(Key *);
72 int key_drop_cert(Key *);
73 int key_certify(Key *, Key *);
74 void key_cert_copy(
const Key *, Key *);
75 int key_cert_check_authority(
const Key *,
int,
int,
const char *,
78 #if defined(WITH_OPENSSL) && defined(OPENSSL_HAS_ECC) 79 int key_ec_validate_public(
const EC_GROUP *,
const EC_POINT *);
80 int key_ec_validate_private(
const EC_KEY *);
83 Key *key_from_blob(
const u_char *, u_int);
84 int key_to_blob(
const Key *, u_char **, u_int *);
86 int key_sign(
const Key *, u_char **, u_int *,
const u_char *, u_int,
88 int key_verify(
const Key *,
const u_char *, u_int,
const u_char *, u_int);
90 void key_private_serialize(
const Key *,
struct sshbuf *);
91 Key *key_private_deserialize(
struct sshbuf *);
94 int key_save_private(Key *,
const char *,
const char *,
const char *,
95 int,
const char *,
int);
96 int key_load_file(
int,
const char *,
struct sshbuf *);
97 Key *key_load_cert(
const char *);
98 Key *key_load_public(
const char *,
char **);
99 Key *key_load_private(
const char *,
const char *,
char **);
100 Key *key_load_private_cert(
int,
const char *,
const char *,
int *);
101 Key *key_load_private_type(
int,
const char *,
const char *,
char **,
int *);
102 int key_perm_ok(
int,
const char *);