J. Duke | 319a3b9 | 2007-12-01 00:00:00 +0000 | [diff] [blame^] | 1 | <!-- DTD for XML Signatures |
| 2 | http://www.w3.org/2000/09/xmldsig# |
| 3 | Joseph Reagle $last changed 20001215$ |
| 4 | |
| 5 | http://www.w3.org/2000/09/xmldsig# |
| 6 | $Revision: 1.1 $ on $Date: 2002/02/08 20:32:26 $ by $Author: reagle $ |
| 7 | |
| 8 | Copyright 2001 The Internet Society and W3C (Massachusetts Institute |
| 9 | of Technology, Institut National de Recherche en Informatique et en |
| 10 | Automatique, Keio University). All Rights Reserved. |
| 11 | http://www.w3.org/Consortium/Legal/ |
| 12 | |
| 13 | This document is governed by the W3C Software License [1] as described |
| 14 | in the FAQ [2]. |
| 15 | |
| 16 | [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720 |
| 17 | [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD |
| 18 | --> |
| 19 | |
| 20 | |
| 21 | <!-- |
| 22 | |
| 23 | The following entity declarations enable external/flexible content in |
| 24 | the Signature content model. |
| 25 | |
| 26 | #PCDATA emulates schema string; when combined with element types it |
| 27 | emulates schema's mixed content type. |
| 28 | |
| 29 | %foo.ANY permits the user to include their own element types from |
| 30 | other namespaces, for example: |
| 31 | <!ENTITY % KeyValue.ANY '| ecds:ECDSAKeyValue'> |
| 32 | ... |
| 33 | <!ELEMENT ecds:ECDSAKeyValue (#PCDATA) > |
| 34 | |
| 35 | --> |
| 36 | |
| 37 | <!ENTITY % Object.ANY ''> |
| 38 | <!ENTITY % Method.ANY ''> |
| 39 | <!ENTITY % Transform.ANY ''> |
| 40 | <!ENTITY % SignatureProperty.ANY ''> |
| 41 | <!ENTITY % KeyInfo.ANY ''> |
| 42 | <!ENTITY % KeyValue.ANY ''> |
| 43 | <!ENTITY % PGPData.ANY ''> |
| 44 | <!ENTITY % X509Data.ANY ''> |
| 45 | <!ENTITY % SPKIData.ANY ''> |
| 46 | |
| 47 | |
| 48 | |
| 49 | <!-- Start Core Signature declarations, these should NOT be altered --> |
| 50 | |
| 51 | <!ELEMENT Signature (SignedInfo, SignatureValue, KeyInfo?, Object*) > |
| 52 | <!ATTLIST Signature |
| 53 | xmlns CDATA #FIXED 'http://www.w3.org/2000/09/xmldsig#' |
| 54 | Id ID #IMPLIED > |
| 55 | |
| 56 | <!ELEMENT SignatureValue (#PCDATA) > |
| 57 | <!ATTLIST SignatureValue |
| 58 | Id ID #IMPLIED> |
| 59 | |
| 60 | <!ELEMENT SignedInfo (CanonicalizationMethod, |
| 61 | SignatureMethod, Reference+) > |
| 62 | <!ATTLIST SignedInfo |
| 63 | Id ID #IMPLIED |
| 64 | > |
| 65 | |
| 66 | <!ELEMENT CanonicalizationMethod (#PCDATA %Method.ANY;)* > |
| 67 | <!ATTLIST CanonicalizationMethod |
| 68 | Algorithm CDATA #REQUIRED > |
| 69 | |
| 70 | <!ELEMENT SignatureMethod (#PCDATA|HMACOutputLength %Method.ANY;)* > |
| 71 | <!ATTLIST SignatureMethod |
| 72 | Algorithm CDATA #REQUIRED > |
| 73 | |
| 74 | <!ELEMENT Reference (Transforms?, DigestMethod, DigestValue) > |
| 75 | <!ATTLIST Reference |
| 76 | Id ID #IMPLIED |
| 77 | URI CDATA #IMPLIED |
| 78 | Type CDATA #IMPLIED> |
| 79 | |
| 80 | |
| 81 | <!ELEMENT Transforms (Transform+)> |
| 82 | |
| 83 | <!ELEMENT Transform (#PCDATA|XPath %Transform.ANY;)* > |
| 84 | <!ATTLIST Transform |
| 85 | Algorithm CDATA #REQUIRED > |
| 86 | |
| 87 | <!ELEMENT XPath (#PCDATA) > |
| 88 | |
| 89 | <!ELEMENT DigestMethod (#PCDATA %Method.ANY;)* > |
| 90 | <!ATTLIST DigestMethod |
| 91 | Algorithm CDATA #REQUIRED > |
| 92 | |
| 93 | <!ELEMENT DigestValue (#PCDATA) > |
| 94 | |
| 95 | <!ELEMENT KeyInfo (#PCDATA|KeyName|KeyValue|RetrievalMethod| |
| 96 | X509Data|PGPData|SPKIData|MgmtData %KeyInfo.ANY;)* > |
| 97 | <!ATTLIST KeyInfo |
| 98 | Id ID #IMPLIED > |
| 99 | |
| 100 | <!-- Key Information --> |
| 101 | |
| 102 | <!ELEMENT KeyName (#PCDATA) > |
| 103 | <!ELEMENT KeyValue (#PCDATA|DSAKeyValue|RSAKeyValue %KeyValue.ANY;)* > |
| 104 | <!ELEMENT MgmtData (#PCDATA) > |
| 105 | |
| 106 | <!ELEMENT RetrievalMethod (Transforms?) > |
| 107 | <!ATTLIST RetrievalMethod |
| 108 | URI CDATA #REQUIRED |
| 109 | Type CDATA #IMPLIED > |
| 110 | |
| 111 | <!-- X.509 Data --> |
| 112 | |
| 113 | <!ELEMENT X509Data ((X509IssuerSerial | X509SKI | X509SubjectName | |
| 114 | X509Certificate | X509CRL )+ %X509Data.ANY;)> |
| 115 | <!ELEMENT X509IssuerSerial (X509IssuerName, X509SerialNumber) > |
| 116 | <!ELEMENT X509IssuerName (#PCDATA) > |
| 117 | <!ELEMENT X509SubjectName (#PCDATA) > |
| 118 | <!ELEMENT X509SerialNumber (#PCDATA) > |
| 119 | <!ELEMENT X509SKI (#PCDATA) > |
| 120 | <!ELEMENT X509Certificate (#PCDATA) > |
| 121 | <!ELEMENT X509CRL (#PCDATA) > |
| 122 | |
| 123 | <!-- PGPData --> |
| 124 | |
| 125 | <!ELEMENT PGPData ((PGPKeyID, PGPKeyPacket?) | (PGPKeyPacket) %PGPData.ANY;) > |
| 126 | <!ELEMENT PGPKeyPacket (#PCDATA) > |
| 127 | <!ELEMENT PGPKeyID (#PCDATA) > |
| 128 | |
| 129 | <!-- SPKI Data --> |
| 130 | |
| 131 | <!ELEMENT SPKIData (SPKISexp %SPKIData.ANY;) > |
| 132 | <!ELEMENT SPKISexp (#PCDATA) > |
| 133 | |
| 134 | <!-- Extensible Content --> |
| 135 | |
| 136 | <!ELEMENT Object (#PCDATA|Signature|SignatureProperties|Manifest %Object.ANY;)* > |
| 137 | <!ATTLIST Object |
| 138 | Id ID #IMPLIED |
| 139 | MimeType CDATA #IMPLIED |
| 140 | Encoding CDATA #IMPLIED > |
| 141 | |
| 142 | <!ELEMENT Manifest (Reference+) > |
| 143 | <!ATTLIST Manifest |
| 144 | Id ID #IMPLIED > |
| 145 | |
| 146 | <!ELEMENT SignatureProperties (SignatureProperty+) > |
| 147 | <!ATTLIST SignatureProperties |
| 148 | Id ID #IMPLIED > |
| 149 | |
| 150 | <!ELEMENT SignatureProperty (#PCDATA %SignatureProperty.ANY;)* > |
| 151 | <!ATTLIST SignatureProperty |
| 152 | Target CDATA #REQUIRED |
| 153 | Id ID #IMPLIED > |
| 154 | |
| 155 | <!-- Algorithm Parameters --> |
| 156 | |
| 157 | <!ELEMENT HMACOutputLength (#PCDATA) > |
| 158 | |
| 159 | <!ELEMENT DSAKeyValue ((P, Q)?, G?, Y, J?, (Seed, PgenCounter)?) > |
| 160 | <!ELEMENT P (#PCDATA) > |
| 161 | <!ELEMENT Q (#PCDATA) > |
| 162 | <!ELEMENT G (#PCDATA) > |
| 163 | <!ELEMENT Y (#PCDATA) > |
| 164 | <!ELEMENT J (#PCDATA) > |
| 165 | <!ELEMENT Seed (#PCDATA) > |
| 166 | <!ELEMENT PgenCounter (#PCDATA) > |
| 167 | |
| 168 | <!ELEMENT RSAKeyValue (Modulus, Exponent) > |
| 169 | <!ELEMENT Modulus (#PCDATA) > |
| 170 | <!ELEMENT Exponent (#PCDATA) > |
| 171 | |