RDF::Crypt::Role::DoesSign(3) 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.

BUGS

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

AUTHOR

Toby Inkster <[email protected]>.

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.