diff options
author | Werner Koch <[email protected]> | 2001-11-20 18:28:53 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2001-11-20 18:28:53 +0000 |
commit | aa4f78a45aa436a2d451d2155bac214ce9c1ac61 (patch) | |
tree | bf34e0984c2b42039756248a558ca315b640c18d /sm/certcheck.c | |
parent | * assuan.h: Prototype assuan_pipe_connect and assuan_pipe_disconnect. (diff) | |
download | gnupg-aa4f78a45aa436a2d451d2155bac214ce9c1ac61.tar.gz gnupg-aa4f78a45aa436a2d451d2155bac214ce9c1ac61.zip |
Map Libksba's OIDs to Libgcrypt digest algo numbers.
The latest Libgcrypt CVS version is needed.
Diffstat (limited to 'sm/certcheck.c')
-rw-r--r-- | sm/certcheck.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/sm/certcheck.c b/sm/certcheck.c index 8a9c2c2b2..0e609a2df 100644 --- a/sm/certcheck.c +++ b/sm/certcheck.c @@ -103,13 +103,19 @@ do_encode_md (GCRY_MD_HD md, int algo, unsigned int nbits, int gpgsm_check_cert_sig (KsbaCert issuer_cert, KsbaCert cert) { + const char *algoid; GCRY_MD_HD md; int rc, algo; GCRY_MPI frame; char *p; GCRY_SEXP s_sig, s_hash, s_pkey; - algo = ksba_cert_get_digest_algo (cert); + algo = gcry_md_map_name ( (algoid=ksba_cert_get_digest_algo (cert))); + if (!algo) + { + log_error ("unknown hash algorithm `%s'\n", algoid? algoid:"?"); + return GPGSM_General_Error; + } md = gcry_md_open (algo, 0); if (!md) { |