Class DerivedKeyToken

java.lang.Object
org.apache.wss4j.dom.message.token.DerivedKeyToken

public class DerivedKeyToken extends Object
<DerivedKeyToken wsu:Id="..." wsc:Algorithm="..."> ... ... ... ... ... ...
  • Constructor Details

    • DerivedKeyToken

      public DerivedKeyToken(Document doc) throws WSSecurityException
      This will create an empty DerivedKeyToken
      Parameters:
      doc - The DOM document
      Throws:
      WSSecurityException
    • DerivedKeyToken

      public DerivedKeyToken(int version, Document doc) throws WSSecurityException
      This will create an empty DerivedKeyToken
      Parameters:
      doc - The DOM document
      Throws:
      WSSecurityException
    • DerivedKeyToken

      public DerivedKeyToken(Element elem, BSPEnforcer bspEnforcer) throws WSSecurityException
      This will create a DerivedKeyToken object with the given DerivedKeyToken element
      Parameters:
      elem - The DerivedKeyToken DOM element
      bspEnforcer - a BSPEnforcer instance to enforce BSP rules
      Throws:
      WSSecurityException - If the element is not a derived key token
  • Method Details

    • addWSUNamespace

      public void addWSUNamespace()
      Add the WSU Namespace to this DKT. The namespace is not added by default for efficiency purposes.
    • setSecurityTokenReference

      public void setSecurityTokenReference(SecurityTokenReference ref)
      Sets the security token reference of the derived key token This is the reference to the shared secret used in the conversation/context
      Parameters:
      ref - Security token reference
    • setSecurityTokenReference

      public void setSecurityTokenReference(Element elem)
    • getSecurityTokenReference

      public SecurityTokenReference getSecurityTokenReference() throws WSSecurityException
      Returns the SecurityTokenReference of the derived key token
      Returns:
      the Security Token Reference of the derived key token
      Throws:
      WSSecurityException
    • getSecurityTokenReferenceElement

      public Element getSecurityTokenReferenceElement()
      Returns the SecurityTokenReference element of the derived key token
      Returns:
      the Security Token Reference element of the derived key token
    • setProperties

      public void setProperties(String name, String label, String nonce)
      This is used to set the Name, Label and Nonce element values in the properties element At this point I'm not sure if these are the only properties that will appear in the Properties element. There fore this method is provided If this is not required feel free to remove this :D
      Parameters:
      name - Value of the Properties/Name element
      label - Value of the Properties/Label element
      nonce - Value of the Properties/Nonce element
    • setProperties

      public void setProperties(Map<String,String> properties)
      If there are other types of properties other than Name, Label and Nonce This is provided for extensibility purposes
      Parameters:
      properties - The properties and values in a Map
    • getProperties

      public Map<String,String> getProperties()
    • setLength

      public void setLength(int length)
      Sets the length of the derived key
      Parameters:
      length - The length of the derived key as a long
    • getLength

      public int getLength()
    • setOffset

      public void setOffset(int offset) throws WSSecurityException
      Sets the offset
      Parameters:
      offset - The offset value as an integer
      Throws:
      WSSecurityException
    • getOffset

      public int getOffset()
    • setGeneration

      public void setGeneration(int generation) throws WSSecurityException
      Sets the generation of the derived key
      Parameters:
      generation - generation value as an integer
      Throws:
      WSSecurityException
    • getGeneration

      public int getGeneration()
    • setLabel

      public void setLabel(String label)
      Sets the label of the derived key
      Parameters:
      label - Label value as a string
    • setNonce

      public void setNonce(String nonce)
      Sets the nonce value of the derived key
      Parameters:
      nonce - Nonce value as a string
    • getLabel

      public String getLabel()
      Returns the label of the derived key token
      Returns:
      Label of the derived key token
    • getNonce

      public String getNonce()
      Return the nonce of the derived key token
      Returns:
      Nonce of the derived key token
    • getElement

      public Element getElement()
      Returns the dom element of this SecurityContextToken object.
      Returns:
      the DerivedKeyToken element
    • toString

      public String toString()
      Returns the string representation of the token.
      Overrides:
      toString in class Object
      Returns:
      a XML string representation
    • getID

      public String getID()
      Gets the id.
      Returns:
      the value of the wsu:Id attribute of this DerivedKeyToken
    • setID

      public void setID(String id)
      Set the id of this derived key token.
      Parameters:
      id - the value for the wsu:Id attribute of this DerivedKeyToken
    • getAlgorithm

      public String getAlgorithm()
      Gets the derivation algorithm
      Returns:
      the value of the wsc:Algorithm attribute of this DerivedKeyToken
    • createPrincipal

      public Principal createPrincipal() throws WSSecurityException
      Create a WSDerivedKeyTokenPrincipal from this DerivedKeyToken object
      Throws:
      WSSecurityException
    • setAlgorithm

      public void setAlgorithm(String algo)
      Set the derivation algorithm of this derived key token.
      Parameters:
      algo - the value for the Algorithm attribute of this DerivedKeyToken
    • deriveKey

      public byte[] deriveKey(int length, byte[] secret) throws WSSecurityException
      Derive a key from this DerivedKeyToken instance
      Parameters:
      length -
      secret -
      Throws:
      WSSecurityException
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object object)
      Overrides:
      equals in class Object