The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

RDF::Crypt::Role::DoesEncrypt - scrambling methods

DESCRIPTION

Object Methods

encrypt_model($model)

Returns an encrypted serialisation of the data.

The encryption works by serialising the data as RDF/XML, then encrypting it with encrypt_text.

send_model_by_email($model, \%opts)

This method only works on objects that were constructed using new_from_webid. Encrypts the model for the holder of the WebID, and sends it to an address specified in the WebID profile using foaf:mbox.

Options:

  • sendmail - hashref of options for Mail::Transport::Sendmail. The mere presence of this hashref will trigger Mail::Transport::Sendmail to be used as the delivery method.

  • smtp - hashref of options for Mail::Transport::SMTP. The mere presence of this hashref will trigger Mail::Transport::SMTP to be used as the delivery method.

  • from - email address for the message to come from.

  • subject - message subject.

  • filename - filename for encrypted attachment.

  • headers - hashref of additional mail headers.

Returns a the message's Message-ID, or undef if unsuccessful.

encrypt_text($str)

Encrypts a literal string which may or may not have anything to do with RDF.

The return value is a base64-encoded string. The base64-decoded value consists of: (1) an initialisation vector, sixteen bytes shorter than the size of the key; (2) a 16-bit big-endian signed integer indicating the length of padding which was added to the payload of the message during encryption; (3) the payload, encrypted using cipher-block chaining with OAEP, with block length sixteen bytes shorter than the key size. These three parts are concatenated together in that order.

Required Methods

This role does not implement these methods, but requires classes to implement them instead:

encrypt_bytes($str)

Scrambles an octet string.

SEE ALSO

RDF::Crypt, RDF::Crypt::Encrypter, RDF::Crypt::Decrypter.

BUGS

Please report any bugs to http://rt.cpan.org/.

AUTHOR

Toby Inkster <tobyink@cpan.org>.

COPYRIGHT

Copyright 2010, 2012 Toby Inkster

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

DISCLAIMER OF WARRANTIES

THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.