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.