diff options
| author | Werner Koch <[email protected]> | 2004-02-13 17:06:50 +0000 |
|---|---|---|
| committer | Werner Koch <[email protected]> | 2004-02-13 17:06:50 +0000 |
| commit | 01486117e893f1a57460297937e6f6ff03fe6359 (patch) | |
| tree | 18287194edd8a6b448d8d1841f154344bdf995ea /sm/decrypt.c | |
| parent | * command.c (cmd_setkeydesc): New. (diff) | |
| download | gnupg-01486117e893f1a57460297937e6f6ff03fe6359.tar.gz gnupg-01486117e893f1a57460297937e6f6ff03fe6359.zip | |
* certcheck.c (gpgsm_create_cms_signature): Format a description
for use by the pinentry.
* decrypt.c (gpgsm_decrypt): Ditto. Free HEXKEYGRIP.
* certdump.c (format_name_cookie, format_name_writer)
(gpgsm_format_name): New.
(gpgsm_format_serial): New.
(gpgsm_format_keydesc): New.
* call-agent.c (gpgsm_agent_pksign): New arg DESC.
(gpgsm_agent_pkdecrypt): Ditto.
Diffstat (limited to 'sm/decrypt.c')
| -rw-r--r-- | sm/decrypt.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/sm/decrypt.c b/sm/decrypt.c index 427466a49..76524b51f 100644 --- a/sm/decrypt.c +++ b/sm/decrypt.c @@ -54,14 +54,15 @@ struct decrypt_filter_parm_s { /* Decrypt the session key and fill in the parm structure. The algo and the IV is expected to be already in PARM. */ static int -prepare_decryption (const char *hexkeygrip, ksba_const_sexp_t enc_val, +prepare_decryption (const char *hexkeygrip, const char *desc, + ksba_const_sexp_t enc_val, struct decrypt_filter_parm_s *parm) { char *seskey = NULL; size_t n, seskeylen; int rc; - rc = gpgsm_agent_pkdecrypt (hexkeygrip, enc_val, + rc = gpgsm_agent_pkdecrypt (hexkeygrip, desc, enc_val, &seskey, &seskeylen); if (rc) { @@ -356,6 +357,7 @@ gpgsm_decrypt (CTRL ctrl, int in_fd, FILE *out_fp) ksba_sexp_t serial; ksba_sexp_t enc_val; char *hexkeygrip = NULL; + char *desc = NULL; rc = ksba_cms_get_issuer_serial (cms, recp, &issuer, &serial); if (rc == -1 && recp) @@ -402,6 +404,7 @@ gpgsm_decrypt (CTRL ctrl, int in_fd, FILE *out_fp) } hexkeygrip = gpgsm_get_keygrip_hexstring (cert); + desc = gpgsm_format_keydesc (cert); oops: xfree (issuer); @@ -416,12 +419,12 @@ gpgsm_decrypt (CTRL ctrl, int in_fd, FILE *out_fp) recp); else { - rc = prepare_decryption (hexkeygrip, enc_val, &dfparm); + rc = prepare_decryption (hexkeygrip, desc, enc_val, &dfparm); xfree (enc_val); if (rc) { - log_debug ("decrypting session key failed: %s\n", - gpg_strerror (rc)); + log_info ("decrypting session key failed: %s\n", + gpg_strerror (rc)); } else { /* setup the bulk decrypter */ @@ -431,6 +434,8 @@ gpgsm_decrypt (CTRL ctrl, int in_fd, FILE *out_fp) &dfparm); } } + xfree (hexkeygrip); + xfree (desc); } if (!any_key) { |
