# Interface Signatory

All Known Implementing Classes:
  `PgpSignatory, SignatorySupport`

public interface Signatory
A signatory is an object capable of providing a signature for an arbitrary stream of bytes.

## Method Summary

Modifier and Type
Method
Description
`String`
`getName()`
An identifying name for this signatory.
`byte[]`
`sign(InputStream toSign)`
Exhausts `toSign`, and returns the raw signature bytes.
`void`
`sign(InputStream toSign, OutputStream destination)`
Exhausts `toSign`, and writes the signature to `signatureDestination`.

## Method Details

### getName

String getName()

An identifying name for this signatory.

The name must be constant for the life of the signatory and should uniquely identify it within a project.

### sign

void sign(InputStream toSign, OutputStream destination)
Exhausts `toSign`, and writes the signature to `signatureDestination`. The caller is responsible for closing the streams, though the output WILL be flushed.

Parameters:
  `toSign` - The source of the data to be signed
  `destination` - Where the signature will be written to

### sign

byte[] sign(InputStream toSign)
Exhausts `toSign`, and returns the raw signature bytes.

Parameters:
  `toSign` - The source of the data to be signed
Returns:
  The raw bytes of the signature