summaryrefslogtreecommitdiff
path: root/ebics/src/main/resources/xsd/ebics_signatures.xsd
blob: 79abed9b3d6156a18a027d1fd8f456652890c776 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:esig="http://www.ebics.org/S001" targetNamespace="http://www.ebics.org/S001" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
	<import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
	<annotation>
		<documentation xml:lang="de">ebics_signature enthält Typdefinitionen für elektronische Unterschriften der Versionen A004, A005, A006 und folgende.</documentation>
		<documentation xml:lang="en">ebics_EU contains type definitions for electronic signatures: versions A005, A006 and et sqq.</documentation>
	</annotation>
	<!-- Elementdefinitionen für die EU. Die XML-Klartext-Struktur wird im EBICS-Signaturdatenkontext binär interpretiert.-->
	<element name="EBICSSignatureData" abstract="true">
		<annotation>
			<documentation xml:lang="de">XML-Strukturen für bankfachliche Elektronische Unterschriften (EUs).</documentation>
			<documentation xml:lang="en">contains the digital signatures.</documentation>
		</annotation>
	</element>
	<element name="UserSignatureData" type="esig:UserSignatureDataSigBookType" substitutionGroup="esig:EBICSSignatureData">
		<annotation>
			<documentation xml:lang="de">enthält die EUs der Teilnehmer.</documentation>
			<documentation xml:lang="en">contains the digital signatures.</documentation>
		</annotation>
	</element>
	<complexType name="UserSignatureDataSigBookType">
		<annotation>
			<documentation xml:lang="de">Datentyp für Signaturdaten des Teilnehmers beim EU-Transfer.</documentation>
			<documentation xml:lang="en">Data type for digital signature data transferred using EBICS.</documentation>
		</annotation>
		<sequence>
			<choice maxOccurs="unbounded">
				<element name="OrderSignature">
					<annotation>
						<documentation xml:lang="de">bankfachliche Elektronische Unterschrift oder Transportunterschrift (Binärformat).</documentation>
						<documentation xml:lang="en">Digital signature (either autorising an order or applied for transportation), binary format.</documentation>
					</annotation>
					<complexType>
						<simpleContent>
							<extension base="esig:OrderSignatureType">
								<attribute name="PartnerID" use="required">
									<annotation>
										<documentation xml:lang="de">Kunden-ID des Unterzeichners.</documentation>
										<documentation xml:lang="en">Customer ID of the signer.</documentation>
									</annotation>
								</attribute>
							</extension>
						</simpleContent>
					</complexType>
				</element>
				<element name="OrderSignatureData" type="esig:OrderSignatureDataType">
					<annotation>
						<documentation xml:lang="de">bankfachliche Elektronische Unterschrift oder Transportunterschrift (strukturiertes Format).</documentation>
						<documentation xml:lang="en">Digital signature (either autorising an order or applied for transportation), structured format.</documentation>
					</annotation>
				</element>
			</choice>
			<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<simpleType name="OrderSignatureType">
		<annotation>
			<documentation xml:lang="de">Datentyp für kryptographische Unterschriften.</documentation>
		</annotation>
		<restriction base="base64Binary"/>
	</simpleType>
	<element name="OrderSignatureData" type="esig:OrderSignatureDataType">
		<annotation>
			<documentation xml:lang="de">bankfachliche Elektronische Unterschrift oder Transportunterschrift (strukturiertes Format).</documentation>
			<documentation xml:lang="en">Digital signature (either autorising an order or applied for transportation), structured format.</documentation>
		</annotation>
	</element>
	<complexType name="OrderSignatureDataType">
		<annotation>
			<documentation xml:lang="de">Datentyp für bankfachliche Elektronische Unterschrift oder Transportunterschrift (strukturiertes Format).</documentation>
			<documentation xml:lang="en">Data type according for a digital signature (either autorising an order or applied for transportation), structured format.</documentation>
		</annotation>
		<sequence>
			<element name="SignatureVersion" type="esig:SignatureVersionType">
				<annotation>
					<documentation xml:lang="de">Version des Signaturverfahrens.</documentation>
					<documentation xml:lang="en">Version of the algorithm used for signature creation.</documentation>
				</annotation>
			</element>
			<element name="SignatureValue" type="base64Binary">
				<annotation>
					<documentation xml:lang="de">Digitale Signatur.</documentation>
					<documentation xml:lang="en">Digital signature.</documentation>
				</annotation>
			</element>
			<element name="PartnerID" type="esig:PartnerIDType">
				<annotation>
					<documentation xml:lang="de">Kunden-ID des Unterzeichners.</documentation>
					<documentation xml:lang="en">Customer ID of the signer.</documentation>
				</annotation>
			</element>
			<element name="UserID" type="esig:UserIDType">
				<annotation>
					<documentation xml:lang="de">Teilnehmer-ID.</documentation>
					<documentation xml:lang="en">User ID.</documentation>
				</annotation>
			</element>
			<element ref="ds:X509Data" minOccurs="0">
				<annotation>
					<documentation xml:lang="de">Parameter zur X.509-Funktionalität</documentation>
					<documentation xml:lang="en">Parameter for X509Data</documentation>
				</annotation>
			</element>
		</sequence>
	</complexType>
	<simpleType name="PartnerIDType">
		<annotation>
			<documentation xml:lang="de">Datentyp für eine Kunden-ID.</documentation>
		</annotation>
		<restriction base="token">
			<maxLength value="35"/>
		</restriction>
	</simpleType>
	<simpleType name="UserIDType">
		<annotation>
			<documentation xml:lang="de">Datentyp für eine Teilnehmer-ID.</documentation>
		</annotation>
		<restriction base="token">
			<maxLength value="35"/>
		</restriction>
	</simpleType>
	<simpleType name="SignatureVersionType">
		<annotation>
			<documentation xml:lang="de">Datentyp für Versionsnummern zur Elektronischen Unterschrift (EU).</documentation>
		</annotation>
		<restriction base="token">
			<length value="4"/>
			<pattern value="A\d{3}"/>
		</restriction>
	</simpleType>
	<!-- Definitionen für die Uebertragung von oeffentlichen Signierschlüsseln. z.B. ueber EBICS mit INI, PUB, HCS.-->
	<element name="SignaturePubKeyOrderData" type="esig:SignaturePubKeyOrderDataType">
		<annotation>
			<documentation xml:lang="de">Element für Public Key Dateien unabhängig von der Auftragsart / Geschäftsvorfall.</documentation>
		</annotation>
	</element>
	<complexType name="SignaturePubKeyOrderDataType">
		<annotation>
			<documentation xml:lang="de">Datentyp für Public Key Dateien unabhängig von der Auftragsart / Geschäftsvorfall.</documentation>
		</annotation>
		<sequence>
			<element name="SignaturePubKeyInfo" type="esig:SignaturePubKeyInfoType">
				<annotation>
					<documentation xml:lang="de">öffentlicher Signaturschlüssel.</documentation>
				</annotation>
			</element>
			<element name="PartnerID" type="esig:PartnerIDType">
				<annotation>
					<documentation xml:lang="de">Kunden-ID.</documentation>
				</annotation>
			</element>
			<element name="UserID" type="esig:UserIDType">
				<annotation>
					<documentation xml:lang="de">Teilnehmer-ID.</documentation>
				</annotation>
			</element>
			<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<element name="SignaturePubKeyInfo" type="esig:SignaturePubKeyInfoType">
		<annotation>
			<documentation xml:lang="de">öffentlicher Signaturschlüssel.</documentation>
		</annotation>
	</element>
	<complexType name="SignaturePubKeyInfoType">
		<annotation>
			<documentation xml:lang="de">Datentyp für öffentliche bankfachliche Schlüssel.</documentation>
		</annotation>
		<complexContent>
			<extension base="esig:PubKeyInfoType">
				<sequence>
					<element name="SignatureVersion" type="esig:SignatureVersionType">
						<annotation>
							<documentation xml:lang="de">Version des EU-Signaturverfahrens.</documentation>
						</annotation>
					</element>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="PubKeyInfoType">
		<annotation>
			<documentation xml:lang="de">Datentyp für die Darstellung eines öffentlichen RSA-Schlüssels als Exponent-Modulus-Kombination oder als X509-Zertifikat.</documentation>
		</annotation>
		<sequence>
			<sequence>
				<element ref="ds:X509Data" minOccurs="0"/>
				<element name="PubKeyValue" type="esig:PubKeyValueType">
					<annotation>
						<documentation xml:lang="de">Darstellung als Exponent-Modulus-Kombination.</documentation>
					</annotation>
				</element>
			</sequence>
			<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="PubKeyValueType">
		<annotation>
			<documentation xml:lang="de">Datentyp für die Exponent-Modulus-Darstellung eines öffentlichen RSA-Schlüssels.</documentation>
		</annotation>
		<sequence>
			<element ref="ds:RSAKeyValue"/>
			<element name="TimeStamp" type="esig:TimestampType" minOccurs="0">
				<annotation>
					<documentation xml:lang="de">Zeitpunkt der Generierung des Schlüssels.</documentation>
				</annotation>
			</element>
			<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<simpleType name="TimestampType">
		<annotation>
			<documentation xml:lang="de">Datentyp für Zeitstempel.</documentation>
		</annotation>
		<restriction base="dateTime"/>
	</simpleType>
</schema>