Index (Frames) | Index (No Frames) | Package | Package Tree | Tree
java.security

Class KeyStore

java.lang.Object
|
+--java.security.KeyStore


public class KeyStore

extends Object

Keystore represents an in-memory collection of keys and certificates. There are two types of entries: Key Entry This type of keystore entry store sensitive crytographic key information in a protected format.Typically this is a secret key or a private key with a certificate chain. Trusted Ceritificate Entry This type of keystore entry contains a single public key certificate belonging to annother entity. It is called trusted because the keystore owner trusts that the certificates belongs to the subject (owner) of the certificate. The keystore contains an "alias" string for each entry. The structure and persistentence of the key store is not specified. Any method could be used to protect sensitive (private or secret) keys. Smart cards or integrated cryptographic engines could be used or the keystore could be simply stored in a file.

Constructor Summary

KeyStore(java.security.KeyStoreSpi keyStoreSpi, java.security.Provider provider, java.lang.String type)

Creates an instance of KeyStore

Method Summary

java.util.Enumerationaliases()

Generates a list of all the aliases in the keystore.
booleancontainsAlias(java.lang.String alias)

Determines if the keystore contains the specified alias.
voiddeleteEntry(java.lang.String alias)

Deletes the entry for the specified entry.
java.security.cert.CertificategetCertificate(java.lang.String alias)

Gets a Certificate for the specified alias.
java.lang.StringgetCertificateAlias(java.security.cert.Certificate cert)

Determines if the keystore contains the specified certificate entry and returns the alias.
java.security.cert.Certificate[]getCertificateChain(java.lang.String alias)

Gets a Certificate chain for the specified alias.
java.util.DategetCreationDate(java.lang.String alias)

Gets entry creation date for the specified alias.
static java.lang.StringgetDefaultType()

Returns the default KeyStore type.
static java.security.KeyStoregetInstance(java.lang.String type)

Gets an instance of the KeyStore class representing the specified keystore.
static java.security.KeyStoregetInstance(java.lang.String type, java.lang.String provider)

Gets an instance of the KeyStore class representing the specified key store from the specified provider.
static java.security.KeyStoregetInstance(java.lang.String type, java.security.Provider provider)

Gets an instance of the KeyStore class representing the specified key store from the specified provider.
java.security.KeygetKey(java.lang.String alias, char[] )

Returns the key associated with given alias using the supplied password.
java.security.ProvidergetProvider()

Gets the provider that the class is from.
java.lang.StringgetType()

Returns the type of the KeyStore supported
booleanisCertificateEntry(java.lang.String alias)

Determines if the keystore contains a certificate entry for the specified alias.
booleanisKeyEntry(java.lang.String alias)

Determines if the keystore contains a key entry for the specified alias.
voidload(java.io.InputStream stream, char[] )

Loads the keystore from the specified input stream and it uses the specified password to check for integrity if supplied.
voidsetCertificateEntry(java.lang.String alias, java.security.cert. Certificate cert)

Assign the certificate to the alias in the keystore.
voidsetKeyEntry(java.lang.String alias, java.security.Key key, char[] , java.security.cert. Certificate[]chain)

Assign the key to the alias in the keystore, protecting it with the given password.
voidsetKeyEntry(java.lang.String alias, byte[] , java.security.cert. Certificate[]chain)

Assign the key to the alias in the keystore.
intsize()

Returns the number of entries in the keystore.
voidstore(java.io.OutputStream stream, char[] )

Stores the keystore in the specified output stream and it uses the specified key it keep it secure.

Constructor Details

KeyStore

protected KeyStore(java.security.KeyStoreSpi keyStoreSpi, java.security.Provider provider, java.lang.String type)

Creates an instance of KeyStore

Parameters:


Method Details

aliases

public final Enumeration aliases()

Generates a list of all the aliases in the keystore.

Returns:


containsAlias

public final boolean containsAlias(java.lang.String alias)

Determines if the keystore contains the specified alias.

Parameters:

Returns:


deleteEntry

public final void deleteEntry(java.lang.String alias)

Deletes the entry for the specified entry.

Parameters:

Throws:


getCertificate

public final Certificate getCertificate(java.lang.String alias)

Gets a Certificate for the specified alias. If there is a trusted certificate entry then that is returned. it there is a key entry with a certificate chain then the first certificate is return or else null.

Parameters:

Returns:


getCertificateAlias

public final String getCertificateAlias(java.security.cert.Certificate cert)

Determines if the keystore contains the specified certificate entry and returns the alias. It checks every entry and for a key entry checks only the first certificate in the chain.

Parameters:

Returns:


getCertificateChain

public final Certificate[] getCertificateChain(java.lang.String alias)

Gets a Certificate chain for the specified alias.

Parameters:

Returns:


getCreationDate

public final Date getCreationDate(java.lang.String alias)

Gets entry creation date for the specified alias.

Parameters:


getDefaultType

public static final String getDefaultType()

Returns the default KeyStore type. This method looks up the type in /lib/security/java.security with the property "keystore.type" or if that fails then "jks" .


getInstance

public static KeyStore getInstance(java.lang.String type)

Gets an instance of the KeyStore class representing the specified keystore. If the type is not found then, it throws KeyStoreException.

Parameters:

Returns:

Throws:


getInstance

public static KeyStore getInstance(java.lang.String type, java.lang.String provider)

Gets an instance of the KeyStore class representing the specified key store from the specified provider. If the type is not found then, it throws KeyStoreException. If the provider is not found, then it throws NoSuchProviderException.

Parameters:

Returns:

Throws:


getInstance

public static KeyStore getInstance(java.lang.String type, java.security.Provider provider)

Gets an instance of the KeyStore class representing the specified key store from the specified provider. If the type is not found then, it throws KeyStoreException. If the provider is not found, then it throws NoSuchProviderException.

Since:Parameters:

Returns:

Throws:


getKey

public final Key getKey(java.lang.String alias, char[] )

Returns the key associated with given alias using the supplied password.

Parameters:

Returns:

Throws:


getProvider

public final Provider getProvider()

Gets the provider that the class is from.

Returns:


getType

public final String getType()

Returns the type of the KeyStore supported

Returns:


isCertificateEntry

public final boolean isCertificateEntry(java.lang.String alias)

Determines if the keystore contains a certificate entry for the specified alias.

Parameters:

Returns:


isKeyEntry

public final boolean isKeyEntry(java.lang.String alias)

Determines if the keystore contains a key entry for the specified alias.

Parameters:

Returns:


load

public final void load(java.io.InputStream stream, char[] )

Loads the keystore from the specified input stream and it uses the specified password to check for integrity if supplied.

Parameters:

Throws:


setCertificateEntry

public final void setCertificateEntry(java.lang.String alias, java.security.cert. Certificate cert)

Assign the certificate to the alias in the keystore. It will overwrite an existing entry.

Parameters:

Throws:


setKeyEntry

public final void setKeyEntry(java.lang.String alias, byte[] , java.security.cert. Certificate[]chain)

Assign the key to the alias in the keystore. It will overwrite an existing entry and if the key is a PrivateKey, also add the certificate chain representing the corresponding public key.

Parameters:

Throws:


setKeyEntry

public final void setKeyEntry(java.lang.String alias, java.security.Key key, char[] , java.security.cert. Certificate[]chain)

Assign the key to the alias in the keystore, protecting it with the given password. It will overwrite an existing entry and if the key is a PrivateKey, also add the certificate chain representing the corresponding public key.

Parameters:

Throws:


size

public final int size()

Returns the number of entries in the keystore.


store

public final void store(java.io.OutputStream stream, char[] )

Stores the keystore in the specified output stream and it uses the specified key it keep it secure.

Parameters:

Throws: