Class DOMSignContext

java.lang.Object
javax.xml.crypto.dom.DOMCryptoContext
javax.xml.crypto.dsig.dom.DOMSignContext
All Implemented Interfaces:
XMLSignContext, XMLCryptoContext

public class DOMSignContext extends DOMCryptoContext implements XMLSignContext
A DOM-specific XMLSignContext. This class contains additional methods to specify the location in a DOM tree where an XMLSignature object is to be marshalled when generating the signature.

Note that DOMSignContext instances can contain information and state specific to the XML signature structure it is used with. The results are unpredictable if a DOMSignContext is used with different signature structures (for example, you should not use the same DOMSignContext instance to sign two different XMLSignature objects).

Since:
1.6
  • Constructor Details

    • DOMSignContext

      public DOMSignContext(Key signingKey, Node parent)
      Creates a DOMSignContext with the specified signing key and parent node. The signing key is stored in a singleton KeySelector that is returned by the getKeySelector method. The marshalled XMLSignature will be added as the last child element of the specified parent node unless a next sibling node is specified by invoking the setNextSibling method.
      Parameters:
      signingKey - the signing key
      parent - the parent node
      Throws:
      NullPointerException - if signingKey or parent is null
    • DOMSignContext

      public DOMSignContext(Key signingKey, Node parent, Node nextSibling)
      Creates a DOMSignContext with the specified signing key, parent and next sibling nodes. The signing key is stored in a singleton KeySelector that is returned by the getKeySelector method. The marshalled XMLSignature will be inserted as a child element of the specified parent node and immediately before the specified next sibling node.
      Parameters:
      signingKey - the signing key
      parent - the parent node
      nextSibling - the next sibling node
      Throws:
      NullPointerException - if signingKey, parent or nextSibling is null
    • DOMSignContext

      public DOMSignContext(KeySelector ks, Node parent)
      Creates a DOMSignContext with the specified key selector and parent node. The marshalled XMLSignature will be added as the last child element of the specified parent node unless a next sibling node is specified by invoking the setNextSibling method.
      Parameters:
      ks - the key selector
      parent - the parent node
      Throws:
      NullPointerException - if ks or parent is null
    • DOMSignContext

      public DOMSignContext(KeySelector ks, Node parent, Node nextSibling)
      Creates a DOMSignContext with the specified key selector, parent and next sibling nodes. The marshalled XMLSignature will be inserted as a child element of the specified parent node and immediately before the specified next sibling node.
      Parameters:
      ks - the key selector
      parent - the parent node
      nextSibling - the next sibling node
      Throws:
      NullPointerException - if ks, parent or nextSibling is null
  • Method Details

    • setParent

      public void setParent(Node parent)
      Sets the parent node.
      Parameters:
      parent - the parent node. The marshalled XMLSignature will be added as a child element of this node.
      Throws:
      NullPointerException - if parent is null
      See Also:
      getParent()
    • setNextSibling

      public void setNextSibling(Node nextSibling)
      Sets the next sibling node.
      Parameters:
      nextSibling - the next sibling node. The marshalled XMLSignature will be inserted immediately before this node. Specify null to remove the current setting.
      See Also:
      getNextSibling()
    • getParent

      public Node getParent()
      Returns the parent node.
      Returns:
      the parent node (never null)
      See Also:
      setParent(Node)
    • getNextSibling

      public Node getNextSibling()
      Returns the nextSibling node.
      Returns:
      the nextSibling node, or null if not specified.
      See Also:
      setNextSibling(Node)