org.ccnx.ccn.impl.security.crypto.CCNAggregatedSigner Interface Reference

An aggregated signer takes a set of blocks and computes signatures over them such that each block can be verified individually. More...

List of all members.

Public Member Functions

void signBlocks (ContentObject[] contentObjects, PrivateKey signingKey) throws InvalidKeyException, SignatureException, NoSuchAlgorithmException, IOException
 Sign a set of unrelated content objects in one aggregated signature pass.

Detailed Description

An aggregated signer takes a set of blocks and computes signatures over them such that each block can be verified individually.

An example aggregated signer computes a Merkle hash tree over the component blocks and then constructs signatures for each.

Signing can be a computationally expensive operation; aggregated signing mitigates this.

This could be a base abstract class or an interface; the former would have a set of constructors or static factory methods that made an object returning blocks. Instead, we try an interface that has a set of bulk put methods which construct blocks, put them to the network, and return an individual ContentObject.


Member Function Documentation

void org.ccnx.ccn.impl.security.crypto.CCNAggregatedSigner.signBlocks ( ContentObject[]  contentObjects,
PrivateKey  signingKey 
) throws InvalidKeyException, SignatureException, NoSuchAlgorithmException, IOException

Sign a set of unrelated content objects in one aggregated signature pass.

Objects must have already been constructed and initialized. They must all indicate the same signer. Open questions:

  • should we re-set the publisherID? Currently assume that it was set to match the signing key when the blocks were built. This opens up the option to muck with the insides of COs more than ideal.
    Parameters:
    contentObjects the set of objects to sign
    signingKey the key to sign with
    Exceptions:
    InvalidKeyException if there is a problem with the signing key
    SignatureException if we have an error in signature generation
    NoSuchAlgorithmException if we do not recognize the default digest algorithm, or the signature algorithm associated with the key, or an internal algorithm used by the aggregating signer
    IOException 

Implemented in org.ccnx.ccn.impl.security.crypto.CCNBlockSigner, and org.ccnx.ccn.impl.security.crypto.CCNMerkleTreeSigner.


The documentation for this interface was generated from the following file:
Generated on Fri May 13 16:27:41 2011 for Content-Centric Networking in Java by  doxygen 1.6.3