Scroll to navigation

RDF::Crypt::Role::DoesEncrypt(3pm) User Contributed Perl Documentation RDF::Crypt::Role::DoesEncrypt(3pm)

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.

2016-12-04 perl v5.24.1