mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-07-01 11:32:48 -05:00
Centralise SSH-2 key fingerprinting into sshpubk.c.
There were ad-hoc functions for fingerprinting a bare key blob in both cmdgen.c and pageant.c, not quite doing the same thing. Also, every SSH-2 public key algorithm in the code base included a dedicated fingerprint() method, which is completely pointless since SSH-2 key fingerprints are computed in an algorithm-independent way (just hash the standard-format public key blob), so each of those methods was just duplicating the work of the public_blob() method with a less general output mechanism. Now sshpubk.c centrally provides an ssh2_fingerprint_blob() function that does all the real work, plus an ssh2_fingerprint() function that wraps it and deals with calling public_blob() to get something to fingerprint. And the fingerprint() method has been completely removed from ssh_signkey and all its implementations, and good riddance.
This commit is contained in:
@ -753,9 +753,7 @@ void load_key_file(HWND hwnd, struct MainDlgState *state,
|
||||
|
||||
savecomment = state->ssh2key.comment;
|
||||
state->ssh2key.comment = NULL;
|
||||
fp =
|
||||
state->ssh2key.alg->
|
||||
fingerprint(state->ssh2key.data);
|
||||
fp = ssh2_fingerprint(state->ssh2key.alg, state->ssh2key.data);
|
||||
state->ssh2key.comment = savecomment;
|
||||
|
||||
SetDlgItemText(hwnd, IDC_FINGERPRINT, fp);
|
||||
@ -1395,7 +1393,7 @@ static int CALLBACK MainDlgProc(HWND hwnd, UINT msg,
|
||||
*state->commentptr = NULL;
|
||||
if (state->ssh2) {
|
||||
char *fp;
|
||||
fp = state->ssh2key.alg->fingerprint(state->ssh2key.data);
|
||||
fp = ssh2_fingerprint(state->ssh2key.alg, state->ssh2key.data);
|
||||
SetDlgItemText(hwnd, IDC_FINGERPRINT, fp);
|
||||
sfree(fp);
|
||||
} else {
|
||||
|
@ -297,7 +297,7 @@ void keylist_update(void)
|
||||
* nice alignment in the list box, until we encounter a :
|
||||
* meaning we're into the fingerprint proper.
|
||||
*/
|
||||
p = skey->alg->fingerprint(skey->data);
|
||||
p = ssh2_fingerprint(skey->alg, skey->data);
|
||||
listentry = dupprintf("%s\t%s", p, skey->comment);
|
||||
fp_len = strlen(listentry);
|
||||
sfree(p);
|
||||
|
Reference in New Issue
Block a user