# Print output for @column tags ?>
Developers

- Design
- Develop
- Distribute

Developer Console

## Most visited

## Recently visited

## Results for

Summary: Protected Ctors | Methods | Inherited Methods

# KeyStore.Builder

`public static abstract class KeyStore.Builder`
`extends Object` ``

java.lang.Object
↳ | java.security.KeyStore.Builder

A description of a to-be-instantiated KeyStore object.

An instance of this class encapsulates the information needed to instantiate and initialize a KeyStore object. That process is triggered when the getKeyStore() method is called.

This makes it possible to decouple configuration from KeyStore object creation and e.g. delay a password prompt until it is needed.

See also:

- `KeyStore`
- `KeyStoreBuilderParameters`

## Summary

### Protected constructors
`Builder()` Construct a new Builder.

### Public methods
`abstract KeyStore` | `getKeyStore()` Returns the KeyStore described by this object.
`abstract KeyStore.ProtectionParameter` | `getProtectionParameter(String alias)` Returns the ProtectionParameters that should be used to obtain the `KeyStore.Entry` with the given alias.
`static KeyStore.Builder` | `newInstance(String type, Provider provider, KeyStore.ProtectionParameter protection)` Returns a new Builder object.
`static KeyStore.Builder` | `newInstance(String type, Provider provider, File file, KeyStore.ProtectionParameter protection)` Returns a new Builder object.
`static KeyStore.Builder` | `newInstance(KeyStore keyStore, KeyStore.ProtectionParameter protectionParameter)` Returns a new Builder that encapsulates the given KeyStore.

### Inherited methods
From class `java.lang.Object`
`Object` | `clone()` Creates and returns a copy of this object.
`boolean` | `equals(Object obj)` Indicates whether some other object is "equal to" this one.
`void` | `finalize()` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
`final Class<?>` | `getClass()` Returns the runtime class of this `Object`.
`int` | `hashCode()` Returns a hash code value for the object.
`final void` | `notify()` Wakes up a single thread that is waiting on this object's monitor.
`final void` | `notifyAll()` Wakes up all threads that are waiting on this object's monitor.
`String` | `toString()` Returns a string representation of the object.
`final void` | `wait(long timeout, int nanos)` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.
`final void` | `wait(long timeout)` Causes the current thread to wait until either another thread invokes the `notify()` method or the `notifyAll()` method for this object, or a specified amount of time has elapsed.
`final void` | `wait()` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object.

## Protected constructors

### Builder

    protected Builder ()

Construct a new Builder.

## Public methods

### getKeyStore

    public abstract KeyStore getKeyStore ()

Returns the KeyStore described by this object.

Returns
`KeyStore` | the `KeyStore` described by this object

Throws
`KeyStoreException` | if an error occurred during the operation, for example if the KeyStore could not be instantiated or loaded

### getProtectionParameter

    public abstract KeyStore.ProtectionParameter getProtectionParameter (String alias)

Returns the ProtectionParameters that should be used to obtain the `KeyStore.Entry` with the given alias. The `getKeyStore` method must be invoked before this method may be called.

Parameters
`alias` | `String`: the alias of the KeyStore entry

Returns
`KeyStore.ProtectionParameter` | the ProtectionParameters that should be used to obtain the `KeyStore.Entry` with the given alias.

Throws
`NullPointerException` | if alias is null
`KeyStoreException` | if an error occurred during the operation
`IllegalStateException` | if the getKeyStore method has not been invoked prior to calling this method

### newInstance

    public static KeyStore.Builder newInstance (String type,
                    Provider provider,
                    KeyStore.ProtectionParameter protection)

Returns a new Builder object.

Each call to the `getKeyStore()` method on the returned builder will return a new KeyStore object of type `type`. Its `KeyStore#load(KeyStore.LoadStoreParameter)` method is invoked using a `LoadStoreParameter` that encapsulates `protection`.

The KeyStore is instantiated from `provider` if non-null. Otherwise, all installed providers are searched.

Calls to `getProtectionParameter()` will return `protection`.

Note that the `getKeyStore()` method is executed within the `AccessControlContext` of the code invoking this method.

Parameters
`type` | `String`: the type of KeyStore to be constructed
`provider` | `Provider`: the provider from which the KeyStore is to be instantiated (or null)
`protection` | `KeyStore.ProtectionParameter`: the ProtectionParameter securing the Keystore

Returns
`KeyStore.Builder` | a new Builder object

Throws
`NullPointerException` | if type or protection is null

### newInstance

    public static KeyStore.Builder newInstance (String type,
                    Provider provider,
                    File file,
                    KeyStore.ProtectionParameter protection)

Returns a new Builder object.

The first call to the `getKeyStore()` method on the returned builder will create a KeyStore of type `type` and call its `KeyStore#load` method. The `inputStream` argument is constructed from `file`. If `protection` is a `PasswordProtection`, the password is obtained by calling the `getPassword` method. Otherwise, if `protection` is a `CallbackHandlerProtection`, the password is obtained by invoking the CallbackHandler.

Subsequent calls to `getKeyStore()` return the same object as the initial call. If the initial call to failed with a KeyStoreException, subsequent calls also throw a KeyStoreException.

The KeyStore is instantiated from `provider` if non-null. Otherwise, all installed providers are searched.

Calls to `getProtectionParameter()` will return a `KeyStore.PasswordProtection` object encapsulating the password that was used to invoke the `load` method.

Note that the `getKeyStore()` method is executed within the `AccessControlContext` of the code invoking this method.

Parameters
`type` | `String`: the type of KeyStore to be constructed
`provider` | `Provider`: the provider from which the KeyStore is to be instantiated (or null)
`file` | `File`: the File that contains the KeyStore data
`protection` | `KeyStore.ProtectionParameter`: the ProtectionParameter securing the KeyStore data

Returns
`KeyStore.Builder` | a new Builder object

Throws
`NullPointerException` | if type, file or protection is null
`IllegalArgumentException` | if protection is not an instance of either PasswordProtection or CallbackHandlerProtection; or if file does not exist or does not refer to a normal file

### newInstance

    public static KeyStore.Builder newInstance (KeyStore keyStore,
                    KeyStore.ProtectionParameter protectionParameter)

Returns a new Builder that encapsulates the given KeyStore. The getKeyStore() method of the returned object will return `keyStore`, the getProtectionParameter() method will return `protectionParameters`.

This is useful if an existing KeyStore object needs to be used with Builder-based APIs.

Parameters
`keyStore` | `KeyStore`: the KeyStore to be encapsulated
`protectionParameter` | `KeyStore.ProtectionParameter`: the ProtectionParameter used to protect the KeyStore entries

Returns
`KeyStore.Builder` | a new Builder object

Throws
`NullPointerException` | if keyStore or protectionParameters is null
`IllegalArgumentException` | if the keyStore has not been initialized

Full name *
Email address *
Company / developer name
One of your Play Store app URLs *
Which best describes your business:*
Apps
Games
Apps & Games
*
*