Class KeyStore.PasswordProtection
java.lang.Object
java.security.KeyStore.PasswordProtection
- All Implemented Interfaces:
KeyStore.ProtectionParameter, Destroyable
- Enclosing class:
KeyStore
public static class KeyStore.PasswordProtection
extends Object
implements KeyStore.ProtectionParameter, Destroyable
A password-based implementation of
ProtectionParameter.- Since:
- 1.5
-
Constructor Summary
ConstructorsConstructorDescriptionPasswordProtection(char[] password) Creates a password parameter.PasswordProtection(char[] password, String protectionAlgorithm, AlgorithmParameterSpec protectionParameters) Creates a password parameter and specifies the protection algorithm and associated parameters to use when encrypting a keystore entry. -
Method Summary
Modifier and TypeMethodDescriptionvoiddestroy()Clears the password.char[]Gets the password.Gets the name of the protection algorithm.Gets the parameters supplied for the protection algorithm.booleanDetermines if password has been cleared.Methods declared in class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitModifier and TypeMethodDescriptionprotected Objectclone()Creates and returns a copy of this object.booleanIndicates whether some other object is "equal to" this one.protected voidfinalize()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 thisObject.inthashCode()Returns a hash code value for this object.final voidnotify()Wakes up a single thread that is waiting on this object's monitor.final voidWakes up all threads that are waiting on this object's monitor.toString()Returns a string representation of the object.final voidwait()Causes the current thread to wait until it is awakened, typically by being notified or interrupted.final voidwait(long timeoutMillis) 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 voidwait(long timeoutMillis, int nanos) 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
-
PasswordProtection
public PasswordProtection(char[] password) Creates a password parameter.The specified
passwordis cloned before it is stored in the newPasswordProtectionobject.- Parameters:
password- the password, which may benull
-
PasswordProtection
public PasswordProtection(char[] password, String protectionAlgorithm, AlgorithmParameterSpec protectionParameters) Creates a password parameter and specifies the protection algorithm and associated parameters to use when encrypting a keystore entry.The specified
passwordis cloned before it is stored in the newPasswordProtectionobject.- Parameters:
password- the password, which may benullprotectionAlgorithm- the encryption algorithm name, for example,PBEWithHmacSHA256AndAES_256. See the Cipher section in the Java Security Standard Algorithm Names Specification for information about standard encryption algorithm names.protectionParameters- the encryption algorithm parameter specification, which may benull- Throws:
NullPointerException- ifprotectionAlgorithmisnull- Since:
- 1.8
- External Specifications
-
-
Method Details
-
getProtectionAlgorithm
Gets the name of the protection algorithm. If none was set then the keystore provider will use its default protection algorithm.- Returns:
- the algorithm name, or
nullif none was set - Since:
- 1.8
-
getProtectionParameters
Gets the parameters supplied for the protection algorithm.- Returns:
- the algorithm parameter specification, or
null, if none was set - Since:
- 1.8
-
getPassword
public char[] getPassword()Gets the password.Note that this method returns a reference to the password. If a clone of the array is created it is the caller's responsibility to zero out the password information after it is no longer needed.
- Returns:
- the password, which may be
null - Throws:
IllegalStateException- if the password has been cleared (destroyed)- See Also:
-
destroy
Clears the password.- Specified by:
destroyin interfaceDestroyable- Throws:
DestroyFailedException- if this method was unable to clear the password
-
isDestroyed
public boolean isDestroyed()Determines if password has been cleared.- Specified by:
isDestroyedin interfaceDestroyable- Returns:
trueif the password has been cleared,falseotherwise
-