Changes for version 1.01

  • Added Crypt::OpenPGP::handle, a DWIM wrapper around the other high-level interface methods. Given data, it determines whether the data needs to be decrypted, verified, or both. And then it does what it's supposed to do.
  • Added Crypt::OpenPGP::Signature::timestamp to return the created-on time for a signature. Also, Crypt::OpenPGP::decrypt and Crypt::OpenPGP::verify now return the Crypt::OpenPGP::Signature object if called in list context (and, in the case of decrypt, if there is a signature). Thanks to Erik Arneson for the patches.
  • Fixed a bug in decrypt with uncompressed encrypted signed data. Thanks to Erik Arneson for the spot.
  • Fixed a bug in Crypt::OpenPGP::Message with clearsigned messages, if the text and signature were contained in a block of text containing more PGP messages/signatures.
  • Fixed a nasty, evil, stupid compatibility bug with canonical text. Namely, pgp2 and pgp5 do not trim trailing whitespace from "canonical text" signatures, only from cleartext signatures. This was causing invalid signatures which should not have been invalid. Thanks to Erik Arneson for the spot.
  • Added Crypt::OpenPGP::KeyServer, which does lookups against an HKP keyserver.

Modules

Pure-Perl OpenPGP implementation
ASCII Armouring and Unarmouring
Binary in/out buffer
PGP Cipher Feedback Mode
PGP Key certificate
PGP symmetric cipher factory
Encrypted data packet
Compressed data packets
Exportable constants
PGP message digest factory
Crypt::OpenPGP error handling
OpenPGP key factory
Key block object
Key ring object
Interface to HKP keyservers
MDC (modification detection code) packet
PGP Marker packet
Sequence of PGP packets
One-Pass Signature packet
Parse and save PGP packet streams
A plaintext, literal-data packet
String-to-key generation
Symmetric-Key Encrypted Session Key
Encrypted Session Key
Signature packet
PGP Trust packet
PGP User ID packet
Miscellaneous utility functions
Create English-word encodings

Provides

in lib/Crypt/OpenPGP/Cipher.pm
in lib/Crypt/OpenPGP/Cipher.pm
in lib/Crypt/OpenPGP/Cipher.pm
in lib/Crypt/OpenPGP/Cipher.pm
in lib/Crypt/OpenPGP/Cipher.pm
in lib/Crypt/OpenPGP/Cipher.pm
in lib/Crypt/OpenPGP/Cipher.pm
in lib/Crypt/OpenPGP/Cipher.pm
in lib/Crypt/OpenPGP/Config.pm
in lib/Crypt/OpenPGP/Config.pm
in lib/Crypt/OpenPGP/Config.pm
in lib/Crypt/OpenPGP/Config.pm
in lib/Crypt/OpenPGP/Digest.pm
in lib/Crypt/OpenPGP/Digest.pm
in lib/Crypt/OpenPGP/Digest.pm
in lib/Crypt/OpenPGP/Key/Secret/ElGamal.pm
in lib/Crypt/OpenPGP/Key/Public/ElGamal.pm
in lib/Crypt/OpenPGP/Key/Public.pm
in lib/Crypt/OpenPGP/Key/Public/DSA.pm
in lib/Crypt/OpenPGP/Key/Public/ElGamal.pm
in lib/Crypt/OpenPGP/Key/Public/RSA.pm
in lib/Crypt/OpenPGP/Key/Secret.pm
in lib/Crypt/OpenPGP/Key/Secret/DSA.pm
in lib/Crypt/OpenPGP/Key/Secret/ElGamal.pm
in lib/Crypt/OpenPGP/Key/Secret/RSA.pm
in lib/Crypt/OpenPGP/S2k.pm
in lib/Crypt/OpenPGP/S2k.pm
in lib/Crypt/OpenPGP/S2k.pm
in lib/Crypt/OpenPGP/Signature/SubPacket.pm