oadr_xmldsig.xsd 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" version="0.1">
  3. <!-- Basic Types Defined for Signatures -->
  4. <simpleType name="CryptoBinary">
  5. <restriction base="base64Binary"/>
  6. </simpleType>
  7. <!-- Start Signature -->
  8. <element name="Signature" type="ds:SignatureType"/>
  9. <complexType name="SignatureType">
  10. <sequence>
  11. <element ref="ds:SignedInfo"/>
  12. <element ref="ds:SignatureValue"/>
  13. <element ref="ds:KeyInfo" minOccurs="0"/>
  14. <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
  15. </sequence>
  16. <attribute name="Id" type="ID" use="optional"/>
  17. </complexType>
  18. <element name="SignatureValue" type="ds:SignatureValueType"/>
  19. <complexType name="SignatureValueType">
  20. <simpleContent>
  21. <extension base="base64Binary">
  22. <attribute name="Id" type="ID" use="optional"/>
  23. </extension>
  24. </simpleContent>
  25. </complexType>
  26. <!-- Start SignedInfo -->
  27. <element name="SignedInfo" type="ds:SignedInfoType"/>
  28. <complexType name="SignedInfoType">
  29. <sequence>
  30. <element ref="ds:CanonicalizationMethod"/>
  31. <element ref="ds:SignatureMethod"/>
  32. <element ref="ds:Reference" maxOccurs="unbounded"/>
  33. </sequence>
  34. <attribute name="Id" type="ID" use="optional"/>
  35. </complexType>
  36. <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
  37. <complexType name="CanonicalizationMethodType" mixed="true">
  38. <sequence>
  39. <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
  40. <!-- (0,unbounded) elements from (1,1) namespace -->
  41. </sequence>
  42. <attribute name="Algorithm" type="anyURI" use="required"/>
  43. </complexType>
  44. <element name="SignatureMethod" type="ds:SignatureMethodType"/>
  45. <complexType name="SignatureMethodType" mixed="true">
  46. <sequence>
  47. <element name="HMACOutputLength" type="ds:HMACOutputLengthType" minOccurs="0"/>
  48. <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
  49. <!-- (0,unbounded) elements from (1,1) external namespace -->
  50. </sequence>
  51. <attribute name="Algorithm" type="anyURI" use="required"/>
  52. </complexType>
  53. <!-- Start Reference -->
  54. <element name="Reference" type="ds:ReferenceType"/>
  55. <complexType name="ReferenceType">
  56. <sequence>
  57. <element ref="ds:Transforms" minOccurs="0"/>
  58. <element ref="ds:DigestMethod"/>
  59. <element ref="ds:DigestValue"/>
  60. </sequence>
  61. <attribute name="Id" type="ID" use="optional"/>
  62. <attribute name="URI" type="anyURI" use="optional"/>
  63. <attribute name="Type" type="anyURI" use="optional"/>
  64. </complexType>
  65. <element name="Transforms" type="ds:TransformsType"/>
  66. <complexType name="TransformsType">
  67. <sequence>
  68. <element ref="ds:Transform" maxOccurs="unbounded"/>
  69. </sequence>
  70. </complexType>
  71. <element name="Transform" type="ds:TransformType"/>
  72. <complexType name="TransformType" mixed="true">
  73. <choice minOccurs="0" maxOccurs="unbounded">
  74. <any namespace="##other" processContents="lax"/>
  75. <!-- (1,1) elements from (0,unbounded) namespaces -->
  76. <element name="XPath" type="string"/>
  77. </choice>
  78. <attribute name="Algorithm" type="anyURI" use="required"/>
  79. </complexType>
  80. <!-- End Reference -->
  81. <element name="DigestMethod" type="ds:DigestMethodType"/>
  82. <complexType name="DigestMethodType" mixed="true">
  83. <sequence>
  84. <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
  85. </sequence>
  86. <attribute name="Algorithm" type="anyURI" use="required"/>
  87. </complexType>
  88. <element name="DigestValue" type="ds:DigestValueType"/>
  89. <simpleType name="DigestValueType">
  90. <restriction base="base64Binary"/>
  91. </simpleType>
  92. <!-- End SignedInfo -->
  93. <!-- Start KeyInfo -->
  94. <element name="KeyInfo" type="ds:KeyInfoType"/>
  95. <complexType name="KeyInfoType" mixed="true">
  96. <choice maxOccurs="unbounded">
  97. <element ref="ds:KeyName"/>
  98. <element ref="ds:KeyValue"/>
  99. <element ref="ds:RetrievalMethod"/>
  100. <element ref="ds:X509Data"/>
  101. <element ref="ds:PGPData"/>
  102. <element ref="ds:SPKIData"/>
  103. <element ref="ds:MgmtData"/>
  104. <any namespace="##other" processContents="lax"/>
  105. <!-- (1,1) elements from (0,unbounded) namespaces -->
  106. </choice>
  107. <attribute name="Id" type="ID" use="optional"/>
  108. </complexType>
  109. <element name="KeyName" type="string"/>
  110. <element name="MgmtData" type="string"/>
  111. <element name="KeyValue" type="ds:KeyValueType"/>
  112. <complexType name="KeyValueType" mixed="true">
  113. <choice>
  114. <element ref="ds:DSAKeyValue"/>
  115. <element ref="ds:RSAKeyValue"/>
  116. <any namespace="##other" processContents="lax"/>
  117. </choice>
  118. </complexType>
  119. <element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
  120. <complexType name="RetrievalMethodType">
  121. <sequence>
  122. <element ref="ds:Transforms" minOccurs="0"/>
  123. </sequence>
  124. <attribute name="URI" type="anyURI"/>
  125. <attribute name="Type" type="anyURI" use="optional"/>
  126. </complexType>
  127. <!-- Start X509Data -->
  128. <element name="X509Data" type="ds:X509DataType"/>
  129. <complexType name="X509DataType">
  130. <sequence maxOccurs="unbounded">
  131. <choice>
  132. <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
  133. <element name="X509SKI" type="base64Binary"/>
  134. <element name="X509SubjectName" type="string"/>
  135. <element name="X509Certificate" type="base64Binary"/>
  136. <element name="X509CRL" type="base64Binary"/>
  137. <any namespace="##other" processContents="lax"/>
  138. </choice>
  139. </sequence>
  140. </complexType>
  141. <complexType name="X509IssuerSerialType">
  142. <sequence>
  143. <element name="X509IssuerName" type="string"/>
  144. <element name="X509SerialNumber" type="integer"/>
  145. </sequence>
  146. </complexType>
  147. <!-- End X509Data -->
  148. <!-- Begin PGPData -->
  149. <element name="PGPData" type="ds:PGPDataType"/>
  150. <complexType name="PGPDataType">
  151. <choice>
  152. <sequence>
  153. <element name="PGPKeyID" type="base64Binary"/>
  154. <element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/>
  155. <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
  156. </sequence>
  157. <sequence>
  158. <element name="PGPKeyPacket" type="base64Binary"/>
  159. <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
  160. </sequence>
  161. </choice>
  162. </complexType>
  163. <!-- End PGPData -->
  164. <!-- Begin SPKIData -->
  165. <element name="SPKIData" type="ds:SPKIDataType"/>
  166. <complexType name="SPKIDataType">
  167. <sequence maxOccurs="unbounded">
  168. <element name="SPKISexp" type="base64Binary"/>
  169. <any namespace="##other" processContents="lax" minOccurs="0"/>
  170. </sequence>
  171. </complexType>
  172. <!-- End SPKIData -->
  173. <!-- End KeyInfo -->
  174. <!-- Start Object (Manifest, SignatureProperty) -->
  175. <element name="Object" type="ds:ObjectType"/>
  176. <complexType name="ObjectType" mixed="true">
  177. <sequence minOccurs="0" maxOccurs="unbounded">
  178. <any namespace="##any" processContents="lax"/>
  179. </sequence>
  180. <attribute name="Id" type="ID" use="optional"/>
  181. <attribute name="MimeType" type="string" use="optional"/>
  182. <attribute name="Encoding" type="anyURI" use="optional"/>
  183. <!-- add a grep facet -->
  184. </complexType>
  185. <element name="Manifest" type="ds:ManifestType"/>
  186. <complexType name="ManifestType">
  187. <sequence>
  188. <element ref="ds:Reference" maxOccurs="unbounded"/>
  189. </sequence>
  190. <attribute name="Id" type="ID" use="optional"/>
  191. </complexType>
  192. <element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
  193. <complexType name="SignaturePropertiesType">
  194. <sequence>
  195. <element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
  196. </sequence>
  197. <attribute name="Id" type="ID" use="optional"/>
  198. </complexType>
  199. <element name="SignatureProperty" type="ds:SignaturePropertyType"/>
  200. <complexType name="SignaturePropertyType" mixed="true">
  201. <choice maxOccurs="unbounded">
  202. <any namespace="##other" processContents="lax"/>
  203. <!-- (1,1) elements from (1,unbounded) namespaces -->
  204. </choice>
  205. <attribute name="Target" type="anyURI" use="required"/>
  206. <attribute name="Id" type="ID" use="optional"/>
  207. </complexType>
  208. <!-- End Object (Manifest, SignatureProperty) -->
  209. <!-- Start Algorithm Parameters -->
  210. <simpleType name="HMACOutputLengthType">
  211. <restriction base="integer"/>
  212. </simpleType>
  213. <!-- Start KeyValue Element-types -->
  214. <element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
  215. <complexType name="DSAKeyValueType">
  216. <sequence>
  217. <sequence minOccurs="0">
  218. <element name="P" type="ds:CryptoBinary"/>
  219. <element name="Q" type="ds:CryptoBinary"/>
  220. </sequence>
  221. <element name="G" type="ds:CryptoBinary" minOccurs="0"/>
  222. <element name="Y" type="ds:CryptoBinary"/>
  223. <element name="J" type="ds:CryptoBinary" minOccurs="0"/>
  224. <sequence minOccurs="0">
  225. <element name="Seed" type="ds:CryptoBinary"/>
  226. <element name="PgenCounter" type="ds:CryptoBinary"/>
  227. </sequence>
  228. </sequence>
  229. </complexType>
  230. <element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
  231. <complexType name="RSAKeyValueType">
  232. <sequence>
  233. <element name="Modulus" type="ds:CryptoBinary"/>
  234. <element name="Exponent" type="ds:CryptoBinary"/>
  235. </sequence>
  236. </complexType>
  237. <!-- End KeyValue Element-types -->
  238. <!-- End Signature -->
  239. </schema>