APIdia Launch Partner
Top Description Methods
javax.xml.crypto.dsig

public Interface Reference

extends URIReference, XMLStructure
Known Direct Implementers
org.jcp.xml.dsig.internal.dom.DOMReference
Imports
javax.xml.crypto.Data, .URIReference, .XMLStructure, java.io.InputStream, java.util.List

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));
Authors
Sean Mullan, Erwin van der Koogh, JSR 105 Expert Group
Since
1.6
See Also
XMLSignatureFactory#newReference(String, DigestMethod), XMLSignatureFactory#newReference(String, DigestMethod, List, String, String)

Method Summary

Modifier and TypeMethod and Description
public byte[]

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.
getCalculatedDigestValue
()

Returns the calculated digest value of this Reference after a validation operation.

public Data

Returns:

the dereferenced data, or null if reference caching is not enabled or this reference has not been generated or validated
getDereferencedData
()

Returns the dereferenced data, if reference caching is enabled.

public InputStream

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

Returns the pre-digested input stream, if reference caching is enabled.

public DigestMethod

Returns:

the digest method
getDigestMethod
()

Returns the digest method of this Reference.

public byte[]

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.
getDigestValue
()

Returns the digest value of this Reference.

public String

Returns:

the Id attribute (may be null if not specified)
getId
()

Returns the optional Id attribute of this Reference, which permits this reference to be referenced from elsewhere.

public List<Transform>

Returns:

an unmodifiable list of Transforms (may be empty but never null)
getTransforms
()

Returns an unmodifiable list of Transforms that are contained in this Reference.

public boolean

Returns:

true if this reference was validated successfully; false otherwise
validate
(XMLValidateContext
the validating context
validateContext
)

Validates this reference.

Inherited from javax.xml.crypto.URIReference:
getTypegetURI
Inherited from javax.xml.crypto.XMLStructure:
isFeatureSupported

Method Detail

getCalculatedDigestValueback to summary
public byte[] getCalculatedDigestValue()

Returns the calculated digest value of this Reference after a validation operation. This method is useful for debugging if the reference fails to validate.

Returns:byte[]

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.

getDereferencedDataback to summary
public 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:Data

the dereferenced data, or null if reference caching is not enabled or this reference has not been generated or validated

getDigestInputStreamback to summary
public 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:InputStream

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

getDigestMethodback to summary
public DigestMethod getDigestMethod()

Returns the digest method of this Reference.

Returns:DigestMethod

the digest method

getDigestValueback to summary
public byte[] getDigestValue()

Returns the digest value of this Reference.

Returns:byte[]

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.

getIdback to summary
public String getId()

Returns the optional Id attribute of this Reference, which permits this reference to be referenced from elsewhere.

Returns:String

the Id attribute (may be null if not specified)

getTransformsback to summary
public List<Transform> getTransforms()

Returns an unmodifiable list of Transforms that are contained in this Reference.

Returns:List<Transform>

an unmodifiable list of Transforms (may be empty but never null)

validateback to summary
public boolean validate(XMLValidateContext validateContext) throws XMLSignatureException

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:XMLValidateContext

the validating context

Returns:boolean

true if this reference was validated successfully; false otherwise

Exceptions
XMLSignatureException:
if an unexpected exception occurs while validating the reference
NullPointerException:
if validateContext is null