int rsastr_len(struct RSAKey *key);
void rsastr_fmt(char *str, struct RSAKey *key);
void rsa_fingerprint(char *str, int len, struct RSAKey *key);
+int rsa_verify(struct RSAKey *key);
void freersakey(struct RSAKey *key);
typedef unsigned int word32;
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);
void (*decompress_init)(void);
int (*decompress)(unsigned char *block, int len,
unsigned char **outblock, int *outlen);
+ int (*disable_compression)(void);
};
struct ssh2_userkey {
extern const struct ssh_mac ssh_sha1;
extern const struct ssh_mac ssh_sha1_buggy;
+/*
+ * PuTTY version number formatted as an SSH version string.
+ */
+extern char sshver[];
+
#ifndef MSCRYPTOAPI
void SHATransform(word32 *digest, word32 *data);
#endif
extern Bignum Zero, One;
Bignum bignum_from_bytes(unsigned char *data, int nbytes);
int ssh1_read_bignum(unsigned char *data, Bignum *result);
-int ssh1_bignum_bitcount(Bignum bn);
+int bignum_bitcount(Bignum bn);
int ssh1_bignum_length(Bignum bn);
int bignum_byte(Bignum bn, int i);
int bignum_bit(Bignum bn, int i);
void dh_setup_group1(void);
void dh_setup_group(Bignum pval, Bignum gval);
void dh_cleanup(void);
-Bignum dh_create_e(void);
+Bignum dh_create_e(int nbits);
Bignum dh_find_K(Bignum f);
int loadrsakey(char *filename, struct RSAKey *key, char *passphrase);