aboutsummaryrefslogtreecommitdiffstats
path: root/sm/certpath.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2002-01-23 13:40:38 +0000
committerWerner Koch <[email protected]>2002-01-23 13:40:38 +0000
commitd9a4ccf94eabaca0981e0da9064160852fa31c02 (patch)
tree4bcb3d21e933fdf8c4bb7075a5fa12eb6132dfcd /sm/certpath.c
parent2002-01-22 Marcus Brinkmann <[email protected]> (diff)
downloadgnupg-d9a4ccf94eabaca0981e0da9064160852fa31c02.tar.gz
gnupg-d9a4ccf94eabaca0981e0da9064160852fa31c02.zip
* certpath.c (gpgsm_validate_path): Print the DN of a missing issuer.
* certdump.c (gpgsm_dump_string): New. (print_dn): Replaced by above.
Diffstat (limited to 'sm/certpath.c')
-rw-r--r--sm/certpath.c20
1 files changed, 18 insertions, 2 deletions
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;
}