diff options
author | David Shaw <[email protected]> | 2012-02-01 02:30:05 +0000 |
---|---|---|
committer | David Shaw <[email protected]> | 2012-02-01 02:41:03 +0000 |
commit | 258192d4d453e27c4c54dbeefaae901ef94b5f4b (patch) | |
tree | aeb99ab6bac8586777e4c1da64b5b67d196e606f | |
parent | Update copyright year. (diff) | |
download | gnupg-258192d4d453e27c4c54dbeefaae901ef94b5f4b.tar.gz gnupg-258192d4d453e27c4c54dbeefaae901ef94b5f4b.zip |
Honor --cert-digest-algo when recreating a cert.
* g10/sign.c (update_keysig_packet): Honor --cert-digest-algo when
recreating a cert.
This is used by various things in --edit-key like setpref, primary,
etc. Suggested by Christian Aistleitner.
-rw-r--r-- | g10/sign.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/g10/sign.c b/g10/sign.c index 94e107cf2..8d280ed85 100644 --- a/g10/sign.c +++ b/g10/sign.c @@ -1,6 +1,6 @@ /* sign.c - sign data * Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, - * 2007 Free Software Foundation, Inc. + * 2007, 2010, 2012 Free Software Foundation, Inc. * * This file is part of GnuPG. * @@ -1504,7 +1504,7 @@ update_keysig_packet( PKT_signature **ret_sig, void *opaque ) { PKT_signature *sig; - int rc=0; + int rc=0, digest_algo; gcry_md_hd_t md; if ((!orig_sig || !pk || !sk) @@ -1512,6 +1512,11 @@ update_keysig_packet( PKT_signature **ret_sig, || (orig_sig->sig_class == 0x18 && !subpk)) return G10ERR_GENERAL; + if ( opt.cert_digest_algo ) + digest_algo = opt.cert_digest_algo; + else + digest_algo = orig_sig->digest_algo; + if ( gcry_md_open (&md, orig_sig->digest_algo, 0 ) ) BUG (); |