1<?xml version="1.0" encoding="utf-8"?> 2 3<schema xmlns='http://www.w3.org/2001/XMLSchema' version='1.0' 4 xmlns:xenc='http://www.w3.org/2001/04/xmlenc#' 5 xmlns:ds='http://www.w3.org/2000/09/xmldsig#' 6 targetNamespace='http://www.w3.org/2001/04/xmlenc#' 7 elementFormDefault='qualified'> 8 9 <import namespace='http://www.w3.org/2000/09/xmldsig#' 10 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 137