Class DOMReference
java.lang.Object
org.apache.jcp.xml.dsig.internal.dom.DOMStructure
org.apache.jcp.xml.dsig.internal.dom.DOMReference
- All Implemented Interfaces:
DOMURIReference
,Reference
,URIReference
,XMLStructure
DOM-based implementation of Reference.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Data
private byte[]
private Data
private boolean
private final DigestMethod
private byte[]
private InputStream
private Attr
private final String
private static final org.slf4j.Logger
static final int
The maximum number of transforms per reference, if secure validation is enabled.private MessageDigest
private Provider
private Element
private final String
private final String
private static boolean
Look up useC14N11 system property.private boolean
private boolean
-
Constructor Summary
ConstructorsConstructorDescriptionDOMReference
(String uri, String type, DigestMethod dm, List<? extends Transform> transforms, String id, Provider provider) Creates aReference
from the specified parameters.DOMReference
(String uri, String type, DigestMethod dm, List<? extends Transform> appliedTransforms, Data result, List<? extends Transform> transforms, String id, byte[] digestValue, Provider provider) DOMReference
(String uri, String type, DigestMethod dm, List<? extends Transform> appliedTransforms, Data result, List<? extends Transform> transforms, String id, Provider provider) DOMReference
(Element refElem, XMLCryptoContext context, Provider provider) Creates aDOMReference
from an element. -
Method Summary
Modifier and TypeMethodDescriptionprivate static Data
copyDerefData
(Data dereferencedData) private Data
dereference
(XMLCryptoContext context) void
digest
(XMLSignContext signContext) boolean
byte[]
byte[]
getHere()
getId()
getType()
getURI()
int
hashCode()
(package private) boolean
void
marshal
(Node parent, String dsPrefix, DOMCryptoContext context) private byte[]
transform
(Data dereferencedData, XMLCryptoContext context) boolean
validate
(XMLValidateContext validateContext) Methods inherited from class org.apache.jcp.xml.dsig.internal.dom.DOMStructure
isFeatureSupported
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface javax.xml.crypto.XMLStructure
isFeatureSupported
-
Field Details
-
MAXIMUM_TRANSFORM_COUNT
public static final int MAXIMUM_TRANSFORM_COUNTThe maximum number of transforms per reference, if secure validation is enabled.- See Also:
-
useC14N11
private static boolean useC14N11Look up useC14N11 system property. If true, an explicit C14N11 transform will be added if necessary when generating the signature. See section 3.1.1 of http://www.w3.org/2007/xmlsec/Drafts/xmldsig-core/ for more info. If true, overrides the same property if set in the XMLSignContext. -
LOG
private static final org.slf4j.Logger LOG -
digestMethod
-
id
-
transforms
-
allTransforms
-
appliedTransformData
-
here
-
uri
-
type
-
digestValue
private byte[] digestValue -
calcDigestValue
private byte[] calcDigestValue -
refElem
-
digested
private boolean digested -
validated
private boolean validated -
validationStatus
private boolean validationStatus -
derefData
-
dis
-
md
-
provider
-
-
Constructor Details
-
DOMReference
public DOMReference(String uri, String type, DigestMethod dm, List<? extends Transform> transforms, String id, Provider provider) Creates aReference
from the specified parameters.- Parameters:
uri
- the URI (may be null)type
- the type (may be null)dm
- the digest methodtransforms
- a list ofTransform
s. The list is defensively copied to protect against subsequent modification. May benull
or empty.id
- the reference ID (may benull
)- Throws:
NullPointerException
- ifdm
isnull
ClassCastException
- if any of thetransforms
are not of typeTransform
-
DOMReference
-
DOMReference
-
DOMReference
public DOMReference(Element refElem, XMLCryptoContext context, Provider provider) throws MarshalException Creates aDOMReference
from an element.- Parameters:
refElem
- a Reference element- Throws:
MarshalException
-
-
Method Details
-
getDigestMethod
- Specified by:
getDigestMethod
in interfaceReference
-
getId
-
getURI
- Specified by:
getURI
in interfaceURIReference
-
getType
- Specified by:
getType
in interfaceURIReference
-
getTransforms
- Specified by:
getTransforms
in interfaceReference
-
getDigestValue
public byte[] getDigestValue()- Specified by:
getDigestValue
in interfaceReference
-
getCalculatedDigestValue
public byte[] getCalculatedDigestValue()- Specified by:
getCalculatedDigestValue
in interfaceReference
-
marshal
- Specified by:
marshal
in classDOMStructure
- Throws:
MarshalException
-
digest
- Throws:
XMLSignatureException
-
validate
- Specified by:
validate
in interfaceReference
- Throws:
XMLSignatureException
-
getDereferencedData
- Specified by:
getDereferencedData
in interfaceReference
-
getDigestInputStream
- Specified by:
getDigestInputStream
in interfaceReference
-
dereference
- Throws:
XMLSignatureException
-
transform
private byte[] transform(Data dereferencedData, XMLCryptoContext context) throws XMLSignatureException - Throws:
XMLSignatureException
-
getHere
- Specified by:
getHere
in interfaceDOMURIReference
-
equals
-
hashCode
public int hashCode() -
isDigested
boolean isDigested() -
copyDerefData
-