X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=ssh.h;h=7857f15294ed10e364769682c6d50d3bec503c7f;hb=46803abdbe7a1dc1e4de5084c334ce4d7e05a790;hp=2edfa47a4c54c232c27e4841c43d7a9646139bd0;hpb=b49fde94104eef45db3e851346021a21c8098143;p=PuTTY.git diff --git a/ssh.h b/ssh.h index 2edfa47a..7857f152 100644 --- a/ssh.h +++ b/ssh.h @@ -64,12 +64,18 @@ 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); +unsigned char *rsa_public_blob(struct RSAKey *key, int *len); +int rsa_public_blob_len(void *data); void freersakey(struct RSAKey *key); typedef unsigned int word32; typedef unsigned int uint32; unsigned long crc32(const void *s, size_t len); +unsigned long crc32_update(unsigned long crc_input, const void *s, size_t len); + +/* SSH CRC compensation attack detector */ +int detect_attack(unsigned char *buf, uint32 len, unsigned char *IV); typedef struct { uint32 h[4]; @@ -274,6 +280,7 @@ Bignum dh_find_K(Bignum f); int loadrsakey(char *filename, struct RSAKey *key, char *passphrase); int rsakey_encrypted(char *filename, char **comment); +int rsakey_pubblob(char *filename, void **blob, int *bloblen); int saversakey(char *filename, struct RSAKey *key, char *passphrase); @@ -355,3 +362,9 @@ int zlib_decompress_block(unsigned char *block, int len, #define SSH2_AGENTC_ADD_IDENTITY 17 #define SSH2_AGENTC_REMOVE_IDENTITY 18 #define SSH2_AGENTC_REMOVE_ALL_IDENTITIES 19 + +/* + * Need this to warn about support for the original SSH2 keyfile + * format. + */ +void old_keyfile_warning(void);