++ed by:
Author image Yanick Champoux


GnuPG::Tie::Encrypt - Tied filehandle interface to encryption with the GNU Privacy Guard.

GnuPG::Tie::Decrypt - Tied filehandle interface to decryption with the GNU Privacy Guard.


    use GnuPG::Tie::Encrypt;
    use GnuPG::Tie::Decrypt;

    tie *CIPHER, 'GnuPG::Tie::Encrypt', armor => 1, recipient => 'User';
    print CIPHER <<EOF;
This is a secret
    local $/ = undef;
    my $ciphertext = <CIPHER>;
    close CIPHER;
    untie *CIPHER;

    tie *PLAINTEXT, 'GnuPG::Tie::Decrypt', passphrase => 'secret';
    print PLAINTEXT $ciphertext;
    my $plaintext = <PLAINTEXT>;

    # $plaintext should now contains 'This is a secret'
    close PLAINTEXT;
    untie *PLAINTEXT;


GnuPG::Tie::Encrypt and GnuPG::Tie::Decrypt provides a tied file handle interface to encryption/decryption facilities of the GNU Privacy guard.

With GnuPG::Tie::Encrypt everyting you write to the file handle will be encrypted. You can read the ciphertext from the same file handle.

With GnuPG::Tie::Decrypt you may read the plaintext equivalent of a ciphertext. This is one can have been written to file handle.

All options given to the tie constructor will be passed on to the underlying GnuPG object. You can use a mix of options to output directly to a file or to read directly from a file, only remember than once you start reading from the file handle you can't write to it anymore.


Francis J. Lacoste <francis.lacoste@Contre.COM>


Copyright (c) 1999, 2000 iNsu Innovations Inc. Copyright (c) 2001 Francis J. Lacoste

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.


gpg(1) GnuPG(3)