aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--g10/encr-data.c10
-rw-r--r--g10/mainproc.c11
2 files changed, 11 insertions, 10 deletions
diff --git a/g10/encr-data.c b/g10/encr-data.c
index a591bebf7..8d277ce2e 100644
--- a/g10/encr-data.c
+++ b/g10/encr-data.c
@@ -100,6 +100,16 @@ decrypt_data( void *procctx, PKT_encrypted *ed, DEK *dek )
write_status_text (STATUS_DECRYPTION_INFO, buf);
}
+ if (opt.show_session_key)
+ {
+ char *buf = xmalloc (dek->keylen*2 + 20);
+ sprintf (buf, "%d:", dek->algo);
+ for (i=0; i < dek->keylen; i++ )
+ sprintf(buf+strlen(buf), "%02X", dek->key[i] );
+ log_info ("session key: `%s'\n", buf);
+ write_status_text (STATUS_SESSION_KEY, buf);
+ }
+
if( (rc=check_cipher_algo(dek->algo)) )
goto leave;
blocksize = cipher_get_blocksize(dek->algo);
diff --git a/g10/mainproc.c b/g10/mainproc.c
index d03a9a700..5b6d8db04 100644
--- a/g10/mainproc.c
+++ b/g10/mainproc.c
@@ -587,6 +587,7 @@ proc_encrypted( CTX c, PACKET *pkt )
}
else if( !c->dek )
result = G10ERR_NO_SECKEY;
+
if( !result )
result = decrypt_data( c, pkt->pkt.encrypted, c->dek );
@@ -600,16 +601,6 @@ proc_encrypted( CTX c, PACKET *pkt )
write_status( STATUS_GOODMDC );
else if(!opt.no_mdc_warn)
log_info (_("WARNING: message was not integrity protected\n"));
- if(opt.show_session_key)
- {
- int i;
- char *buf = xmalloc ( c->dek->keylen*2 + 20 );
- sprintf ( buf, "%d:", c->dek->algo );
- for(i=0; i < c->dek->keylen; i++ )
- sprintf(buf+strlen(buf), "%02X", c->dek->key[i] );
- log_info( "session key: `%s'\n", buf );
- write_status_text ( STATUS_SESSION_KEY, buf );
- }
}
else if( result == G10ERR_BAD_SIGN ) {
log_error(_("WARNING: encrypted message has been manipulated!\n"));