24 #define RSA_HEADER_BEGIN "-----BEGIN RSA PRIVATE KEY-----" 25 #define RSA_HEADER_END "-----END RSA PRIVATE KEY-----" 26 #define DSA_HEADER_BEGIN "-----BEGIN DSA PRIVATE KEY-----" 27 #define DSA_HEADER_END "-----END DSA PRIVATE KEY-----" 28 #define ECDSA_HEADER_BEGIN "-----BEGIN EC PRIVATE KEY-----" 29 #define ECDSA_HEADER_END "-----END EC PRIVATE KEY-----" 31 #define ssh_pki_log(...) \ 32 _ssh_pki_log(__extension__ __FUNCTION__, __VA_ARGS__) 33 void _ssh_pki_log(
const char *
function,
34 const char *format, ...) PRINTF_ATTRIBUTE(2, 3);
36 int pki_key_ecdsa_nid_from_name(const
char *name);
39 ssh_key pki_key_dup(const ssh_key key,
int demote);
40 int pki_key_generate_rsa(ssh_key key,
int parameter);
41 int pki_key_generate_dss(ssh_key key,
int parameter);
42 int pki_key_generate_ecdsa(ssh_key key,
int parameter);
43 int pki_key_compare(const ssh_key k1,
45 enum ssh_keycmp_e what);
48 enum ssh_keytypes_e pki_privatekey_type_from_string(const
char *privkey);
49 ssh_key pki_private_key_from_base64(const
char *b64_key,
50 const
char *passphrase,
51 ssh_auth_callback auth_fn,
54 ssh_string pki_private_key_to_pem(const ssh_key key,
55 const
char *passphrase,
56 ssh_auth_callback auth_fn,
60 int pki_pubkey_build_dss(ssh_key key,
65 int pki_pubkey_build_rsa(ssh_key key,
68 int pki_pubkey_build_ecdsa(ssh_key key,
int nid, ssh_string e);
69 ssh_string pki_publickey_to_blob(const ssh_key key);
70 int pki_export_pubkey_rsa1(const ssh_key key,
76 ssh_string pki_signature_to_blob(const ssh_signature sign);
77 ssh_signature pki_signature_from_blob(const ssh_key pubkey,
78 const ssh_string sig_blob,
79 enum ssh_keytypes_e type);
80 int pki_signature_verify(ssh_session session,
81 const ssh_signature sig,
83 const
unsigned char *hash,
87 ssh_signature pki_do_sign(const ssh_key privkey,
88 const
unsigned char *hash,
90 ssh_signature pki_do_sign_sessionid(const ssh_key key,
91 const
unsigned char *hash,