For the latest news and information visit The GNU Crypto project

## gnu.crypto.keyring
Class BaseKeyring

    java.lang.Object
      |
      +--gnu.crypto.keyring.BaseKeyring

All Implemented Interfaces:
  IKeyring

Direct Known Subclasses:
  GnuPrivateKeyring, GnuPublicKeyring

public abstract class BaseKeyring
extends java.lang.Object
implements IKeyring

Field Summary
`protected PasswordAuthenticatedEntry` `keyring` The top-level keyring data.
`protected CompressedEntry` `keyring2`

Fields inherited from interface gnu.crypto.keyring.IKeyring
`KEYRING_DATA_IN, KEYRING_DATA_OUT, KEYRING_PASSWORD`

Constructor Summary
`BaseKeyring()`

Method Summary
`void` `add(Entry entry)` Adds a designated `Entry` to this keyring.
`java.util.Enumeration` `aliases()` Returns an `Enumeration` of all aliases (instances of `String`) in this keyring.
`boolean` `containsAlias(java.lang.String alias)` Tests whether or not this keyring contains the given alias.
`protected java.lang.String` `fixAlias(java.lang.String alias)`
`java.util.List` `get(java.lang.String alias)` Returns a `List` of entries (instances of `Entry`) for the given `alias`, or `null` if there no such entry exists.
`protected abstract void` `load(java.io.InputStream in, char[] password)`
`void` `load(java.util.Map attributes)` Loads a keyring into memory.
`void` `remove(java.lang.String alias)` Removes an entry with the designated `alias` from this keyring.
`void` `reset()` Resets this keyring, clearing all sensitive data.
`int` `size()` Returns the number of entries in this keyring.
`void` `store(java.util.Map attributes)` Stores the contents of this keyring to persistent storage as specified by the designated `attributes`.
`protected abstract void` `store(java.io.OutputStream out, char[] password)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### keyring

    protected PasswordAuthenticatedEntry keyring

  The top-level keyring data.

### keyring2

    protected CompressedEntry keyring2

Constructor Detail

### BaseKeyring

    public BaseKeyring()

Method Detail

### load

    public void load(java.util.Map attributes)
              throws java.io.IOException

  Description copied from interface: `IKeyring`

  Loads a keyring into memory.

  What happens to the current contents of this keyring? are the new ones merged with the current ones or do they simply replace them?

  Specified by:
    `load` in interface `IKeyring`
  Parameters:
    `attributes` - The attributes that designate the source where the store is to be loaded from. What happens
  Throws:
    `java.io.IOException` - If the keyring file cannot be read.

### store

    public void store(java.util.Map attributes)
               throws java.io.IOException

  Description copied from interface: `IKeyring`

  Stores the contents of this keyring to persistent storage as specified by the designated `attributes`.

  Specified by:
    `store` in interface `IKeyring`
  Parameters:
    `attributes` - the attributes that define where the contents of this keyring will be stored.
  Throws:
    `java.io.IOException` - if an exception occurs during the process.

### reset

    public void reset()

  Description copied from interface: `IKeyring`

  Resets this keyring, clearing all sensitive data. This method always suceeds.

  Specified by:
    `reset` in interface `IKeyring`

### size

    public int size()

  Description copied from interface: `IKeyring`

  Returns the number of entries in this keyring.

  Specified by:
    `size` in interface `IKeyring`
  Returns:
    The number of current entries in this keyring.

### aliases

    public java.util.Enumeration aliases()

  Description copied from interface: `IKeyring`

  Returns an `Enumeration` of all aliases (instances of `String`) in this keyring.

  Specified by:
    `aliases` in interface `IKeyring`
  Returns:
    The enumeration of `String`s each representing an alias found in this keyring.

### containsAlias

    public boolean containsAlias(java.lang.String alias)

  Description copied from interface: `IKeyring`
  Tests whether or not this keyring contains the given alias.

  Specified by:
    `containsAlias` in interface `IKeyring`
  Parameters:
    `alias` - The alias to check.
  Returns:
    true if this keyring contains the alias.

### get

    public java.util.List get(java.lang.String alias)

  Description copied from interface: `IKeyring`

  Returns a `List` of entries (instances of `Entry`) for the given `alias`, or `null` if there no such entry exists.

  Specified by:
    `get` in interface `IKeyring`
  Parameters:
    `alias` - The alias of the entry(ies) to return.
  Returns:
    A list of all entries (instances of `Entry` that have the given `alias`, or `null` if no one `Entry` can be found with the designated `alias`.

### add

    public void add(Entry entry)

  Description copied from interface: `IKeyring`

  Adds a designated `Entry` to this keyring.

  What happens if there is already an entry with the same alias?

  Specified by:
    `add` in interface `IKeyring`
  Parameters:
    `entry` - The entry to put in this keyring.

### remove

    public void remove(java.lang.String alias)

  Description copied from interface: `IKeyring`

  Removes an entry with the designated `alias` from this keyring. Does nothing if there was no such entry.

  What happens if there are more than one?

  Specified by:
    `remove` in interface `IKeyring`
  Parameters:
    `alias` - The alias of the entry to remove.

### fixAlias

    protected java.lang.String fixAlias(java.lang.String alias)

### load

    protected abstract void load(java.io.InputStream in,
                                 char[] password)
                          throws java.io.IOException

    `java.io.IOException`

### store

    protected abstract void store(java.io.OutputStream out,
                                  char[] password)
                           throws java.io.IOException

    `java.io.IOException`

For the latest news and information visit The GNU Crypto project

Copyright © 2001, 2002, 2003, 2004 Free Software Foundation, Inc.