aboutsummaryrefslogtreecommitdiffstats
path: root/sm/call-agent.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--sm/call-agent.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sm/call-agent.c b/sm/call-agent.c
index 3a0d0763e..6cb2fb505 100644
--- a/sm/call-agent.c
+++ b/sm/call-agent.c
@@ -698,7 +698,12 @@ learn_cb (void *opaque, const void *buffer, size_t length)
}
rc = gpgsm_basic_cert_check (cert);
- if (rc)
+ if (rc == GNUPG_Missing_Certificate)
+ { /* For later use we store it in the ephemeral database. */
+ log_info ("issuer certificate missing - storing as ephemeral\n");
+ keydb_store_cert (cert, 1, NULL);
+ }
+ else if (rc)
log_error ("invalid certificate: %s\n", gnupg_strerror (rc));
else
{