KeyStore.PasswordProtection (Java Platform SE 8 ) (original) (raw)
- 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
Constructors
Constructor Description PasswordProtection(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
All Methods Instance Methods Concrete Methods
Modifier and Type Method Description void destroy() Clears the password. char[] getPassword() Gets the password. String getProtectionAlgorithm() Gets the name of the protection algorithm. AlgorithmParameterSpec getProtectionParameters() Gets the parameters supplied for the protection algorithm. boolean isDestroyed() Determines if password has been cleared. * ### Methods inherited from class java.lang.[Object](../../java/lang/Object.html "class in java.lang") `[clone](../../java/lang/Object.html#clone--), [equals](../../java/lang/Object.html#equals-java.lang.Object-), [finalize](../../java/lang/Object.html#finalize--), [getClass](../../java/lang/Object.html#getClass--), [hashCode](../../java/lang/Object.html#hashCode--), [notify](../../java/lang/Object.html#notify--), [notifyAll](../../java/lang/Object.html#notifyAll--), [toString](../../java/lang/Object.html#toString--), [wait](../../java/lang/Object.html#wait--), [wait](../../java/lang/Object.html#wait-long-), [wait](../../java/lang/Object.html#wait-long-int-)`
Constructor Detail
* #### PasswordProtection public PasswordProtection(char[] password) Creates a password parameter. The specified `password` is cloned before it is stored in the new `PasswordProtection` object. Parameters: `password` \- the password, which may be `null` * #### PasswordProtection public PasswordProtection(char[] password, [String](../../java/lang/String.html "class in java.lang") protectionAlgorithm, [AlgorithmParameterSpec](../../java/security/spec/AlgorithmParameterSpec.html "interface in java.security.spec") 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. Parameters: `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](../../../technotes/guides/security/StandardNames.html#Cipher) for information about standard encryption algorithm names. `protectionParameters` \- the encryption algorithm parameter specification, which may be `null` Throws: `[NullPointerException](../../java/lang/NullPointerException.html "class in java.lang")` \- if `protectionAlgorithm` is`null` Since: 1.8
Method Detail
* #### getProtectionAlgorithm public [String](../../java/lang/String.html "class in java.lang") 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. Returns: the algorithm name, or `null` if none was set Since: 1.8 * #### getProtectionParameters public [AlgorithmParameterSpec](../../java/security/spec/AlgorithmParameterSpec.html "interface in java.security.spec") 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](../../java/lang/IllegalStateException.html "class in java.lang")` \- if the password has been cleared (destroyed) See Also: [destroy()](../../java/security/KeyStore.PasswordProtection.html#destroy--) * #### destroy public void destroy() throws [DestroyFailedException](../../javax/security/auth/DestroyFailedException.html "class in javax.security.auth") Clears the password. Specified by: `[destroy](../../javax/security/auth/Destroyable.html#destroy--)` in interface `[Destroyable](../../javax/security/auth/Destroyable.html "interface in javax.security.auth")` Throws: `[DestroyFailedException](../../javax/security/auth/DestroyFailedException.html "class in javax.security.auth")` \- if this method was unable to clear the password * #### isDestroyed public boolean isDestroyed() Determines if password has been cleared. Specified by: `[isDestroyed](../../javax/security/auth/Destroyable.html#isDestroyed--)` in interface `[Destroyable](../../javax/security/auth/Destroyable.html "interface in javax.security.auth")` Returns: true if the password has been cleared, false otherwise
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.