⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 signature.tmpl

📁 如何实现安全的xml机制
💻 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]) &gt;                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 + -