I'm not really sure what you're asking:
If you want to know how you can run external programs, the easy answer is something like this:
system("/path/to/command_name argument1 argument2") && die "Can't run
+command: $!";
If you want to know the arguments for pgp, you should probably look at the PGP command line documentation, which I found by typing pgp 6.5.1 into google.
| [reply] [d/l] |
When I'm scripting some process, I usually work it out manually first so I know each step works. So before trying your pgp commands in the script, work out how to decrypt the file just by typing in the command. Once you have that down, putting it into the Perl script is easy.
As mentioned above, the best resource for getting the details for PGP is the PGP documentation.
One last thing; if you consider gpg you may have trouble with decrypting files sent to you by someone using PGP if they use the IDEA encryption algorithm. I think this is the default algorithm for PGP, and it has some licensing requirements. If you can contact the person encrypting the files on the other end, you can ask them to use a different algorithm. For most people, the actual algorithm won't matter and there are fully open source ones available. | [reply] |
In addition to Joost's comment, I'd like to point out that pgp will look at the available secret keys on the keyring and tell you which one (if any) should be used to decrypt. Also, I'm not clear if the encrypted filename can be inserted in the middle like that. I would use something more like the following:
pgp --decrypt --output $outputfilename --overwrite $filename
I'm not sure how far along your perl skills are, but two modules on CPAN that you might be interested in (if you know how to use them) are Crypt::OpenPGP and Crypt::GPG. Crypt::GPG uses the gpg command to do its work, while Crypt::OpenPGP handles all the work of pgp/gpg on its own. There may be one that's made to work with the free PGP that you're using, too.
Update: Check out Crypt::PGPSimple, too.
mhoward - at - hattmoward.org
| [reply] [d/l] |