- void *(*newkey)(char *data, int len);
- void (*freekey)(void *key);
- char *(*fmtkey)(void *key);
- char *(*fingerprint)(void *key);
- int (*verifysig)(void *key, char *sig, int siglen,
- char *data, int datalen);
- int (*sign)(void *key, char *sig, int siglen,
- char *data, int datalen);
+ 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);
+ int (*openssh_fmtkey) (void *key, 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);