using --status-fd

Sven-S. Porst
Mon Jan 21 17:10:01 2002

>gpg -a -r foo --status-fd=2 --command-fd=0 --output - --
>Now gpg reads from stdin and writes to stdout the used FD's
>are (stdin=0, stdout=1, stderr=2)
>>> data from stdin
><< armored ciphertext

This works in your example, but what to do in the following case

[dhcp97:~] ssp% gpg --status-fd=2 --command-fd=0 --encrypt -r foo --armor
--sign --
[GNUPG:] USERID_HINT 93D72D600085ABA3 Sven-S. Porst <>
[GNUPG:] NEED_PASSPHRASE 93D72D600085ABA3 93D72D600085ABA3 17 0
[GNUPG:] GET_HIDDEN passphrase.enter
>> passphrase
[GNUPG:] GOOD_PASSPHRASE                                  
[GNUPG:] GET_BOOL untrusted_key.override
>> message from stdin
<< gpg output

So in this case I have to write the message after GOT_IT which of course
doesn't appear necessarily as the key might be trusted in which case I
would have to write out the message after GOOD_PASSPHRASE. It seems to me
that there is no definite command sent at the time at which entering the
message is required. So I fear this may be the wrong way to do it. In
particular I haven't yet managed to use anything but stdin as my --
command-fd (probably due to my lack of knowledge on these things) in
which case I could perhaps write my message to stdin right away and deal
with the --command-fd input separately.

>BTW, GPGME might be a good solution for your problem.

I had a look at it a while ago and tried it out. Somehow it needed about
10 seconds just to give me information on the keys in my moderately small
keyrings - so I decided not to use it, particularly as I wanted to learn
how to interactively use command line tools from a program anyway.



Sven-S. Porst . PGP: 0x0085ABA3 .
           When you find yourself on the side of the majority, 
                                         it is time to reform.
                                                -- Mark Twain