---
name: "RDF::Crypt::Role::DoesEncrypt"
section: "3pm"
platform: "linux"
package: "librdf-crypt-perl"
version: "0.002-3"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/RDF::Crypt::Role::DoesEncrypt"
---

# RDF::Crypt::Role::DoesEncrypt(3pm)

scrambling methods

## 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.
