Class KeyStore.Builder
- Enclosing class:
KeyStore
public abstract static class KeyStore.Builder extends Object
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.
- Since:
- 1.5
- See Also:
Constructor Summary
| Modifier | Constructor | Description |
|---|---|---|
protected |
Construct a new Builder. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
abstract KeyStore |
getKeyStore() |
Returns the KeyStore described by this object. |
abstract KeyStore.ProtectionParameter |
getProtectionParameter |
Returns the ProtectionParameter that should be used to obtain the Entry with the given alias. |
static KeyStore.Builder |
newInstance |
Returns a new Builder object. |
static KeyStore.Builder |
newInstance |
Returns a new Builder object. |
static KeyStore.Builder |
newInstance |
Returns a new Builder object. |
static KeyStore.Builder |
newInstance |
Returns a new Builder that encapsulates the given KeyStore. |
Methods declared in class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Modifier and Type | Method | Description |
|---|---|---|
protected Object |
clone() |
Creates and returns a copy of this object. |
boolean |
equals |
Indicates whether some other object is "equal to" this one. |
protected void |
finalize() |
Deprecated, for removal: This API element is subject to removal in a future version. Finalization is deprecated and subject to removal in a future release. |
final Class |
getClass() |
Returns the runtime class of this Object. |
int |
hashCode() |
Returns a hash code value for this 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() |
Causes the current thread to wait until it is awakened, typically by being notified or interrupted. |
final void |
wait |
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed. |
final void |
wait |
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed. |
Constructor Details
Builder
protected Builder()
Builder.Method Details
getKeyStore
public abstract KeyStore getKeyStore() throws KeyStoreException
KeyStore described by this object.- Returns:
- the
KeyStoredescribed by this object - Throws:
-
KeyStoreException- if an error occurred during the operation, for example if theKeyStorecould not be instantiated or loaded
getProtectionParameter
public abstract KeyStore.ProtectionParameter getProtectionParameter(String alias) throws KeyStoreException
ProtectionParameter that should be used to obtain the Entry with the given alias. The getKeyStore method must be invoked before this method may be called.- Parameters:
-
alias- the alias of theKeyStoreentry - Returns:
- the
ProtectionParameterthat should be used to obtain theEntrywith the given alias. - Throws:
-
NullPointerException- if alias isnull -
KeyStoreException- if an error occurred during the operation -
IllegalStateException- if thegetKeyStoremethod has not been invoked prior to calling this method
newInstance
public static KeyStore.Builder newInstance(KeyStore keyStore, KeyStore.ProtectionParameter protectionParameter)
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- theKeyStoreto be encapsulated -
protectionParameter- theProtectionParameterused to protect theKeyStoreentries - Returns:
- a new
Builderobject - Throws:
-
NullPointerException- ifkeyStoreorprotectionParameterisnull -
IllegalArgumentException- if thekeyStorehas not been initialized
newInstance
public static KeyStore.Builder newInstance(String type, Provider provider, File file, KeyStore.ProtectionParameter protection)
Builder object. The first call to the getKeyStore() method on the returned builder will create a KeyStore of type type and call its 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 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 PasswordProtection object encapsulating the password that was used to invoke the load method.
- Parameters:
-
type- the type ofKeyStoreto be constructed -
provider- the provider from which theKeyStoreis to be instantiated (ornull) -
file- the File that contains theKeyStoredata -
protection- theProtectionParametersecuring theKeyStoredata - Returns:
- a new
Builderobject - Throws:
-
NullPointerException- if type, file or protection isnull -
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(File file, KeyStore.ProtectionParameter protection)
Builder object. The first call to the getKeyStore() method on the returned builder will create a KeyStore using file to detect the keystore type and then call its load() method. It uses the same algorithm to determine the keystore type as described in KeyStore.getInstance(File, LoadStoreParameter). 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 failed with a KeyStoreException, subsequent calls also throw a KeyStoreException.
Calls to getProtectionParameter() will return a PasswordProtection object encapsulating the password that was used to invoke the load method.
- Parameters:
-
file- the File that contains theKeyStoredata -
protection- theProtectionParametersecuring theKeyStoredata - Returns:
- a new
Builderobject - Throws:
-
NullPointerException- if file or protection isnull -
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 - Since:
- 9
newInstance
public static KeyStore.Builder newInstance(String type, Provider provider, KeyStore.ProtectionParameter protection)
Builder object. Each call to the getKeyStore() method on the returned builder will return a new KeyStore object of type type. Its load() 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.
- Parameters:
-
type- the type ofKeyStoreto be constructed -
provider- the provider from which theKeyStoreis to be instantiated (ornull) -
protection- theProtectionParametersecuring theKeystore - Returns:
- a new
Builderobject - Throws:
-
NullPointerException- if type or protection isnull
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.