Class TLSKeyMaterialSpec

  • All Implemented Interfaces:
    java.security.spec.KeySpec

    public class TLSKeyMaterialSpec
    extends java.lang.Object
    implements java.security.spec.KeySpec
    Key Spec class for generating TLS key/iv material.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String KEY_EXPANSION  
      static java.lang.String MASTER_SECRET  
    • Constructor Summary

      Constructors 
      Constructor Description
      TLSKeyMaterialSpec​(byte[] secret, java.lang.String label, int length, byte[]... seedMaterial)
      Constructor specifying the basic parameters for a TLS KDF
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getLabel()
      Return the label associated with this spec.
      int getLength()
      Return the number of bytes of key material to be generated for this spec.
      byte[] getSecret()
      Return the secret associated with this spec.
      byte[] getSeed()
      Return the full seed for the spec.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TLSKeyMaterialSpec

        public TLSKeyMaterialSpec​(byte[] secret,
                                  java.lang.String label,
                                  int length,
                                  byte[]... seedMaterial)
        Constructor specifying the basic parameters for a TLS KDF
        Parameters:
        secret - secret to use
        label - e.g. 'master secret', or 'key expansion'
        length - number of bytes of material to be generated
        seedMaterial - array of seed material inputs (to be concatenated together)
    • Method Detail

      • getLabel

        public java.lang.String getLabel()
        Return the label associated with this spec.
        Returns:
        the label to be used with the TLS KDF.
      • getLength

        public int getLength()
        Return the number of bytes of key material to be generated for this spec.
        Returns:
        the length in bytes of the result.
      • getSecret

        public byte[] getSecret()
        Return the secret associated with this spec.
        Returns:
        a copy of the secret.
      • getSeed

        public byte[] getSeed()
        Return the full seed for the spec.
        Returns:
        a copy of the seed.