モジュール 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