|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
|
+--org.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, _state, MODE_CREATE, MODE_DECRYPT, MODE_ENCRYPT, MODE_PROCESS, MODE_SIGN, MODE_UNKNOWN, MODE_VERIFY |
| Constructor Summary | |
protected |
Reference(org.w3c.dom.Document doc,
java.lang.String BaseURI,
java.lang.String ReferenceURI,
Manifest manifest)
Constructor Reference |
protected |
Reference(org.w3c.dom.Document doc,
java.lang.String BaseURI,
java.lang.String ReferenceURI,
Manifest manifest,
java.lang.String messageDigestAlgorithm)
Constructor Reference |
protected |
Reference(org.w3c.dom.Document doc,
java.lang.String BaseURI,
java.lang.String ReferenceURI,
Manifest manifest,
Transforms transforms)
Constructor Reference |
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 void |
dereferenceURIandPerformTransforms()
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. |
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 |
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, getBaseURI, getBigIntegerFromChildElement, getBytesFromChildElement, getBytesFromTextChild, getChildElementLocalName, getDefaultPrefix, getDocument, getElement, getElementPlusReturns, getTextFromChildElement, getTextFromTextChild, guaranteeThatElementInCorrectSpace, 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 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.Document doc,
java.lang.String BaseURI,
java.lang.String ReferenceURI,
Manifest manifest,
java.lang.String messageDigestAlgorithm)
throws XMLSignatureException
doc - this Document in which XMLsignature is placedBaseURI - the URI of the resource where the XML instance will be storedReferenceURI - This referenceURI indicate where the data will for signature validationmanifest - messageDigestAlgorithm - Digest algorithm which is applied to the data
XMLSignatureException
protected Reference(org.w3c.dom.Document doc,
java.lang.String BaseURI,
java.lang.String ReferenceURI,
Manifest manifest,
Transforms transforms)
throws XMLSignatureException
doc - this Document in which XMLsignature is placedBaseURI - the URI of the resource where the XML instance will be storedReferenceURI - This referenceURI indicate where the data is for signature validationmanifest - transforms - Transforms applied to data
XMLSignatureException
protected Reference(org.w3c.dom.Document doc,
java.lang.String BaseURI,
java.lang.String ReferenceURI,
Manifest manifest)
throws XMLSignatureException
doc - this Document in which XMLsignature is placedBaseURI - the URI of the resource where the XML instance will be storedReferenceURI - This referenceURI indicate where the data is for signature validationmanifest -
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 ResourceResolvers whcih have been set by the user
XMLSecurityException| Method Detail |
public MessageDigestAlgorithm getMessageDigestAlgorithm()
throws XMLSignatureException
MessageDigestAlgorithm
MessageDigestAlgorithm
XMLSignatureExceptionpublic 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
Objectpublic 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
ReferenceNotInitializedExceptionpublic XMLSignatureInput getTransformsInput()
public XMLSignatureInput getContentsAfterTransformation()
throws XMLSignatureException
XMLSignatureException
public XMLSignatureInput getNodesetBeforeFirstCanonicalization()
throws XMLSignatureException
XMLSignatureException
public java.lang.String getHTMLRepresentation()
throws XMLSignatureException
XMLSignatureExceptionpublic XMLSignatureInput getTransformsOutput()
protected void dereferenceURIandPerformTransforms()
throws XMLSignatureException
XMLSignatureInput which is referenced by the
URI Attribute.
XMLSignatureExceptionManifest.verifyReferences()
public Transforms getTransforms()
throws XMLSignatureException,
InvalidTransformException,
TransformationException,
XMLSecurityException
InvalidTransformException
TransformationException
XMLSecurityException
XMLSignatureException
public byte[] getReferencedBytes()
throws ReferenceNotInitializedException,
XMLSignatureException
ReferenceNotInitializedException
XMLSignatureException
public boolean verify()
throws ReferenceNotInitializedException,
XMLSecurityException
ReferenceNotInitializedException
XMLSecurityExceptionpublic java.lang.String getBaseLocalName()
getBaseLocalName in class ElementProxy
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||