Extend Trust checking to the SSL session to the AA
[java-idp.git] / src / schemas / xenc-schema.xsd
1 <?xml version="1.0" encoding="utf-8"?>
2
3
4 <schema xmlns='http://www.w3.org/2001/XMLSchema' version='1.0'
5         xmlns:xenc='http://www.w3.org/2001/04/xmlenc#'
6         xmlns:ds='http://www.w3.org/2000/09/xmldsig#'
7         targetNamespace='http://www.w3.org/2001/04/xmlenc#'
8         elementFormDefault='qualified'>
9
10   <import namespace='http://www.w3.org/2000/09/xmldsig#' schemaLocation='xmldsig-core-schema.xsd'/>
11
12   <complexType name='EncryptedType' abstract='true'>
13     <sequence>
14       <element name='EncryptionMethod' type='xenc:EncryptionMethodType'
15        minOccurs='0'/>
16       <element ref='ds:KeyInfo' minOccurs='0'/>
17       <element ref='xenc:CipherData'/>
18       <element ref='xenc:EncryptionProperties' minOccurs='0'/>
19     </sequence>
20     <attribute name='Id' type='ID' use='optional'/>
21     <attribute name='Type' type='anyURI' use='optional'/>
22     <attribute name='MimeType' type='string' use='optional'/>
23     <attribute name='Encoding' type='anyURI' use='optional'/>
24   </complexType>
25   
26   <complexType name='EncryptionMethodType' mixed='true'>
27     <sequence>
28       <element name='KeySize' minOccurs='0' type='xenc:KeySizeType'/>
29       <element name='OAEPparams' minOccurs='0' type='base64Binary'/>
30       <any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
31     </sequence>
32     <attribute name='Algorithm' type='anyURI' use='required'/>
33   </complexType>
34
35     <simpleType name='KeySizeType'>
36       <restriction base="integer"/>
37     </simpleType>
38
39   <element name='CipherData' type='xenc:CipherDataType'/>
40   <complexType name='CipherDataType'>
41      <choice>
42        <element name='CipherValue' type='base64Binary'/>
43        <element ref='xenc:CipherReference'/>
44      </choice>
45     </complexType>
46
47    <element name='CipherReference' type='xenc:CipherReferenceType'/>
48    <complexType name='CipherReferenceType'>
49        <choice>
50          <element name='Transforms' type='xenc:TransformsType' minOccurs='0'/>
51        </choice>
52        <attribute name='URI' type='anyURI' use='required'/>
53    </complexType>
54
55      <complexType name='TransformsType'>
56        <sequence>
57          <element ref='ds:Transform' maxOccurs='unbounded'/>
58        </sequence>
59      </complexType>
60
61
62   <element name='EncryptedData' type='xenc:EncryptedDataType'/>
63   <complexType name='EncryptedDataType'>
64     <complexContent>
65       <extension base='xenc:EncryptedType'>
66        </extension>
67     </complexContent>
68   </complexType>
69
70   <!-- Children of ds:KeyInfo -->
71
72   <element name='EncryptedKey' type='xenc:EncryptedKeyType'/>
73   <complexType name='EncryptedKeyType'>
74     <complexContent>
75       <extension base='xenc:EncryptedType'>
76         <sequence>
77           <element ref='xenc:ReferenceList' minOccurs='0'/>
78           <element name='CarriedKeyName' type='string' minOccurs='0'/>
79         </sequence>
80         <attribute name='Recipient' type='string'
81          use='optional'/>
82       </extension>
83     </complexContent>
84   </complexType>
85
86     <element name="AgreementMethod" type="xenc:AgreementMethodType"/>
87     <complexType name="AgreementMethodType" mixed="true">
88       <sequence>
89         <element name="KA-Nonce" minOccurs="0" type="base64Binary"/>
90         <!-- <element ref="ds:DigestMethod" minOccurs="0"/> -->
91         <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
92         <element name="OriginatorKeyInfo" minOccurs="0" type="ds:KeyInfoType"/>
93         <element name="RecipientKeyInfo" minOccurs="0" type="ds:KeyInfoType"/>
94       </sequence>
95       <attribute name="Algorithm" type="anyURI" use="required"/>
96     </complexType>
97
98   <!-- End Children of ds:KeyInfo -->
99
100   <element name='ReferenceList'>
101     <complexType>
102       <choice minOccurs='1' maxOccurs='unbounded'>
103         <element name='DataReference' type='xenc:ReferenceType'/>
104         <element name='KeyReference' type='xenc:ReferenceType'/>
105       </choice>
106     </complexType>
107   </element>
108
109   <complexType name='ReferenceType'>
110     <sequence>
111       <any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
112     </sequence>
113     <attribute name='URI' type='anyURI' use='required'/>
114   </complexType>
115
116
117   <element name='EncryptionProperties' type='xenc:EncryptionPropertiesType'/>
118   <complexType name='EncryptionPropertiesType'>
119     <sequence>
120       <element ref='xenc:EncryptionProperty' maxOccurs='unbounded'/>
121     </sequence>
122     <attribute name='Id' type='ID' use='optional'/>
123   </complexType>
124
125     <element name='EncryptionProperty' type='xenc:EncryptionPropertyType'/>
126     <complexType name='EncryptionPropertyType' mixed='true'>
127       <choice maxOccurs='unbounded'>
128         <any namespace='##other' processContents='lax'/>
129       </choice>
130       <attribute name='Target' type='anyURI' use='optional'/>
131       <attribute name='Id' type='ID' use='optional'/>
132       <anyAttribute namespace="http://www.w3.org/XML/1998/namespace"/>
133     </complexType>
134
135 </schema>
136