JavaTM 2 Platform
Standard Ed. 6

javax.xml.crypto.dsig
介面 Reference

所有父級介面:
URIReference, XMLStructure

public interface Reference
extends URIReference, XMLStructure

W3C Recommendation for XML-Signature Syntax and Processing 中定義的 XML Reference 元素的表示形式。XML Schema 的定義如下:

<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)

方法摘要
 byte[] getCalculatedDigestValue()
          返回執行驗證操作後計算的此 Reference 的摘要值。
 Data getDereferencedData()
          如果已啟用參考快取記憶體,則返回被取消參考的資料。
 InputStream getDigestInputStream()
          如果已啟用參考快取記憶體,則返回預整理的輸入串流。
 DigestMethod getDigestMethod()
          返回此 Reference 的摘要方法。
 byte[] getDigestValue()
          返回此 Reference 的摘要值。
 String getId()
          返回此 Reference 的可選 Id 屬性,該屬性允許從其他地方參考此 Reference。
 List getTransforms()
          返回一個 不可修改的列表,由包含在此 Reference 中的 Transform 組成。
 boolean validate(XMLValidateContext validateContext)
          驗證此參考。
 
從介面 javax.xml.crypto.URIReference 繼承的方法
getType, getURI
 
從介面 javax.xml.crypto.XMLStructure 繼承的方法
isFeatureSupported
 

方法詳細資訊

getTransforms

List getTransforms()
返回一個 不可修改的列表,由包含在此 Reference 中的 Transform 組成。

返回:
一個不可修改的 Transform 列表(可以為空,但不能為 null

getDigestMethod

DigestMethod getDigestMethod()
返回此 Reference 的摘要方法。

返回:
摘要方法

getId

String getId()
返回此 Reference 的可選 Id 屬性,該屬性允許從其他地方參考此 Reference。

返回:
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()
如果已啟用參考快取記憶體,則返回被取消參考的資料。在執行驗證或產生操作期間取消參考此參考的 URI 時,會產生上述結果。

返回:
被取消參考的資料;如果未啟用參考快取記憶體或者沒有產生或驗證此參考,則返回 null

getDigestInputStream

InputStream getDigestInputStream()
如果已啟用參考快取記憶體,則返回預整理的輸入串流。這是執行驗證或簽章操作期間摘要操作的輸入。

返回:
包含預整理輸入的輸入串流;如果沒有啟用參考快取記憶體,或者沒有產生或驗證此參考,則返回 null

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only