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
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.
- Signs a literal string which may or may not have anything to do with RDF.
Required MethodsThis role does not implement these methods, but requires classes to implement them instead:
- Generates a signature for an octet string.
- Returns a string used as a marker for signatures within serialised RDF.
BUGSPlease report any bugs to <http://rt.cpan.org/>.
AUTHORToby Inkster <[email protected]>.
COPYRIGHTCopyright 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 WARRANTIESTHIS 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.