mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-06-30 19:12:48 -05:00
Factor out get_rsa_ssh1_priv_agent from Pageant.
The code that reads an SSH1_AGENTC_ADD_RSA_IDENTITY message and parses an RSA private key out of it now does it by calling a BinarySource function in sshrsa.c, instead of doing inline in the Pageant message handler. This has no functional change, except that now I can expose that separate function in the testcrypt API, where it provides me with a mechanism for creating a bare RSAKey structure for purposes of testing RSA key exchange.
This commit is contained in:
14
pageant.c
14
pageant.c
@ -379,19 +379,7 @@ void pageant_handle_msg(BinarySink *bs,
|
||||
|
||||
plog(logctx, logfn, "request: SSH1_AGENTC_ADD_RSA_IDENTITY");
|
||||
|
||||
key = snew(RSAKey);
|
||||
memset(key, 0, sizeof(RSAKey));
|
||||
|
||||
get_rsa_ssh1_pub(msg, key, RSA_SSH1_MODULUS_FIRST);
|
||||
get_rsa_ssh1_priv(msg, key);
|
||||
|
||||
/* SSH-1 names p and q the other way round, i.e. we have
|
||||
* the inverse of p mod q and not of q mod p. We swap the
|
||||
* names, because our internal RSA wants iqmp. */
|
||||
key->iqmp = get_mp_ssh1(msg);
|
||||
key->q = get_mp_ssh1(msg);
|
||||
key->p = get_mp_ssh1(msg);
|
||||
|
||||
key = get_rsa_ssh1_priv_agent(msg);
|
||||
key->comment = mkstr(get_string(msg));
|
||||
|
||||
if (get_err(msg)) {
|
||||
|
Reference in New Issue
Block a user