モジュール java.xml.crypto
パッケージ javax.xml.crypto.dsig.dom

クラスDOMValidateContext

  • すべての実装されたインタフェース:
    XMLValidateContext, XMLCryptoContext

    public class DOMValidateContext
    extends DOMCryptoContext
    implements XMLValidateContext
    DOM固有のXMLValidateContext このクラスには、XMLSignatureが非整列化され検証されるDOMツリーでの位置を指定する追加のメソッドが格納されます。

    XMLSignatureの作成後に、基本となるDOMツリーのコンテンツが呼出し側によって変更された場合、非整列化されたXMLSignatureの動作は定義されていません。

    また、DOMValidateContextインスタンスには、ともに使用されるXML署名構造に固有の情報および状態を格納できます。 DOMValidateContextが異なる署名構造(たとえば、同じDOMValidateContextインスタンスを使用して2つの異なるXMLSignatureオブジェクトに署名すべきでない)とともに使用された場合、予想外の結果となります。

    実装上のノート:
    JDK実装は、org.jcp.xml.dsig.secureValidationプロパティをBoolean.TRUEに設定することで有効にできるセキュアな検証モードをサポートしています (setPropertyメソッドを参照してください)。 有効にすると、XMLシグネチャの検証は、jdk.xml.dsig.secureValidationPolicyセキュリティ・プロパティで指定されたアルゴリズムおよびその他の制約のより厳密なチェックの対象となります。 このモードは、プロパティをBoolean.FALSEに設定することで無効にできます。 モードは、org.jcp.xml.dsig.secureValidationシステム・プロパティを"true"または"false"に設定して有効または無効にすることもできます。 システム・プロパティのその他の値も"false"として扱われます。 システム・プロパティが設定されている場合は、DOMValidateContextプロパティ値よりも優先されます。 セキュア検証モードは、SecurityManagerでコードを実行している場合はデフォルトで有効になり、それ以外の場合はデフォルトで無効になっています。
    導入されたバージョン:
    1.6
    関連項目:
    XMLSignatureFactory.unmarshalXMLSignature(XMLValidateContext)
    • コンストラクタの詳細

      • DOMValidateContext

        public DOMValidateContext​(KeySelector ks,
                                  Node node)
        指定したキー・セレクタおよびノードを格納するDOMValidateContextを作成します。
        パラメータ:
        ks - 検証キーを検索するためのキー・セレクタ
        node - ノード
        例外:
        NullPointerException - ksまたはnodenullの場合
      • DOMValidateContext

        public DOMValidateContext​(Key validatingKey,
                                  Node node)
        指定したキーおよびノードを格納するDOMValidateContextを作成します。 検証キーは、getKeySelectorメソッドが呼び出されたときに返されるsingleton KeySelectorに格納されます。
        パラメータ:
        validatingKey - 検証キー
        node - ノード
        例外:
        NullPointerException - validatingKeyまたはnodenullの場合
    • メソッドの詳細

      • setNode

        public void setNode​(Node node)
        ノードを設定します。
        パラメータ:
        node - ノード
        例外:
        NullPointerException - nodenullである場合
        関連項目:
        getNode()
      • getNode

        public Node getNode()
        ノードを返します。
        戻り値:
        ノード。nullにはならない
        関連項目:
        setNode(Node)