Builder
abstract class Builder
kotlin.Any | |
↳ | 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.
Summary
Protected constructors | |
---|---|
Builder() Construct a new Builder. |
Public methods | |
---|---|
abstract KeyStore! |
Returns the KeyStore described by this object. |
abstract KeyStore.ProtectionParameter! |
getProtectionParameter(alias: String!) Returns the ProtectionParameters that should be used to obtain the |
open static KeyStore.Builder! |
newInstance(file: File!, protection: KeyStore.ProtectionParameter!) Returns a new Builder object. |
open static KeyStore.Builder! |
newInstance(type: String!, provider: Provider!, file: File!, protection: KeyStore.ProtectionParameter!) Returns a new Builder object. |
open static KeyStore.Builder! |
newInstance(type: String!, provider: Provider!, protection: KeyStore.ProtectionParameter!) Returns a new Builder object. |
open static KeyStore.Builder! |
newInstance(keyStore: KeyStore!, protectionParameter: KeyStore.ProtectionParameter!) Returns a new Builder that encapsulates the given KeyStore. |
Protected constructors
Public methods
getKeyStore
abstract fun getKeyStore(): KeyStore!
Returns the KeyStore described by this object.
Return | |
---|---|
KeyStore! |
the KeyStore described by this object |
Exceptions | |
---|---|
java.security.KeyStoreException |
if an error occurred during the operation, for example if the KeyStore could not be instantiated or loaded |
getProtectionParameter
abstract fun getProtectionParameter(alias: String!): KeyStore.ProtectionParameter!
Returns the ProtectionParameters 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 |
String!: the alias of the KeyStore entry |
Return | |
---|---|
KeyStore.ProtectionParameter! |
the ProtectionParameters that should be used to obtain the Entry with the given alias. |
Exceptions | |
---|---|
java.lang.NullPointerException |
if alias is null |
java.security.KeyStoreException |
if an error occurred during the operation |
java.lang.IllegalStateException |
if the getKeyStore method has not been invoked prior to calling this method |
newInstance
open static fun newInstance(
file: File!,
protection: KeyStore.ProtectionParameter!
): KeyStore.Builder!
Returns a new 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 java.security.KeyStore#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.
Note that the getKeyStore
method is executed within the AccessControlContext
of the code invoking this method.
Parameters | |
---|---|
file |
File!: the File that contains the KeyStore data |
protection |
KeyStore.ProtectionParameter!: the ProtectionParameter securing the KeyStore data |
Return | |
---|---|
KeyStore.Builder! |
a new Builder object |
Exceptions | |
---|---|
java.lang.NullPointerException |
if file or protection is null |
java.lang.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
open static fun newInstance(
type: String!,
provider: Provider!,
file: File!,
protection: KeyStore.ProtectionParameter!
): KeyStore.Builder!
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 java.security.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 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.
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 |
Return | |
---|---|
KeyStore.Builder! |
a new Builder object |
Exceptions | |
---|---|
java.lang.NullPointerException |
if type, file or protection is null |
java.lang.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
open static fun newInstance(
type: String!,
provider: Provider!,
protection: KeyStore.ProtectionParameter!
): KeyStore.Builder!
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 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
.
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 |
Return | |
---|---|
KeyStore.Builder! |
a new Builder object |
Exceptions | |
---|---|
java.lang.NullPointerException |
if type or protection is null |
newInstance
open static fun newInstance(
keyStore: KeyStore!,
protectionParameter: KeyStore.ProtectionParameter!
): KeyStore.Builder!
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 |
Return | |
---|---|
KeyStore.Builder! |
a new Builder object |
Exceptions | |
---|---|
java.lang.NullPointerException |
if keyStore or protectionParameters is null |
java.lang.IllegalArgumentException |
if the keyStore has not been initialized |