From d9a4ccf94eabaca0981e0da9064160852fa31c02 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Wed, 23 Jan 2002 13:40:38 +0000 Subject: * certpath.c (gpgsm_validate_path): Print the DN of a missing issuer. * certdump.c (gpgsm_dump_string): New. (print_dn): Replaced by above. --- sm/certpath.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'sm/certpath.c') diff --git a/sm/certpath.c b/sm/certpath.c index f155cfb2d..9ef862643 100644 --- a/sm/certpath.c +++ b/sm/certpath.c @@ -38,7 +38,9 @@ static int unknown_criticals (KsbaCert cert) { static const char *known[] = { + "2.5.29.15", /* keyUsage */ "2.5.29.19", /* basic Constraints */ + "2.5.29.32", /* certificatePolicies */ NULL }; int rc = 0, i, idx, crit; @@ -232,7 +234,14 @@ gpgsm_validate_path (KsbaCert cert) rc = keydb_search_subject (kh, issuer); if (rc) { - log_error ("failed to find issuer's certificate: rc=%d\n", rc); + if (rc == -1) + { + log_info ("issuer certificate ("); + gpgsm_dump_string (issuer); + log_printf (") not found\n"); + } + else + log_error ("failed to find issuer's certificate: rc=%d\n", rc); rc = GNUPG_Missing_Certificate; goto leave; } @@ -340,7 +349,14 @@ gpgsm_basic_cert_check (KsbaCert cert) rc = keydb_search_subject (kh, issuer); if (rc) { - log_error ("failed to find issuer's certificate: rc=%d\n", rc); + if (rc == -1) + { + log_info ("issuer certificate ("); + gpgsm_dump_string (issuer); + log_printf (") not found\n"); + } + else + log_error ("failed to find issuer's certificate: rc=%d\n", rc); rc = GNUPG_Missing_Certificate; goto leave; } -- cgit v1.2.3