Léon Brocard

NAME

Net::Amazon::S3::Client::GPG - Use GPG with Amazon S3 - Simple Storage Service

SYNOPSIS

  use Net::Amazon::S3;
  my $aws_access_key_id     = 'fill me in';
  my $aws_secret_access_key = 'fill me in too';
  my $gpg_recipient         = 'fill@meintoo.com';
  my $gpg_passphrase        = 'secret!';

  my $s3 = Net::Amazon::S3->new(
      aws_access_key_id     => $aws_access_key_id,
      aws_secret_access_key => $aws_secret_access_key,
      retry                 => 1,
  );

  my $gnupg = GnuPG::Interface->new();
  $gnupg->options->hash_init(
      armor            => 0,
      recipients       => [$gpg_recipient],
      meta_interactive => 0,
  );

  my $client = Net::Amazon::S3::Client::GPG->new(
      s3              => $s3,
      gnupg_interface => $gnupg,
      passphrase      => $gpg_passphrase,
  );

  # then can call $object->gpg_get, $object->gpg_get_filename,
  # $object->gpg_put, $object->$gpg_put_filename on
  # Net::Amazon::S3::Client::Object objects.

DESCRIPTION

Net::Amazon::S3 provides a simple interface to Amazon's Simple Storage Service. GnuPG::Interface provides a Perl interface to GNU Privacy Guard, an implementation of the OpenPGP standard. Net::Amazon::S3 can use SSL so that data can not be intercepted while in transit over the internet, but Amazon recommends that "users can encrypt their data before it is uploaded to Amazon S3 so that the data cannot be accessed or tampered with by unauthorized parties".

This module adds methods to Net::Amazon::S3::Client::Object to get and put values and files while encrypting and decrypting them.

AUTHOR

Leon Brocard <acme@astray.com>.

COPYRIGHT

Copyright (C) 2010, Leon Brocard

LICENSE

This module is free software; you can redistribute it or modify it under the same terms as Perl itself.

SEE ALSO

Net::Amazon::S3, Net::Amazon::S3::Client, Net::Amazon::Client::Bucket, Net::Amazon::S3::Client::Object, GnuPG::Interface.