XML-Signature

  • standard pro přidání digitálního podpisu k XML dokumentu

  • definuje syntaxi a zpracování digitálních podpisů

  • podepsat lze libovolná data včetně XML dokumentů

  • podporuje mnoho algoritmů a metod

  • digitální podpis je zapisován v XML syntaxi

  • XML dokument může mít podpis přímo jako svoji část

  • lze podepsat jen část dokumentu (výběr pomocí XPath)

  • již dnes existují knihovny, které umožňují podepisování a ověřování podpisů v dokumentech

Příklad 9. Ukázka dokumentu podepsaného pomocí XML Signature

<faktura cislo="12/2000" vystaveni="2.2.2000" splatnost="16.2.2000">
  <odberatel>
    <nazev>Poučená, a.s.</nazev>
    <adresa>Široká 21, Praha 1, 110 00</adresa>
    <ico>0987654321</ico>
    <dic>007-0987654321</dic>
  </odberatel>
  <dodavatel>
    <nazev>XMLCompany, s.r.o.</nazev>
    <adresa>Dlouhá 12, Praha 1, 110 00</adresa>
    <ico>1234567890</ico>
    <dic>007-1234567890</dic>
  </dodavatel>
  <polozka>
    <popis>Analýza nasazení XML v podnikovém IS</popis>
    <cena dph="5">50000</cena>
  </polozka>
  <polozka>
    <popis>XML Editor - 10 licencí</popis>
    <cena dph="5">128956</cena>
  </polozka>
  <polozka>
    <popis>Notebook microMini</popis>
    <cena dph="22">89500</cena>
  </polozka>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod
Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#dsa-sha1"/>
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>AOz+uJFiTA40hbArhXycZl5V0PM=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>IdPPqheBUJEz4dn8cdMUlzt2L49ZP0uKm5f0cFe+Fg3AtvGuclQjQA==</SignatureValue>
<KeyInfo><X509Data><X509Certificate
>MIIDHjCCAtwCBEOXYIkwCwYHKoZIzjgEAwUAMHUxCzAJBgNVBAYTAmN6MRgwFgYDVQQIEw9DZXNr
YSBSZXB1Ymxpa2ExDzANBgNVBAcTBlV0b3BpZTEMMAoGA1UEChMDQklTMREwDwYDVQQLEwhWcmF0
bmljZTEaMBgGA1UEAxMRSG9uemEgUG9kZXBpc292YWMwHhcNMDUxMjA3MjIyMjAxWhcNMDYwMzA3
MjIyMjAxWjB1MQswCQYDVQQGEwJjejEYMBYGA1UECBMPQ2Vza2EgUmVwdWJsaWthMQ8wDQYDVQQH
EwZVdG9waWUxDDAKBgNVBAoTA0JJUzERMA8GA1UECxMIVnJhdG5pY2UxGjAYBgNVBAMTEUhvbnph
IFBvZGVwaXNvdmFjMIIBtzCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdS
PO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLC
T7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQ
jxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeO
utRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6
ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYQAAoGAXnqhIF3rNJZwbO9lhv3p
gjx6CvDAY5z/dpgGZpZvC93deCDWHNffRLsHVPT83GWnvKsElKWwk1M541MEt+e+NHZhMsO/97B5
9Legr7hxBWwIk8wz+nWWdwrx8sgAwFE8BJvCAbQYHjc9+50XmsGfQBrXVTfCmY3W3iQB0eqncskw
CwYHKoZIzjgEAwUAAy8AMCwCFGxV1DWTDooPp4LNWEtEPxxMhCulAhQ61Zzeb9zxWy+Z0hkRl3Gf
g6nMxA==</X509Certificate></X509Data></KeyInfo></Signature></faktura>