|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.xml.security.utils.ElementProxy
org.apache.xml.security.utils.SignatureElementProxy
org.apache.xml.security.signature.Reference
Handles <ds:Reference>
elements.
This includes:
Constuct a ds:Reference
from an Element
.
Create a new reference
Document _doc; MessageDigestAlgorithm sha1 = MessageDigestAlgorithm.getInstance("http://#sha1"); Reference ref = new Reference(new XMLSignatureInput(new FileInputStream("1.gif"), "http://localhost/1.gif", (Transforms) null, sha1); Element refElem = ref.toElement(_doc);
Verify a reference
Element refElem = _doc.getElement("Reference"); // PSEUDO Reference ref = new Reference(refElem); String url = ref.getURI(); ref.setData(new XMLSignatureInput(new FileInputStream(url))); if (ref.verify()) { System.out.println("verified"); }
<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>
ObjectContainer
,
Manifest
Field Summary | |
static boolean |
CacheSignedNodes
Field CacheSignedNodes |
static java.lang.String |
MANIFEST_URI
Field MANIFEST_URI |
static java.lang.String |
OBJECT_URI
Field OBJECT_URI |
Fields inherited from class org.apache.xml.security.utils.ElementProxy |
_baseURI, _constructionElement, _doc |
Constructor Summary | |
protected |
Reference(org.w3c.dom.Document doc,
java.lang.String BaseURI,
java.lang.String ReferenceURI,
Manifest manifest,
Transforms transforms,
java.lang.String messageDigestAlgorithm)
Constructor Reference |
protected |
Reference(org.w3c.dom.Element element,
java.lang.String BaseURI,
Manifest manifest)
Build a Reference from an Element |
Method Summary | |
protected XMLSignatureInput |
dereferenceURIandPerformTransforms(java.io.OutputStream os)
This method returns the XMLSignatureInput which is referenced by the
URI Attribute. |
void |
generateDigestValue()
Method generateDigestValue |
java.lang.String |
getBaseLocalName()
Method getBaseLocalName |
XMLSignatureInput |
getContentsAfterTransformation()
Returns the XMLSignatureInput which is the result of the Transforms. |
XMLSignatureInput |
getContentsBeforeTransformation()
Returns the XMLSignatureInput which is created by de-referencing the URI attribute. |
byte[] |
getDigestValue()
Returns the digest value. |
java.lang.String |
getHTMLRepresentation()
Method getHTMLRepresentation |
java.lang.String |
getId()
Returns the Id attribute of this Reference element |
MessageDigestAlgorithm |
getMessageDigestAlgorithm()
Returns MessageDigestAlgorithm |
XMLSignatureInput |
getNodesetBeforeFirstCanonicalization()
This method returns the XMLSignatureInput which represents the node set before some kind of canonicalization is applied for the first time. |
byte[] |
getReferencedBytes()
Method getReferencedBytes |
Transforms |
getTransforms()
Method getTransforms |
XMLSignatureInput |
getTransformsInput()
Deprecated. use getContentsBeforeTransformation |
XMLSignatureInput |
getTransformsOutput()
This method only works works after a call to verify. |
java.lang.String |
getType()
Return the type atttibute of the Reference indicate whether an ds:Object , ds:SignatureProperty , or ds:Manifest element |
java.lang.String |
getURI()
Returns the URI of this Reference element |
void |
setId(java.lang.String Id)
Sets the Id attribute of this Reference element |
void |
setType(java.lang.String Type)
Sets the type atttibute of the Reference indicate whether an ds:Object , ds:SignatureProperty , or ds:Manifest element |
void |
setURI(java.lang.String URI)
Sets the URI of this Reference element |
boolean |
typeIsReferenceToManifest()
Method isReferenceToManifest This returns true if the Type attribute of the
Refernce element points to a #Manifest element |
boolean |
typeIsReferenceToObject()
Method isReferenceToObject This returns true if the Type attribute of the
Refernce element points to a #Object element |
boolean |
verify()
Tests reference valdiation is success or false |
Methods inherited from class org.apache.xml.security.utils.SignatureElementProxy |
getBaseNamespace |
Methods inherited from class org.apache.xml.security.utils.ElementProxy |
addBase64Element, addBase64Text, addBigIntegerElement, addText, addTextElement, createElementForFamily, createElementForFamilyLocal, getBaseURI, getBigIntegerFromChildElement, getBytesFromChildElement, getBytesFromTextChild, getDefaultPrefix, getDefaultPrefixBindings, getDocument, getElement, getElementPlusReturns, getTextFromChildElement, getTextFromTextChild, length, setDefaultPrefix, setElement, setXPathNamespaceContext |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final boolean CacheSignedNodes
public static final java.lang.String OBJECT_URI
public static final java.lang.String MANIFEST_URI
Constructor Detail |
protected Reference(org.w3c.dom.Document doc, java.lang.String BaseURI, java.lang.String ReferenceURI, Manifest manifest, Transforms transforms, java.lang.String messageDigestAlgorithm) throws XMLSignatureException
doc
- the Document
in which XMLsignature
is placedBaseURI
- the URI of the resource where the XML instance will be storedReferenceURI
- URI indicate where is data which will digestedmanifest
- transforms
- Transforms
applied to datamessageDigestAlgorithm
- Digest algorithm
which is applied to the data
TODO should we throw XMLSignatureException if MessageDigestAlgoURI is wrong?
XMLSignatureException
protected Reference(org.w3c.dom.Element element, java.lang.String BaseURI, Manifest manifest) throws XMLSecurityException
Reference
from an Element
element
- Reference
elementBaseURI
- the URI of the resource where the XML instance was storedmanifest
- is the Manifest
of SignedInfo
in which the Reference occurs. We need this because the Manifest has the individual ResourceResolver
s whcih have been set by the user
XMLSecurityException
Method Detail |
public MessageDigestAlgorithm getMessageDigestAlgorithm() throws XMLSignatureException
MessageDigestAlgorithm
MessageDigestAlgorithm
XMLSignatureException
public void setURI(java.lang.String URI)
URI
of this Reference
element
URI
- the URI
of this Reference
elementpublic java.lang.String getURI()
URI
of this Reference
element
URI
of this Reference
elementpublic void setId(java.lang.String Id)
Id
attribute of this Reference
element
Id
- the Id
attribute of this Reference
elementpublic java.lang.String getId()
Id
attribute of this Reference
element
Id
attribute of this Reference
elementpublic void setType(java.lang.String Type)
type
atttibute of the Reference indicate whether an ds:Object
, ds:SignatureProperty
, or ds:Manifest
element
Type
- the type
attribute of the Referencepublic java.lang.String getType()
type
atttibute of the Reference indicate whether an ds:Object
, ds:SignatureProperty
, or ds:Manifest
element
type
attribute of the Referencepublic boolean typeIsReferenceToObject()
Type
attribute of the
Refernce
element points to a #Object
element
Object
public boolean typeIsReferenceToManifest()
Type
attribute of the
Refernce
element points to a #Manifest
element
Manifest
public void generateDigestValue() throws XMLSignatureException, ReferenceNotInitializedException
ReferenceNotInitializedException
XMLSignatureException
public XMLSignatureInput getContentsBeforeTransformation() throws ReferenceNotInitializedException
ReferenceNotInitializedException
- If the resolver found any
problem resolving the referencepublic XMLSignatureInput getTransformsInput() throws ReferenceNotInitializedException
ReferenceNotInitializedException
public XMLSignatureInput getContentsAfterTransformation() throws XMLSignatureException
XMLSignatureException
public XMLSignatureInput getNodesetBeforeFirstCanonicalization() throws XMLSignatureException
XMLSignatureException
public java.lang.String getHTMLRepresentation() throws XMLSignatureException
XMLSignatureException
public XMLSignatureInput getTransformsOutput()
protected XMLSignatureInput dereferenceURIandPerformTransforms(java.io.OutputStream os) throws XMLSignatureException
XMLSignatureInput
which is referenced by the
URI
Attribute.
os
- where to write the transformation can be null.
XMLSignatureException
Manifest.verifyReferences()
public Transforms getTransforms() throws XMLSignatureException, InvalidTransformException, TransformationException, XMLSecurityException
InvalidTransformException
TransformationException
XMLSecurityException
XMLSignatureException
public byte[] getReferencedBytes() throws ReferenceNotInitializedException, XMLSignatureException
ReferenceNotInitializedException
XMLSignatureException
public byte[] getDigestValue() throws Base64DecodingException, XMLSecurityException
Base64DecodingException
- if Reference contains no proper base64 encoded data.
XMLSecurityException
- if the Reference does not contain a DigestValue elementpublic boolean verify() throws ReferenceNotInitializedException, XMLSecurityException
ReferenceNotInitializedException
XMLSecurityException
public java.lang.String getBaseLocalName()
getBaseLocalName
in class ElementProxy
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |