diff options
author | Werner Koch <[email protected]> | 2010-08-31 15:58:39 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2010-08-31 15:58:39 +0000 |
commit | 87fac9911241310a4b601e126fa2e26b10bd370f (patch) | |
tree | 49e09cc881b44a1dba0e9474040cda1d5f9ce581 /agent/findkey.c | |
parent | Fix for W32. (diff) | |
download | gnupg-87fac9911241310a4b601e126fa2e26b10bd370f.tar.gz gnupg-87fac9911241310a4b601e126fa2e26b10bd370f.zip |
Import OpenPGP keys into the agent.
Diffstat (limited to 'agent/findkey.c')
-rw-r--r-- | agent/findkey.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/agent/findkey.c b/agent/findkey.c index 5668aafbc..76221119e 100644 --- a/agent/findkey.c +++ b/agent/findkey.c @@ -702,7 +702,8 @@ key_parms_from_sexp (gcry_sexp_t s_key, gcry_sexp_t *r_list, } -/* Return true if S_KEY is a DSA style key. */ +/* Return the public key algorithm number if S_KEY is a DSA style key. + If it is not a DSA style key, return 0. */ int agent_is_dsa_key (gcry_sexp_t s_key) { @@ -714,7 +715,12 @@ agent_is_dsa_key (gcry_sexp_t s_key) if (key_parms_from_sexp (s_key, NULL, algoname, sizeof algoname, NULL, 0)) return 0; /* Error - assume it is not an DSA key. */ - return (!strcmp (algoname, "dsa") || !strcmp (algoname, "ecdsa")); + if (!strcmp (algoname, "dsa")) + return GCRY_PK_DSA; + else if (!strcmp (algoname, "ecdsa")) + return GCRY_PK_ECDSA; + else + return 0; } |