| <?xml version="1.0"?> |
| <!DOCTYPE envelope [ |
| <!ENTITY dsig "http://www.w3.org/2000/09/xmldsig#"> |
| <!ENTITY c14n "http://www.w3.org/TR/2001/REC-xml-c14n-20010315"> |
| <!ENTITY xpath "http://www.w3.org/TR/1999/REC-xpath-19991116"> |
| <!ENTITY xslt "http://www.w3.org/TR/1999/REC-xslt-19991116"> |
| <!ATTLIST Notaries Id ID #IMPLIED> |
| ]> |
| <!-- Preamble --> |
| <Envelope xmlns="http://www.usps.gov/" xmlns:foo="http://www.usps.gov/foo"> |
| <DearSir>foo</DearSir> |
| <Body>bar</Body> |
| <YoursSincerely> |
| <Signature Id="signature" xmlns="&dsig;"> |
| <SignedInfo> |
| <CanonicalizationMethod Algorithm="" /> |
| <SignatureMethod Algorithm="" /> |
| <Reference URI="http://www.w3.org/TR/xml-stylesheet"> |
| <DigestMethod Algorithm="" /> |
| <DigestValue>aaaa</DigestValue> |
| </Reference> |
| <Reference URI="http://xmldsig.pothole.com/xml-stylesheet.txt"> |
| <Transforms> |
| <Transform Algorithm="&dsig;base64" /> |
| </Transforms> |
| <DigestMethod Algorithm="" /> |
| <DigestValue>aaaa</DigestValue> |
| </Reference> |
| <Reference URI="#object-1" Type="&dsig;Object"> |
| <Transforms> |
| <Transform Algorithm="&xpath;"> |
| <XPath> |
| self::text() |
| </XPath> |
| </Transform> |
| </Transforms> |
| <DigestMethod Algorithm="" /> |
| <DigestValue>aaaa</DigestValue> |
| </Reference> |
| <Reference URI="" Type="&dsig;Object"> |
| <Transforms> |
| <Transform Algorithm="&xpath;"> |
| <XPath xmlns:dsig="&dsig;"> |
| ancestor-or-self::dsig:SignedInfo |
| and |
| count(ancestor-or-self::dsig:Reference | |
| here()/ancestor::dsig:Reference[1]) > |
| count(ancestor-or-self::dsig:Reference) |
| or |
| count(ancestor-or-self::node() | |
| id('notaries')) = |
| count(ancestor-or-self::node()) |
| </XPath> |
| </Transform> |
| </Transforms> |
| <DigestMethod Algorithm="" /> |
| <DigestValue>aaaa</DigestValue> |
| </Reference> |
| <Reference URI="#object-2" Type="&dsig;Object"> |
| <Transforms> |
| <Transform Algorithm="&dsig;base64" /> |
| </Transforms> |
| <DigestMethod Algorithm="" /> |
| <DigestValue>aaaa</DigestValue> |
| </Reference> |
| <Reference URI="#manifest-1" Type="&dsig;Manifest"> |
| <DigestMethod Algorithm="" /> |
| <DigestValue>aaaa</DigestValue> |
| </Reference> |
| <Reference URI="#signature-properties-1" Type="&dsig;SignatureProperties"> |
| <DigestMethod Algorithm="" /> |
| <DigestValue>aaaa</DigestValue> |
| </Reference> |
| <Reference URI=""> |
| <Transforms> |
| <Transform Algorithm="&dsig;enveloped-signature" /> |
| </Transforms> |
| <DigestMethod Algorithm="" /> |
| <DigestValue>aaaa</DigestValue> |
| </Reference> |
| <Reference URI=""> |
| <Transforms> |
| <Transform Algorithm="&dsig;enveloped-signature" /> |
| <Transform Algorithm="&c14n;#WithComments" /> |
| </Transforms> |
| <DigestMethod Algorithm="" /> |
| <DigestValue>aaaa</DigestValue> |
| </Reference> |
| <Reference URI="#xpointer(/)"> |
| <Transforms> |
| <Transform Algorithm="&dsig;enveloped-signature" /> |
| </Transforms> |
| <DigestMethod Algorithm="" /> |
| <DigestValue>aaaa</DigestValue> |
| </Reference> |
| <Reference URI="#xpointer(/)"> |
| <Transforms> |
| <Transform Algorithm="&dsig;enveloped-signature" /> |
| <Transform Algorithm="&c14n;#WithComments" /> |
| </Transforms> |
| <DigestMethod Algorithm="" /> |
| <DigestValue>aaaa</DigestValue> |
| </Reference> |
| <Reference URI="#object-3" Type="&dsig;Object"> |
| <DigestMethod Algorithm="" /> |
| <DigestValue>aaaa</DigestValue> |
| </Reference> |
| <Reference URI="#object-3" Type="&dsig;Object"> |
| <Transforms> |
| <Transform Algorithm="&c14n;#WithComments" /> |
| </Transforms> |
| <DigestMethod Algorithm="" /> |
| <DigestValue>aaaa</DigestValue> |
| </Reference> |
| <Reference URI="#xpointer(id('object-3'))" Type="&dsig;Object"> |
| <DigestMethod Algorithm="" /> |
| <DigestValue>aaaa</DigestValue> |
| </Reference> |
| <Reference URI="#xpointer(id('object-3'))" Type="&dsig;Object"> |
| <Transforms> |
| <Transform Algorithm="&c14n;#WithComments" /> |
| </Transforms> |
| <DigestMethod Algorithm="" /> |
| <DigestValue>aaaa</DigestValue> |
| </Reference> |
| <Reference URI="#reference-2" Type="&dsig;Reference"> |
| <DigestMethod Algorithm="" /> |
| <DigestValue>aaaa</DigestValue> |
| </Reference> |
| <Reference Id="reference-1" URI="#manifest-reference-1" Type="&dsig;Reference"> |
| <DigestMethod Algorithm="" /> |
| <DigestValue>aaaa</DigestValue> |
| </Reference> |
| <Reference Id="reference-2" URI="#reference-1" Type="&dsig;Reference"> |
| <DigestMethod Algorithm="" /> |
| <DigestValue>aaaa</DigestValue> |
| </Reference> |
| </SignedInfo> |
| <SignatureValue>aaaa</SignatureValue> |
| <KeyInfo> |
| <RetrievalMethod URI="#object-4" Type="&dsig;X509Data"> |
| <Transforms> |
| <Transform Algorithm="&xpath;"> |
| <XPath xmlns:dsig="&dsig;"> |
| ancestor-or-self::dsig:X509Data |
| </XPath> |
| </Transform> |
| </Transforms> |
| </RetrievalMethod> |
| </KeyInfo> |
| <Object Id="object-1" MimeType="text/plain">I am the text.</Object> |
| <Object Id="object-2" MimeType="text/plain" Encoding="&dsig;base64">SSBhbSB0aGUgdGV4dC4=</Object> |
| <Object Id="object-3"><NonCommentandus xmlns=""><!-- Commentandum --></NonCommentandus></Object> |
| <Object> |
| <Manifest Id="manifest-1"> |
| <Reference Id="manifest-reference-1" URI="http://www.w3.org/TR/xml-stylesheet"> |
| <DigestMethod Algorithm="" /> |
| <DigestValue>aaaa</DigestValue> |
| </Reference> |
| <Reference URI="#reference-1" Type="&dsig;Reference"> |
| <DigestMethod Algorithm="" /> |
| <DigestValue>aaaa</DigestValue> |
| </Reference> |
| <Reference URI="#notaries"> |
| <Transforms> |
| <Transform Algorithm="&xslt;"> |
| <xsl:stylesheet version="1.0" xmlns="http://www.w3.org/TR/xhtml1/strict" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="foo"> |
| <xsl:output method="xml" indent="no" encoding="UTF-8"/> |
| <xsl:template match="/"> |
| <html> |
| <head> |
| <title>Notaries</title> |
| </head> |
| <body> |
| <table> |
| <xsl:for-each select="Notaries/Notary"> |
| <tr> |
| <th> |
| <xsl:value-of select="@name"/> |
| </th> |
| </tr> |
| </xsl:for-each> |
| </table> |
| </body> |
| </html> |
| </xsl:template> |
| </xsl:stylesheet> |
| </Transform> |
| <Transform Algorithm="&c14n;" /> |
| </Transforms> |
| <DigestMethod Algorithm="" /> |
| <DigestValue>aaaa</DigestValue> |
| </Reference> |
| </Manifest> |
| </Object> |
| <Object> |
| <SignatureProperties Id="signature-properties-1"> |
| <SignatureProperty Target="#signature"> |
| <SignerAddress xmlns="urn:demo"><IP>192.168.21.138</IP></SignerAddress> |
| </SignatureProperty> |
| </SignatureProperties> |
| </Object> |
| <Object Id="object-4"> |
| <X509Data> |
| <X509SubjectName> |
| CN=Merlin Hughes,O=Baltimore Technologies\, Ltd.,ST=Dublin,C=IE |
| </X509SubjectName> |
| <X509IssuerSerial> |
| <X509IssuerName> |
| CN=Test DSA CA,O=Baltimore Technologies\, Ltd.,ST=Dublin,C=IE |
| </X509IssuerName> |
| <X509SerialNumber>970849936</X509SerialNumber> |
| </X509IssuerSerial> |
| <X509Certificate> |
| MIIDNzCCAvWgAwIBAgIEOd3+kDAJBgcqhkjOOAQDMFsxCzAJBgNVBAYTAklFMQ8w |
| DQYDVQQIEwZEdWJsaW4xJTAjBgNVBAoTHEJhbHRpbW9yZSBUZWNobm9sb2dpZXMs |
| IEx0ZC4xFDASBgNVBAMTC1Rlc3QgRFNBIENBMB4XDTAwMTAwNjE2MzIxNVoXDTAx |
| MTAwNjE2MzIxNFowXTELMAkGA1UEBhMCSUUxDzANBgNVBAgTBkR1YmxpbjElMCMG |
| A1UEChMcQmFsdGltb3JlIFRlY2hub2xvZ2llcywgTHRkLjEWMBQGA1UEAxMNTWVy |
| bGluIEh1Z2hlczCCAbYwggErBgcqhkjOOAQBMIIBHgKBgQDaJjfDTrawMHf8MiUt |
| Y54b37hSmYNnR3KpGT10uU1Dqppcju06uN0iGbqf947DjkBC25hKnqykK31xBw0E |
| CPbYq/KC98kghdf2xJCu6B8aqJ95K9jdVflJ3WP7PQxJn+fmM23zy6HYLXVICpfq |
| etdNj/VHCShZE3bdJiE6VobSFQIVAPQecqS2PaTDprcQnkwx4MHTRXhrAoGAMuGA |
| lqeB1ax+vyO2+Osubjhl7pHxLu47RIH+/M52DjESA9KMSrwzsYx8yNR2WooByrE0 |
| t6fu0VncK7UK8olO4t7wpv2z4AFQPRVCKFwo0qgn5aKIkICGMlrRy81avb27wGcW |
| othx3iPPMtFXtoDqK0JItaI9R8zc1msFhM1GKMYDgYQAAoGActA8YGxrtngg/zKV |
| vqEOefnwmViFztcnPBYPlJsvh6yKI4iDm68fnp4Mi3RrJ6bZAygFrUIQLxLjV+OJ |
| tgJAEto0xAs+Mehuq1DkSFEpP3oDzCTOsrOiS1DwQe4oIb7zVk/9l7aPtJMHW0LV |
| lMdwZNFNNJoqMcT2ZfCPrfvYvQ2jRzBFMB4GA1UdEQQXMBWBE21lcmxpbkBiYWx0 |
| aW1vcmUuaWUwDgYDVR0PAQH/BAQDAgeAMBMGA1UdIwQMMAqACEJZQG0KwRbPMAkG |
| ByqGSM44BAMDMQAwLgIVAK4skWEFYgrggaJA8vYAwSjg12+KAhUAwHTo7wd4tENw |
| 9LAKPklQ/74fH18= |
| </X509Certificate> |
| </X509Data> |
| </Object> |
| </Signature> |
| </YoursSincerely> |
| <PostScript>bar</PostScript> |
| <Notaries Id="notaries" xmlns=""> |
| <Notary name="Great, A. T." /> |
| <Notary name="Hun, A. T." /> |
| </Notaries> |
| <!-- Commentary --> |
| </Envelope> |
| <!-- Postamble --> |