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
 
 -