* g10.c (main): Add --symmetric --encrypt command. This generates a
authorDavid Shaw <dshaw@jabberwocky.com>
Sun, 26 Oct 2003 03:26:14 +0000 (03:26 +0000)
committerDavid Shaw <dshaw@jabberwocky.com>
Sun, 26 Oct 2003 03:26:14 +0000 (03:26 +0000)
commitbb7986e9a6a43a8732797ecf72f6759b1c4feaa4
treecc638268722b231d80fa97b9d22e87778b01e5dd
parentd30da9ebdc822dc1e7349715dedf3d0d1783cfb7
* g10.c (main): Add --symmetric --encrypt command.  This generates a
message that can be decrypted via a passphrase or public key system.

* main.h, encode.c (encode_seskey): Allow passing in an already-created
session key dek. (encode_simple): Use the actual symmetric cipher when
encrypting a session key for a symmetric message. (encode_crypt): Add a
flag to trigger a hybrid mode that can be decrypted via a passphrase or a
pk.  Change all callers.

* mainproc.c (symkey_decrypt_sesskey): There is no way to tell the
difference here between a bad passphrase and a cipher algorithm that we
don't have, so use a error message that makes that clear. Use the actual
list of ciphers when checking whether a cipher is invalid.  Return error
if the decrypted cipher algorithm is invalid. (proc_symkey_enc): In a
mixed passphrase/pk message, if a valid dek already exists from decrypting
via pk, do not try to process the passphrase. (proc_symkey_enc): Indicate
when we're decrypting a session key as opposed to decrypting data.  If a
passphrase is invalid, discard the dek so we'll keep trying.
g10/ChangeLog
g10/encode.c
g10/g10.c
g10/main.h
g10/mainproc.c