For the latest news and information visit The GNU Crypto project

## gnu.crypto.keyring
Interface IKeyring

All Known Subinterfaces:
  IPrivateKeyring, IPublicKeyring

All Known Implementing Classes:
  BaseKeyring, GnuPrivateKeyring, GnuPublicKeyring

public interface IKeyring

The top-level interface to a keyring: a file that is used to store and protect public and private cryptographic keys.

A keyring is modelled as a mapping of one alias to one or more entries (optionally of different types).

See also the sub-interfaces `IPublicKeyring` and `IPrivateKeyring` for special types of keyrings --the difference being in the type of entries they contain.

Field Summary
`static java.lang.String` `KEYRING_DATA_IN` Property name for the source of data to load the keyring from.
`static java.lang.String` `KEYRING_DATA_OUT` Property name for the data sink to store the keyring to.
`static java.lang.String` `KEYRING_PASSWORD` Property name for the keyring's top-level password, used to authenticate and/or transform the store itself.

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.
`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.
`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`.

Field Detail

### KEYRING_DATA_IN

    public static final java.lang.String KEYRING_DATA_IN

  Property name for the source of data to load the keyring from. The value mapped must be a `InputStream`.

  See Also:
    Constant Field Values

### KEYRING_DATA_OUT

    public static final java.lang.String KEYRING_DATA_OUT

  Property name for the data sink to store the keyring to. The value mapped must be a `OutputStream`.

  See Also:
    Constant Field Values

### KEYRING_PASSWORD

    public static final java.lang.String KEYRING_PASSWORD

  Property name for the keyring's top-level password, used to authenticate and/or transform the store itself. The mapped value must be a char array.

  See Also:
    Constant Field Values

Method Detail

### load

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

  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?

  Parameters:
    `attributes` - The attributes that designate the source where the store is to be loaded from. What happens
  Throws:
    `java.lang.IllegalArgumentException` - If the attributes are inappropriate.
    `java.io.IOException` - If the keyring file cannot be read.
    `java.lang.SecurityException` - If the given password is incorrect, or if the top-level authentication or decryption fails.

### store

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

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

  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()

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

### size

    public int size()

  Returns the number of entries in this keyring.

  Returns:
    The number of current entries in this keyring.

### aliases

    public java.util.Enumeration aliases()

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

  Returns:
    The enumeration of `String`s each representing an alias found in this keyring.

### containsAlias

    public boolean containsAlias(java.lang.String alias)

  Tests whether or not this keyring contains the given alias.

  Parameters:
    `alias` - The alias to check.
  Returns:
    true if this keyring contains the alias.

### get

    public 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.

  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)

  Adds a designated `Entry` to this keyring.

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

  Parameters:
    `entry` - The entry to put in this keyring.

### remove

    public void remove(java.lang.String alias)

  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?

  Parameters:
    `alias` - The alias of the entry to remove.

For the latest news and information visit The GNU Crypto project

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