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

インタフェースXMLSignature

  • すべてのスーパー・インタフェース:
    XMLStructure


    public interface XMLSignature
    extends XMLStructure
    W3C Recommendation for XML-Signature Syntax and Processing」で定義されているXML Signature要素の表現。 このクラスには、W3C仕様で定義されている、動作を含めたXML署名の署名および検証用のメソッドを格納します。 XMLスキーマ定義は、次のように定義されます。
    
     <element name="Signature" type="ds:SignatureType"/>
     <complexType name="SignatureType">
        <sequence>
          <element ref="ds:SignedInfo"/>
          <element ref="ds:SignatureValue"/>
          <element ref="ds:KeyInfo" minOccurs="0"/>
          <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
        <attribute name="Id" type="ID" use="optional"/>
     </complexType>
     

    XMLSignatureインスタンスは、XMLSignatureFactoryクラスのnewXMLSignatureメソッドの1つを呼び出すことで作成できます。

    XMLSignatureを格納する基本となる文書のコンテンツが、その後変更された場合、動作は定義されていません。

    このクラスは、既存のjava.security.Signatureクラスとの命名でのクラッシュを避けるため、SignatureではなくXMLSignatureで名前が付けられます。

    導入されたバージョン:
    1.6
    関連項目:
    XMLSignatureFactory.newXMLSignature(SignedInfo, KeyInfo), XMLSignatureFactory.newXMLSignature(SignedInfo, KeyInfo, List, String, String)
    • フィールドの詳細

      • XMLNS

        static final String XMLNS
        XML署名構文および処理のためのW3C勧告の、XML名前空間URI。
        関連項目:
        定数フィールド値
    • メソッドの詳細

      • validate

        boolean validate​(XMLValidateContext validateContext)
                  throws XMLSignatureException
        コア検証の処理規則に従って、署名を検証します。 このメソッドは既存の状態を使用して署名を検証しますが、コンテキストで指定された位置情報を使用してXMLSignatureの内容を整列化したり再初期化したりすることはありません。

        このメソッドは署名が最初に呼び出されたときのみ検証します。 次回以降の呼出しでは、キャッシュされた結果を返します。

        パラメータ:
        validateContext - 検証するコンテキスト
        戻り値:
        署名がコア検証をパスした場合はtrue、そうでない場合はfalse
        例外:
        ClassCastException - validateContextの型がこのXMLSignatureと互換性がない場合
        NullPointerException - validateContextnullである場合
        XMLSignatureException - 検証中に検証処理が完了できなくなる予想外のエラーが発生した場合
      • getKeyInfo

        KeyInfo getKeyInfo​()
        このXMLSignatureの鍵情報を返します。
        戻り値:
        鍵情報。指定されない場合はnullも可
      • getSignedInfo

        SignedInfo getSignedInfo​()
        このXMLSignatureの署名情報を返します。
        戻り値:
        署名情報。nullにはならない
      • getObjects

        List<XMLObject> getObjects​()
        このXMLSignatureに含まれるXMLObjectunmodifiable listを返します。
        戻り値:
        XMLObjectの変更不可能なリスト。空の場合もあるがnullになることはない
      • getId

        String getId​()
        このXMLSignatureのオプションのIdを返します。
        戻り値:
        Id。指定されない場合はnullも可
      • getSignatureValue

        XMLSignature.SignatureValue getSignatureValue​()
        このXMLSignatureの署名値を返します。
        戻り値:
        署名値
      • sign

        void sign​(XMLSignContext signContext)
           throws MarshalException,
                  XMLSignatureException
        このXMLSignatureに署名します。

        このメソッドが例外をスローした場合、このXMLSignatureパラメータおよびsignContextパラメータは呼出し前の状態と同じ状態になります。

        パラメータ:
        signContext - 署名コンテキスト
        例外:
        ClassCastException - signContextの型がこのXMLSignatureと互換性がない場合
        NullPointerException - signContextnullである場合
        MarshalException - 整列化中に例外が発生した場合
        XMLSignatureException - 署名の生成中に予想外の例外が発生した場合
      • getKeySelectorResult

        KeySelectorResult getKeySelectorResult​()
        指定された場合には、XMLSignatureが署名または検証されたあとでKeySelectorの結果を返します。
        戻り値:
        鍵セレクタの結果。鍵セレクタが指定されなかった場合、あるいはこのXMLSignatureが署名または検証されていない場合はnull