diff options
Diffstat (limited to '')
-rw-r--r-- | sm/call-agent.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/sm/call-agent.c b/sm/call-agent.c index 47e45aba3..190931f42 100644 --- a/sm/call-agent.c +++ b/sm/call-agent.c @@ -875,13 +875,11 @@ learn_cb (void *opaque, const void *buffer, size_t length) return 0; } + /* We do not store a certifciate with missing issuers as ephemeral + because we can assume that the --learn-card command has been used + on purpose. */ rc = gpgsm_basic_cert_check (parm->ctrl, cert); - if (gpg_err_code (rc) == GPG_ERR_MISSING_CERT) - { /* 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) + if (rc && gpg_err_code (rc) != GPG_ERR_MISSING_CERT) log_error ("invalid certificate: %s\n", gpg_strerror (rc)); else { |