DOMValidateContext (Java Platform SE 8 )
Keywords: javax.xml.crypto.dsig.dom.DOMValidateContext class
Date: 2026-06-25

compact3
javax.xml.crypto.dsig.dom

## Class DOMValidateContext

- java.lang.Object
- - javax.xml.crypto.dom.DOMCryptoContext
  - - javax.xml.crypto.dsig.dom.DOMValidateContext

- All Implemented Interfaces:
    XMLValidateContext, XMLCryptoContext

      public class DOMValidateContext
      extends DOMCryptoContext
      implements XMLValidateContext

  A DOM-specific `XMLValidateContext`. This class contains additional methods to specify the location in a DOM tree where an `XMLSignature` is to be unmarshalled and validated from.

  Note that the behavior of an unmarshalled `XMLSignature` is undefined if the contents of the underlying DOM tree are modified by the caller after the `XMLSignature` is created.

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

  Since:
    1.6
  See Also:
    `XMLSignatureFactory.unmarshalXMLSignature(XMLValidateContext)`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DOMValidateContext(Key validatingKey, Node node)` Creates a `DOMValidateContext` containing the specified key and node.
    `DOMValidateContext(KeySelector ks, Node node)` Creates a `DOMValidateContext` containing the specified key selector and node.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Node` | `getNode()` Returns the node.
    `void` | `setNode(Node node)` Sets the node.

    - ### Methods inherited from class javax.xml.crypto.dom.DOMCryptoContext

      `get, getBaseURI, getDefaultNamespacePrefix, getElementById, getKeySelector, getNamespacePrefix, getProperty, getURIDereferencer, iterator, put, putNamespacePrefix, setBaseURI, setDefaultNamespacePrefix, setIdAttributeNS, setKeySelector, setProperty, setURIDereferencer`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface javax.xml.crypto.XMLCryptoContext

      `get, getBaseURI, getDefaultNamespacePrefix, getKeySelector, getNamespacePrefix, getProperty, getURIDereferencer, put, putNamespacePrefix, setBaseURI, setDefaultNamespacePrefix, setKeySelector, setProperty, setURIDereferencer`

- - ### Constructor Detail

    - #### DOMValidateContext

          public DOMValidateContext(KeySelector ks,
                                    Node node)

      Creates a `DOMValidateContext` containing the specified key selector and node.
      Parameters:
        `ks` - a key selector for finding a validation key
        `node` - the node
      Throws:
        `NullPointerException` - if `ks` or `node` is `null`

    - #### DOMValidateContext

          public DOMValidateContext(Key validatingKey,
                                    Node node)

      Creates a `DOMValidateContext` containing the specified key and node. The validating key will be stored in a `singleton KeySelector` that is returned when the `getKeySelector` method is called.
      Parameters:
        `validatingKey` - the validating key
        `node` - the node
      Throws:
        `NullPointerException` - if `validatingKey` or `node` is `null`

  - ### Method Detail

    - #### setNode

          public void setNode(Node node)

      Sets the node.
      Parameters:
        `node` - the node
      Throws:
        `NullPointerException` - if `node` is `null`
      See Also:
        `getNode()`

    - #### getNode

          public Node getNode()

      Returns the node.
      Returns:
        the node (never `null`)
      See Also:
        `setNode(Node)`

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.