Cryptix OpenPGP

cryptix.message
Class SignedMessageBuilder

java.lang.Object
  extended bycryptix.message.SignedMessageBuilder

public class SignedMessageBuilder
extends java.lang.Object

A class for building a SignedMessage.

Version:
$Revision: 1.2 $
Author:
Edwin Woudt

Constructor Summary
protected SignedMessageBuilder(SignedMessageBuilderSpi builderSpi, java.security.Provider provider, java.lang.String format)
          Create a new SignedMessageBuilder object containing the given SPI object.
 
Method Summary
 void addSigner(KeyBundle signingkey, char[] passphrase)
          Adds a signer from a keybundle, decrypting it with the given passphrase.
 void addSigner(java.security.PrivateKey signingkey)
          Adds a signer
 Message build()
          Returns the signed message
 java.lang.String getFormat()
          Returns the name of the format of this object.
static SignedMessageBuilder getInstance(java.lang.String format)
          Returns an SignedMessageBuilder that implements the given format.
static SignedMessageBuilder getInstance(java.lang.String format, java.security.Provider provider)
          Returns an SignedMessageBuilder from the given provider that implements the given format.
static SignedMessageBuilder getInstance(java.lang.String format, java.lang.String provider)
          Returns an SignedMessageBuilder from the given provider that implements the given format.
 java.security.Provider getProvider()
          Returns the provider of this object.
 void init(Message contents)
          Initializes this builder with the given message.
 void init(Message contents, java.security.SecureRandom sr)
          Initializes this builder with the given message and SecureRandom object.
 void setAttribute(java.lang.String name, java.lang.Object attr)
          Set a format specific attribute.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SignedMessageBuilder

protected SignedMessageBuilder(SignedMessageBuilderSpi builderSpi,
                               java.security.Provider provider,
                               java.lang.String format)
Create a new SignedMessageBuilder object containing the given SPI object.

Method Detail

getInstance

public static SignedMessageBuilder getInstance(java.lang.String format)
                                        throws java.security.NoSuchAlgorithmException
Returns an SignedMessageBuilder that implements the given format.

Throws:
java.security.NoSuchAlgorithmException

getInstance

public static SignedMessageBuilder getInstance(java.lang.String format,
                                               java.lang.String provider)
                                        throws java.security.NoSuchAlgorithmException,
                                               java.security.NoSuchProviderException
Returns an SignedMessageBuilder from the given provider that implements the given format.

Throws:
java.security.NoSuchAlgorithmException
java.security.NoSuchProviderException

getInstance

public static SignedMessageBuilder getInstance(java.lang.String format,
                                               java.security.Provider provider)
                                        throws java.security.NoSuchAlgorithmException
Returns an SignedMessageBuilder from the given provider that implements the given format.

Throws:
java.security.NoSuchAlgorithmException

getProvider

public final java.security.Provider getProvider()
Returns the provider of this object.


getFormat

public final java.lang.String getFormat()
Returns the name of the format of this object.


init

public final void init(Message contents)
                throws java.lang.IllegalStateException,
                       MessageException
Initializes this builder with the given message.

Throws:
java.lang.IllegalStateException - if this message has been initialized before.
MessageException - on a variety of format specific problems.

init

public final void init(Message contents,
                       java.security.SecureRandom sr)
                throws java.lang.IllegalStateException,
                       MessageException
Initializes this builder with the given message and SecureRandom object.

Throws:
java.lang.IllegalStateException - if this message has been initialized before.
MessageException - on a variety of format specific problems.

setAttribute

public final void setAttribute(java.lang.String name,
                               java.lang.Object attr)
                        throws java.lang.IllegalStateException,
                               java.lang.IllegalArgumentException,
                               MessageException
Set a format specific attribute.

Parameters:
name - a name identifying the attribute
attr - the attribute itself
Throws:
java.lang.IllegalStateException - if this message has not been initialized before.
java.lang.IllegalArgumentException - if the attribute is not supported or the given object does not have the right type.
MessageException - on a variety of format specific problems.

addSigner

public final void addSigner(java.security.PrivateKey signingkey)
                     throws java.lang.IllegalStateException,
                            MessageException
Adds a signer

Throws:
InvalidStateException - if this message has not been initialized properly or if the build() method has been called
MessageException - on a variety of format specific problems.
java.lang.IllegalStateException

addSigner

public final void addSigner(KeyBundle signingkey,
                            char[] passphrase)
                     throws java.lang.IllegalStateException,
                            MessageException,
                            java.security.UnrecoverableKeyException
Adds a signer from a keybundle, decrypting it with the given passphrase.

Throws:
InvalidStateException - if this message has not been initialized properly or if the build() method has been called
MessageException - on a variety of format specific problems.
java.security.UnrecoverableKeyException - if the private key cannot be retrieved from the keybundle (for example because of an incorrect passphrase).
java.lang.IllegalStateException

build

public final Message build()
                    throws java.lang.IllegalStateException,
                           MessageException
Returns the signed message

Throws:
InvalidStateException - if this message has not been initialized properly, if no calls have been made to the addSigner method or if multiple calls to this build() method are made.
MessageException - on a variety of format specific problems.
java.lang.IllegalStateException

Cryptix OpenPGP

Copyright (C) 1999-2003 The Cryptix Foundation Ltd.