- All Superinterfaces:
URIReference
,XMLStructure
A representation of the
Reference
element as defined in the
W3C Recommendation for XML-Signature Syntax and Processing.
The XML schema is defined as:
<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>
A Reference
instance may be created by invoking one of the
newReference
methods of the
XMLSignatureFactory
class; for example:
XMLSignatureFactory factory = XMLSignatureFactory.getInstance("DOM"); Reference ref = factory.newReference ("http://www.ietf.org/rfc/rfc3275.txt", factory.newDigestMethod(DigestMethod.SHA1, null));
- Since:
- 1.6
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionbyte[]
Returns the calculated digest value of thisReference
after a validation operation.Returns the dereferenced data, if reference caching is enabled.Returns the pre-digested input stream, if reference caching is enabled.Returns the digest method of thisReference
.byte[]
Returns the digest value of thisReference
.getId()
Returns the optionalId
attribute of thisReference
, which permits this reference to be referenced from elsewhere.boolean
validate
(XMLValidateContext validateContext) Validates this reference.Methods declared in interface javax.xml.crypto.URIReference
getType, getURI
Methods declared in interface javax.xml.crypto.XMLStructure
isFeatureSupported
-
Method Details
-
getTransforms
- Returns:
- an unmodifiable list of
Transform
s (may be empty but nevernull
)
-
getDigestMethod
DigestMethod getDigestMethod()Returns the digest method of thisReference
.- Returns:
- the digest method
-
getId
String getId()Returns the optionalId
attribute of thisReference
, which permits this reference to be referenced from elsewhere.- Returns:
- the
Id
attribute (may benull
if not specified)
-
getDigestValue
byte[] getDigestValue()Returns the digest value of thisReference
.- Returns:
- the raw digest value, or
null
if this reference has not been digested yet. Each invocation of this method returns a new clone to protect against subsequent modification.
-
getCalculatedDigestValue
byte[] getCalculatedDigestValue()Returns the calculated digest value of thisReference
after a validation operation. This method is useful for debugging if the reference fails to validate.- Returns:
- the calculated digest value, or
null
if this reference has not been validated yet. Each invocation of this method returns a new clone to protect against subsequent modification.
-
validate
Validates this reference. This method verifies the digest of this reference.This method only validates the reference the first time it is invoked. On subsequent invocations, it returns a cached result.
- Parameters:
validateContext
- the validating context- Returns:
true
if this reference was validated successfully;false
otherwise- Throws:
NullPointerException
- ifvalidateContext
isnull
XMLSignatureException
- if an unexpected exception occurs while validating the reference
-
getDereferencedData
Data getDereferencedData()Returns the dereferenced data, if reference caching is enabled. This is the result of dereferencing the URI of this reference during a validation or generation operation.- Returns:
- the dereferenced data, or
null
if reference caching is not enabled or this reference has not been generated or validated
-
getDigestInputStream
InputStream getDigestInputStream()Returns the pre-digested input stream, if reference caching is enabled. This is the input to the digest operation during a validation or signing operation.- Returns:
- 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
-