Module  java.xml.crypto
软件包  javax.xml.crypto.dsig

Interface Reference

  • All Superinterfaces:
    URIReferenceXMLStructure


    public interface Reference
    extends URIReference, XMLStructure
    Reference中定义的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> 

    可以通过调用XMLSignatureFactory类的newReference方法之一来创建一个Reference实例; 例如:

      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​()
        返回一个unmodifiable listTransform包含在这个S Reference
        结果
        一个不可修改的列表 Transform s(可能是空的,但从不 null
      • getDigestMethod

        DigestMethod getDigestMethod​()
        返回此 Reference的摘要方法。
        结果
        摘要方法
      • getId

        String getId​()
        返回此 Reference的可选 Id属性,该属性允许从其他地方引用此引用。
        结果
        Id属性(如果没有指定可能是 null
      • getDigestValue

        byte[] getDigestValue​()
        返回此 Reference的摘要值。
        结果
        原始摘要值,或null如果此引用尚未消化。 此方法的每次调用都将返回一个新的克隆以防止后续修改。
      • getCalculatedDigestValue

        byte[] getCalculatedDigestValue​()
        在验证操作后返回此Reference的计算摘要值。 如果引用无法验证,此方法对于调试非常有用。
        结果
        计算的摘要值,如果此引用尚未被验证, null 此方法的每次调用都将返回一个新的克隆以防止后续修改。
      • validate

        boolean validate​(XMLValidateContext validateContext)
                  throws XMLSignatureException
        验证此引用。 此方法验证此引用的摘要。

        此方法仅在第一次调用时验证引用。 在随后的调用中,它返回缓存的结果。

        参数
        validateContext - 验证上下文
        结果
        true如果此引用成功验证; 否则为false
        异常
        NullPointerException - 如果 validateContextnull
        XMLSignatureException - 如果在验证引用时发生意外异常
      • getDereferencedData

        Data getDereferencedData​()
        如果启用了reference caching ,则返回取消引用的数据。 这是在验证或生成操作期间取消引用此引用的URI的结果。
        结果
        取消引用的数据,或 null如果引用缓存未启用或该引用尚未生成或验证
      • getDigestInputStream

        InputStream getDigestInputStream​()
        如果启用了reference caching ,则返回预消化的输入流。 这是验证或签名操作期间摘要操作的输入。
        结果
        an input stream containing the pre-digested input, or null if reference caching is not enabled or this reference has not been generated or validated