FileDocCategorySizeDatePackage
Reference.javaAPI DocJava SE 6 API5401Tue Jun 10 00:27:06 BST 2008javax.xml.crypto.dsig

Reference

public interface Reference implements 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 {@link XMLSignatureFactory#newReference newReference} methods of the {@link 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));
author
Sean Mullan
author
Erwin van der Koogh
author
JSR 105 Expert Group
since
1.6
see
XMLSignatureFactory#newReference(String, DigestMethod)
see
XMLSignatureFactory#newReference(String, DigestMethod, List, String, String)

Fields Summary
Constructors Summary
Methods 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.

return
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.

public javax.xml.crypto.DatagetDereferencedData()
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.

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

public java.io.InputStreamgetDigestInputStream()
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.

return
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

public javax.xml.crypto.dsig.DigestMethodgetDigestMethod()
Returns the digest method of this Reference.

return
the digest method

public byte[]getDigestValue()
Returns the digest value of this Reference.

return
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.

public java.lang.StringgetId()
Returns the optional Id attribute of this Reference, which permits this reference to be referenced from elsewhere.

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

public java.util.ListgetTransforms()
Returns an {@link java.util.Collections#unmodifiableList unmodifiable list} of {@link Transform}s that are contained in this Reference.

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

public booleanvalidate(javax.xml.crypto.dsig.XMLValidateContext validateContext)
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.

return
true if this reference was validated successfully; false otherwise
param
validateContext the validating context
throws
NullPointerException if validateContext is null
throws
XMLSignatureException if an unexpected exception occurs while validating the reference