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

    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

    Modifier and Type
    Method
    Description
    void
    Clears the password.
    char[]
    Gets the password.
    Gets the name of the protection algorithm.
    Gets the parameters supplied for the protection algorithm.
    boolean
    Determines if password has been cleared.

    Methods declared in class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.
    boolean
    Compares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    May cause performance issues, deadlocks and hangs.
    final Class<? extends Object>
    Answers the unique instance of java.lang.Class which represents the class of the receiver.
    int
    Answers an integer hash code for the receiver.
    final void
    Causes one thread which is waiting on the receiver to be made ready to run.
    final void
    Causes all threads which are waiting on the receiver to be made ready to run.
    Answers a string containing a concise, human-readable description of the receiver.
    final void
    Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated by notify or notifyAll).
    final void
    wait(long time)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
    final void
    wait(long time, int frac)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
  • Constructor Details

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

      Parameters:
      password - the password, which may be null
      protectionAlgorithm - 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 be null
      Throws:
      NullPointerException - if protectionAlgorithm is null
      Since:
      1.8
      External Specifications
  • Method Details

    • getProtectionAlgorithm

      public String 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 null if none was set
      Since:
      1.8
    • getProtectionParameters

      public AlgorithmParameterSpec 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

      public void destroy() throws DestroyFailedException
      Clears the password.
      Specified by:
      destroy in interface Destroyable
      Throws:
      DestroyFailedException - if this method was unable to clear the password
    • isDestroyed

      public boolean isDestroyed()
      Determines if password has been cleared.
      Specified by:
      isDestroyed in interface Destroyable
      Returns:
      true if the password has been cleared, false otherwise