---
name: "RDF::Crypt::Role::DoesSign"
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::DoesSign"
---

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

signing methods

## NAME

RDF::Crypt::Role::DoesSign - signing methods

## DESCRIPTION

### Object Methods

- "sign\_model($model)"

  Given an RDF::Trine::Model, returns a signature as a string.

  The model is converted to a canonicalised N-Triples representation (see RDF::Trine::Serializer::NTriples::Canonical) with any triples that cannot be canonicalised being truncated. This representation is then signed using an MD5 digest, and the resulting binary signature encoded using base64.

- "generate\_manifest($webid, \\@urls)"

  Given a WebID that people can use to recover your public key, and a list of URLs that need signing, signs each and returns an RDF::Trine::Model containing the results of processing. This can be serialised as, say, Turtle to act as an endorsement for a bunch of RDF graphs.

- "sign\_embed\_turtle($turtle, $baseuri)"

  Parses the given Turtle into a model, generates a signature for that and then returns the original Turtle with the signature embedded as a comment. This allows the signature to sit in the same file as the data itself.

  The base URI is used to resolve any relative URI references. Note that if a different base URI is provided when verifying the signature, this may cause verification to fail. The base URI is optional.

- "sign\_embed\_rdfxml($xml, $baseuri)"

  As per `"sign_embed_turtle"`, but RDF/XML.

- "sign\_embed\_rdfa($html, $baseuri, \\%config)"

  Similar to `"sign_embed_turtle"` and `"sign_embed_rdfxml"`. The base URI is required. A set of configuration options may be provided, which will be passed along to RDF::RDFa::Parser's constructor.

  Rather than storing the signature as an XML/HTML comment, the signature is stored on the root element as an attribute.

- "sign\_text($str)"

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

### Required Methods

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

- "sign\_bytes($str)"

  Generates a signature for an octet string.

- "SIG\_MARK"

  Returns a string used as a marker for signatures within serialised RDF.

## SEE ALSO

RDF::Crypt, RDF::Crypt::Signer.

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