public static class KeyStore.PasswordProtection extends Object implements KeyStore.ProtectionParameter, Destroyable
A password-based implementation of ProtectionParameter
.
public PasswordProtection(char[] password)
Creates a password parameter.
The specified password
is cloned before it is stored in the new PasswordProtection
object.
password
- the password, which may be null
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 password
is cloned before it is stored in the new PasswordProtection
object.
password
- the password, which may be null
protectionAlgorithm
- the encryption algorithm name, for example, PBEWithHmacSHA256AndAES_256
. See the Cipher section in the Java Cryptography Architecture Standard Algorithm Name Documentation for information about standard encryption algorithm names.protectionParameters
- the encryption algorithm parameter specification, which may be null
NullPointerException
- if protectionAlgorithm
is null
public String getProtectionAlgorithm()
Gets the name of the protection algorithm. If none was set then the keystore provider will use its default protection algorithm. The name of the default protection algorithm for a given keystore type is set using the 'keystore.<type>.keyProtectionAlgorithm'
security property. For example, the keystore.PKCS12.keyProtectionAlgorithm
property stores the name of the default key protection algorithm used for PKCS12 keystores. If the security property is not set, an implementation-specific algorithm will be used.
null
if none was setpublic AlgorithmParameterSpec getProtectionParameters()
Gets the parameters supplied for the protection algorithm.
null
, if none was setpublic 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.
null
IllegalStateException
- if the password has been cleared (destroyed)destroy()
public void destroy() throws DestroyFailedException
Clears the password.
destroy
in interface Destroyable
DestroyFailedException
- if this method was unable to clear the passwordpublic boolean isDestroyed()
Determines if password has been cleared.
isDestroyed
in interface Destroyable
© 1993–2017, 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.