Class PKCS12Key

  • All Implemented Interfaces:
    java.io.Serializable, java.security.Key, javax.crypto.SecretKey, javax.security.auth.Destroyable, PBKDFKey
    Direct Known Subclasses:
    PKCS12KeyWithParameters

    public class PKCS12Key
    extends java.lang.Object
    implements PBKDFKey
    A password based key for use with PKCS#12.
    See Also:
    Serialized Form
    • Field Summary

      • Fields inherited from interface javax.crypto.SecretKey

        serialVersionUID
    • Constructor Summary

      Constructors 
      Constructor Description
      PKCS12Key​(char[] password)
      Basic constructor for a password based key - secret key generation parameters will be passed separately..
      PKCS12Key​(char[] password, boolean useWrongZeroLengthConversion)
      Unfortunately there seems to be some confusion about how to handle zero length passwords.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getAlgorithm()
      Return the password based key derivation function this key is for,
      byte[] getEncoded()
      Return the password converted to bytes.
      java.lang.String getFormat()
      Return the format encoding.
      char[] getPassword()
      Return a reference to the char[] array holding the password.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface javax.security.auth.Destroyable

        destroy, isDestroyed
    • Constructor Detail

      • PKCS12Key

        public PKCS12Key​(char[] password)
        Basic constructor for a password based key - secret key generation parameters will be passed separately..
        Parameters:
        password - password to use.
      • PKCS12Key

        public PKCS12Key​(char[] password,
                         boolean useWrongZeroLengthConversion)
        Unfortunately there seems to be some confusion about how to handle zero length passwords.
        Parameters:
        password - password to use.
        useWrongZeroLengthConversion - use the incorrect encoding approach (add pad bytes)
    • Method Detail

      • getPassword

        public char[] getPassword()
        Return a reference to the char[] array holding the password.
        Returns:
        a reference to the password array.
      • getAlgorithm

        public java.lang.String getAlgorithm()
        Return the password based key derivation function this key is for,
        Specified by:
        getAlgorithm in interface java.security.Key
        Returns:
        the string "PKCS12"
      • getFormat

        public java.lang.String getFormat()
        Return the format encoding.
        Specified by:
        getFormat in interface java.security.Key
        Returns:
        the string "PKCS12", representing the char[] to byte[] conversion.
      • getEncoded

        public byte[] getEncoded()
        Return the password converted to bytes.
        Specified by:
        getEncoded in interface java.security.Key
        Returns:
        the password converted to a byte array.