Changes for version 0.14

  • Crypt::OpenPGP::CFB now works in both standard and PGP-variant mode (where PGP-variant is the slightly strange mode with the resyncs). Support added via a 'sync' method to manually resync.
  • Added support for encrypted-MDC packets, a more secure variant on standard encrypted data packets. Encrypted-MDC packets are followed by a SHA-1 hash of the plaintext so that modifications to the ciphertext can be detected.
  • Added support for writing version-4 packet headers to Crypt::OpenPGP::PacketFactory.
  • Added signing capabilities to Crypt::OpenPGP::encrypt, and verification to Crypt::OpenPGP::decrypt. This lets you create encrypted & signed messages, as well as decrypt & verify such messages. For this purpose, SignKeyID and SignPassphrase have been added as params to 'encrypt'.
  • KeyRing::find_keyblock_by_keyid changed behavior of return value when called in list context. It now returns all keyblocks with keys whose key IDs "matched" the provided key ID (rather than the matched keyblock and the matched certificate, as before).
  • Added KeyBlock::encrypting_key and KeyBlock::signing_key; all high-level Crypt::OpenPGP methods now use these methods instead of the list-context find_keyblock_by_keyid to find the appropriate key to use.
  • Crypt::OpenPGP::encrypt now accepts multiple key IDs, for encrypting messages to multiple recipients. Thanks to Vipul for the idea and patch.
  • KeyRing::find_keyblock_by_keyid now can perform lookups using 8 hex-digit key IDs (as opposed to the standard 16 hex-digit IDs). Thanks to Vipul for the idea and patch (reworked).
  • Fixed some compatibility (syntax) issues when using perl 5.005_03.

Modules

DES-EDE3 encryption/decryption
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
MDC (modification detection code) packet
PGP Marker packet
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

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/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/Message.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