X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/7cca0d811c4d1b5bb346cd60fdfa461a558aefec..d5859615f641e5bbd853cd42aafd4fa577da17eb:/ssh.h?ds=sidebyside diff --git a/ssh.h b/ssh.h index c3233fe9..6a49863e 100644 --- a/ssh.h +++ b/ssh.h @@ -36,6 +36,7 @@ struct RSAKey { Bignum exponent; Bignum private_exponent; #endif + char *comment; }; int makekey(unsigned char *data, struct RSAKey *result, @@ -47,6 +48,8 @@ void rsasign(unsigned char *data, int length, struct RSAKey *key); void rsasanitise(struct RSAKey *key); int rsastr_len(struct RSAKey *key); void rsastr_fmt(char *str, struct RSAKey *key); +void rsa_fingerprint(char *str, int len, struct RSAKey *key); +void freersakey(struct RSAKey *key); typedef unsigned int word32; typedef unsigned int uint32; @@ -120,8 +123,10 @@ struct ssh_kex { 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); char *name; + char *keytype; /* for host key cache */ }; struct ssh_compress { @@ -145,12 +150,16 @@ void modmul(Bignum a, Bignum b, Bignum mod, Bignum result); void decbn(Bignum n); extern Bignum Zero, One; int ssh1_read_bignum(unsigned char *data, Bignum *result); +int ssh1_bignum_bitcount(Bignum bn); +int ssh1_bignum_length(Bignum bn); +int bignum_byte(Bignum bn, int i); +int ssh1_write_bignum(void *data, Bignum bn); Bignum dh_create_e(void); Bignum dh_find_K(Bignum f); int loadrsakey(char *filename, struct RSAKey *key, char *passphrase); -int rsakey_encrypted(char *filename); +int rsakey_encrypted(char *filename, char **comment); void des3_decrypt_pubkey(unsigned char *key, - unsigned char *blk, int len); \ No newline at end of file + unsigned char *blk, int len);