📄 signature.tmpl
字号:
<?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 -->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -