-struct ssh_hostkey {
- void (*setkey)(char *data, int len);
- char *(*fmtkey)(void);
- char *(*fingerprint)(void);
- int (*verifysig)(char *sig, int siglen, char *data, int datalen);
+struct ssh_signkey {
+ void *(*newkey)(char *data, int len);
+ void (*freekey)(void *key);
+ char *(*fmtkey)(void *key);
+ unsigned char *(*public_blob)(void *key, int *len);
+ unsigned char *(*private_blob)(void *key, int *len);
+ void *(*createkey)(unsigned char *pub_blob, int pub_len,
+ unsigned char *priv_blob, int priv_len);
+ void *(*openssh_createkey)(unsigned char **blob, int *len);
+ char *(*fingerprint)(void *key);
+ int (*verifysig)(void *key, char *sig, int siglen,
+ char *data, int datalen);
+ unsigned char *(*sign)(void *key, char *data, int datalen, int *siglen);