1
0
mirror of git://git.gnupg.org/gnupg.git synced 2025-02-21 19:48:05 +01:00

* parse-packet.c (parse_symkeyenc): Give a warning if a session key

decryption key is seen without salt.  Show in --list-packets if a session
key decryption key is present.
This commit is contained in:
David Shaw 2003-09-30 17:27:02 +00:00
parent c22c4261f4
commit 6e3c6e6bcb
2 changed files with 21 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2003-09-30 David Shaw <dshaw@jabberwocky.com>
* parse-packet.c (parse_symkeyenc): Give a warning if a session
key decryption key is seen without salt. Show in --list-packets
if a session key decryption key is present.
2003-09-22 David Shaw <dshaw@jabberwocky.com>
* g10.c (main): Deprecate --no-comment in favor of

View File

@ -678,8 +678,17 @@ parse_symkeyenc( IOBUF inp, int pkttype, unsigned long pktlen, PACKET *packet )
k->s2k.count = iobuf_get(inp); pktlen--;
}
k->seskeylen = seskeylen;
for(i=0; i < seskeylen && pktlen; i++, pktlen-- )
k->seskey[i] = iobuf_get_noeof(inp);
if(k->seskeylen)
{
for(i=0; i < seskeylen && pktlen; i++, pktlen-- )
k->seskey[i] = iobuf_get_noeof(inp);
/* What we're watching out for here is a session key decryptor
with no salt. The RFC says that using salt for this is a
MUST. */
if(s2kmode!=1 && s2kmode!=3)
log_info(_("WARNING: potentially insecure session key decryption key\n"));
}
assert( !pktlen );
if( list_mode ) {
@ -690,9 +699,12 @@ parse_symkeyenc( IOBUF inp, int pkttype, unsigned long pktlen, PACKET *packet )
for(i=0; i < 8; i++ )
printf("%02x", k->s2k.salt[i]);
if( s2kmode == 3 )
printf(", count %lu\n", (ulong)k->s2k.count );
printf(", count %lu", (ulong)k->s2k.count );
printf("\n");
}
if(seskeylen)
printf("\tsession key decryption key present (%d bytes)\n",
seskeylen-1);
}
leave: