diff options
Diffstat (limited to '')
-rw-r--r-- | sm/certpath.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sm/certpath.c b/sm/certpath.c index 0b2d8b4fc..01696fc27 100644 --- a/sm/certpath.c +++ b/sm/certpath.c @@ -308,7 +308,7 @@ gpgsm_is_root_cert (KsbaCert cert) /* Validate a path and optionally return the nearest expiration time in R_EXPTIME */ int -gpgsm_validate_path (KsbaCert cert, time_t *r_exptime) +gpgsm_validate_path (CTRL ctrl, KsbaCert cert, time_t *r_exptime) { int rc = 0, depth = 0, maxdepth; char *issuer = NULL; @@ -551,6 +551,14 @@ gpgsm_validate_path (KsbaCert cert, time_t *r_exptime) } } + rc = gpgsm_cert_use_cert_p (issuer_cert); + if (rc) + { + gpgsm_status2 (ctrl, STATUS_ERROR, "certpath.issuer.keyusage", + gnupg_error_token (rc), NULL); + rc = 0; + } + if (opt.verbose) log_info ("certificate is good\n"); |