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.
-
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
-
-
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
-