mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-04-10 07:38:06 -05:00
Fix order of primes when Pageant adds an SSH-1 key.
In the SSH1_AGENTC_ADD_RSA_IDENTITY message, the multiplicative inverse integer is the inverse of the first prime mod the second one. In our notation, that means we should send iqmp, then q, then p, which is also how the Pageant server side expects to receive them. Unfortunately, we were sending iqmp, p, q instead, which I think must be a confusion resulting from the SSH 1.5 document naming the primes the other way round (and talking about the auxiliary value 'inverse of p mod q').
This commit is contained in:
parent
2259f3d335
commit
58379aa5ab
@ -1519,8 +1519,8 @@ int pageant_add_keyfile(Filename *filename, const char *passphrase,
|
||||
ssh1_write_bignum(request + reqlen,
|
||||
rkey->private_exponent);
|
||||
reqlen += ssh1_write_bignum(request + reqlen, rkey->iqmp);
|
||||
reqlen += ssh1_write_bignum(request + reqlen, rkey->p);
|
||||
reqlen += ssh1_write_bignum(request + reqlen, rkey->q);
|
||||
reqlen += ssh1_write_bignum(request + reqlen, rkey->p);
|
||||
PUT_32BIT(request + reqlen, clen);
|
||||
memcpy(request + reqlen + 4, rkey->comment, clen);
|
||||
reqlen += 4 + clen;
|
||||
|
Loading…
x
Reference in New Issue
Block a user