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

インタフェースに関する参考資料

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

    public interface Reference
    extends URIReference, XMLStructure
    W3C Recommendation for XML-Signature Syntax and Processing」で定義されているReference要素の表現。 XMLスキーマは、次のように定義されます。
     <element name="Reference" type="ds:ReferenceType"/>
     <complexType name="ReferenceType">
       <sequence>
         <element ref="ds:Transforms" minOccurs="0"/>
         <element ref="ds:DigestMethod"/>
         <element ref="ds:DigestValue"/>
       </sequence>
       <attribute name="Id" type="ID" use="optional"/>
       <attribute name="URI" type="anyURI" use="optional"/>
       <attribute name="Type" type="anyURI" use="optional"/>
     </complexType>
    
     <element name="DigestValue" type="ds:DigestValueType"/>
     <simpleType name="DigestValueType">
       <restriction base="base64Binary"/>
     </simpleType>
     

    Referenceインスタンスは、XMLSignatureFactoryクラスのnewReferenceメソッドの1つを呼び出すことで作成できます。たとえば:

       XMLSignatureFactory factory = XMLSignatureFactory.getInstance("DOM");
       Reference ref = factory.newReference
         ("http://www.ietf.org/rfc/rfc3275.txt",
          factory.newDigestMethod(DigestMethod.SHA1, null));
     

    導入されたバージョン:
    1.6
    関連項目:
    XMLSignatureFactory.newReference(String, DigestMethod), XMLSignatureFactory.newReference(String, DigestMethod, List, String, String)
    • メソッドの詳細

      • getTransforms

        List<Transform> getTransforms()
        このReferenceに含まれるTransformunmodifiable listを返します。
        戻り値:
        Transformの変更不可能なリスト。空の場合もあるがnullになることはない
      • getDigestMethod

        DigestMethod getDigestMethod()
        このReferenceのダイジェスト・メソッドを返します。
        戻り値:
        ダイジェスト・メソッド
      • getId

        String getId()
        このReferenceのオプションのId属性を返し、ほかの場所からこの参照が参照されることを許可します。
        戻り値:
        Id属性。指定されていない場合はnullになることもある
      • getDigestValue

        byte[] getDigestValue()
        このReferenceのダイジェスト値を返します。
        戻り値:
        rawダイジェスト値。この参照がまだダイジェストされていない場合はnull このメソッドの各呼出しでは、以後の変更から保護するために新しいクローンが返される。
      • getCalculatedDigestValue

        byte[] getCalculatedDigestValue()
        検証操作のあとで、このReferenceの計算されたダイジェスト値を返します。 このメソッドは、参照が検証に失敗した場合のデバッグに便利です。
        戻り値:
        計算されたダイジェスト値。この参照がまだ検証されていない場合はnull このメソッドの各呼出しでは、以後の変更から保護するために新しいクローンが返される。
      • validate

        boolean validate​(XMLValidateContext validateContext)
                  throws XMLSignatureException
        この参照を検証します。 このメソッドは、この参照のダイジェストを検証します。

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

        パラメータ:
        validateContext - 検証するコンテキスト
        戻り値:
        この参照が正常に検証された場合はtrue。そうでない場合はfalse
        例外:
        NullPointerException - validateContextnullである場合
        XMLSignatureException - 参照の検証中に予想外の例外が発生した場合
      • getDereferencedData

        Data getDereferencedData()
        参照キャッシュが有効な場合、間接参照されたデータを返します。 これは、検証中または生成処理中にこの参照のURIを間接参照した結果です。
        戻り値:
        間接参照されたデータ。参照キャッシュが有効でない場合、あるいはこの参照が生成または検証されていない場合はnull
      • getDigestInputStream

        InputStream getDigestInputStream()
        参照キャッシュが有効な場合、事前ダイジェストされた入力ストリームを返します。 これは、検証中または署名処理中のダイジェスト処理に対する入力です。
        戻り値:
        事前ダイジェストされた入力を含む入力ストリーム。参照キャッシュが有効でない場合、あるいはこの参照が生成または検証されていない場合はnull