public interface Reference
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));
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 |
方法详细信息 |
---|
List getTransforms()
DigestMethod getDigestMethod()
Reference
的摘要方法。
String getId()
Reference
的可选
Id
属性,该属性允许从其他地方引用此 Reference。
Id
属性(如果未指定,则返回
null
)
byte[] getDigestValue()
Reference
的摘要值。
null
。每次调用此方法都将返回一个新的副本,以防止随后被修改。
byte[] getCalculatedDigestValue()
Reference
的摘要值。如果验证引用失败,则此方法对于调试很有用。
null
。每次调用此方法都将返回一个新的副本,以防止随后被修改。
boolean validate(XMLValidateContext validateContext) throws XMLSignatureException
此方法只在首次调用时验证引用。在进行后续调用时,它将返回一个缓存的结果。
validateContext
- 验证的上下文
true
;否则返回
false
NullPointerException
- 如果
validateContext
为
null
XMLSignatureException
- 如果在验证引用时发生不可预料的异常
Data getDereferencedData()
null
InputStream getDigestInputStream()
null