Mail::SpamCannibal::GoodPrivacy - PGP for spamcannibal mail
use Mail::SpamCannibal::GoodPrivacy;
$plaintext = decrypt(\$hash);
or -- defaults shown
$plaintext = decrypt(
Data => $data,
ExeFile => '/usr/local/bin/pgp',
KeyPath => '.pgp',
Password => 'sometext',
UserID => 'default userid',
Version => '2.62',
);
($begin,$end) = is_pgp(\@lines,\$err); $nullchar = whiteclean(\@array); $outstrng = whiteclean($instring);
Mail::SpamCannibal::GoodPrivacy is a standardized wrapper around 'pgp2x', 'pgp6x', or 'gnupg' that provides encryption and decryption for IPTable::IPv4::DBTables::SpamCannibal.
Mail::SpamCannibal::GoodPrivacy has been tested using pgp-2.6.2g, pgp-6.5.8, and gpg-1.2.2 on RSA keys generated by pgp-2.6.2g which are included with this distribution.
Utilities to verify that a message has PGP encrypted content prior to decryption so that plain text messages are not inadvertently passed to the decrypt program;
Decrypt an encoded message.
input: a hash or hash pointer return: plaintext or '' on error
%hash = (
Data => $data,
ExeFile => '/usr/local/bin/gpg',
KeyPath => './',
Password => 'sometext',
UserID => '',
Version => '',
);
Data: data to decrypt
ExeFile: location of executable
i.e. /usr/local/bin/pgp
/usr/local/bin/gpg
WARNING: use appropriate default
keyring names.
KeyPath: directory for keyrings
Password: password for decryption
UserID: Optional default user for decryption.
The user 'name' or keyID
i.e. 'test' or
E56C91B9 as displayed by
pgp -kv ./keyrings/secring.pgp
or
ENVGPGHOME=./keyrings gpg --list-secret-keys
Version: Version compliance (gpg only)
(none) for standard gpg,
2.6x and 6.x for pgp support
input: pointer to array of lines,
[optional] pointer to
error return string
returns: () empty array on failure
or begin = pointer to -----BEGIN PGP
end = pointer to -----END
for the input array
$err will contain and empty string
on success or a text message
indicating the failure reason
not an array ref
signed cleartext
no BEGIN PGP
no blank line
no armor text
invalid armor
no END
i.e. if (@_ = is_pgp(\@lines)) {
($begin,$end) = @_;
} else {
# sorry, not a PGP message
}
If the input is an array pointer to an array of text lines, cleans the lines of trailing whitespace in place.
If the input is a string, returns a string with trailing whitespace removed.
input: array pointer
or string
returns: '' if input = ARRAY
$outstring
if the input was a string
Mail::SpamCannibal::ParseMessage
and
You must install at least one of the following
on your system to use this module.
Recommend versions of freeware from: http://www.pl.pgpi.org/versions/freeware.shtml
in the US: PGP 2.6.2g, the "rebel" version ftp://sunsite.smc.univie.ac.at/pub/crypto/cypherpunks/pgp/pgp262/pgp262g.zip
outside US: PGP 2.6.3i
http://www.pgpi.org/
i.e. pgp263is.tar.gz + pgp263i.patch
or
outside US: PGP 6.5.8
http://www.pgpi.org/
i.e. 'pgpsrc658unix-gnu.tar.gz',
PGPcmdln_6.5.8.Lnx_FW.tar.gz,
or PGPcmdln_6.5.8.Lnx_FW.rpm.tar
2.6.2 rebel was the default used to develop this module.
http://www.gnupg.org/
If you plan to user PGP 2.6x or 6.x compatibility modes and you are in a country where there are not patent restrictions, then you will also need to download:
ftp://ftp.gnupg.dk/pub/contrib-dk/idea.c.gz
and place it in the SRC/gnupg-1.x.x/cipher directory.
PGP 2.6.x pubring.pgp, secring.pgp
PGP 6.5.8 pubring.pkr, secring.skr
GnuPG pubring.gpg, secring.gpg
decrypt
is_pgp
whiteclean
Michael Robinton <michael@bizsystems.com>
Copyright 2003 - 2004, Michael Robinton <michael@bizsystems.com> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
perl(1)