libeufin

Integration and sandbox testing for FinTech APIs and data formats
Log | Files | Refs | Submodules | README | LICENSE

commit 558a832a1ba29772613f56057f78acc705707219
parent 11ca15404680694c5d18f7f6300b504a881f20d3
Author: Florian Dold <florian.dold@gmail.com>
Date:   Tue,  8 Oct 2019 12:46:21 +0530

fix EBICS signatures schema version confusion

Diffstat:
D.idea/dictionaries/dold.xml | 11-----------
M.idea/gradle.xml | 3---
M.idea/misc.xml | 1-
Msrc/main/resources/ebics_orders_H004.xsd | 4++--
Asrc/main/resources/ebics_signatures.xsd | 217+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Msrc/main/resources/ebics_types_H004.xsd | 4++--
6 files changed, 221 insertions(+), 19 deletions(-)

diff --git a/.idea/dictionaries/dold.xml b/.idea/dictionaries/dold.xml @@ -1,10 +0,0 @@ -<component name="ProjectDictionaryState"> - <dictionary name="dold"> - <words> - <w>affero</w> - <w>dold</w> - <w>ebics</w> - <w>stanisci</w> - </words> - </dictionary> -</component> -\ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml @@ -4,8 +4,6 @@ <component name="GradleSettings"> <option name="linkedExternalProjectsSettings"> <GradleProjectSettings> - <option name="delegatedBuild" value="true" /> - <option name="testRunner" value="GRADLE" /> <option name="distributionType" value="DEFAULT_WRAPPED" /> <option name="externalProjectPath" value="$PROJECT_DIR$" /> <option name="gradleHome" value="/usr/share/java/gradle" /> @@ -15,7 +13,6 @@ <option value="$PROJECT_DIR$" /> </set> </option> - <option name="useAutoImport" value="true" /> <option name="useQualifiedModuleNames" value="true" /> </GradleProjectSettings> </option> diff --git a/.idea/misc.xml b/.idea/misc.xml @@ -1,5 +1,4 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="ExternalStorageConfigurationManager" enabled="true" /> - <component name="ProjectRootManager" version="2" project-jdk-name="1.8" project-jdk-type="JavaSDK" /> </project> \ No newline at end of file diff --git a/src/main/resources/ebics_orders_H004.xsd b/src/main/resources/ebics_orders_H004.xsd @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- Mit XMLSpy v2008 rel. 2 (http://www.altova.com) von Sabine Wenzel (SIZ Bonn) bearbeitet --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:esig="http://www.ebics.org/S002" xmlns:ebics="urn:org:ebics:H004" targetNamespace="urn:org:ebics:H004" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0"> +<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:esig="http://www.ebics.org/S001" xmlns:ebics="urn:org:ebics:H004" targetNamespace="urn:org:ebics:H004" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0"> <annotation> <documentation xml:lang="de">ebics_orders_H004.xsd enthält auftragsbezogene Referenzelemente und auftragsbezogene Typdefinitionen für EBICS.</documentation> <documentation xml:lang="en">ebics_orders_H004.xsd contains order-based reference elements and order-based type definitions for EBICS.</documentation> </annotation> - <import namespace="http://www.ebics.org/S002" schemaLocation="ebics_signature_S002.xsd"/> + <import namespace="http://www.ebics.org/S001" schemaLocation="ebics_signatures.xsd"/> <include schemaLocation="ebics_types_H004.xsd"/> <!--Es folgen die Elementdefinitionen für neue EBICS-Auftragsarten (Hxx). Die XML-Klartext-Struktur wird im EBICS-Auftragsdatenkontext binär interpretiert.--> <element name="EBICSOrderData" abstract="true"> diff --git a/src/main/resources/ebics_signatures.xsd b/src/main/resources/ebics_signatures.xsd @@ -0,0 +1,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> diff --git a/src/main/resources/ebics_types_H004.xsd b/src/main/resources/ebics_types_H004.xsd @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- Mit XMLSpy v2008 rel. 2 (http://www.altova.com) von Sabine Wenzel (SIZ Bonn) bearbeitet --> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:esig="http://www.ebics.org/S002" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ebics="urn:org:ebics:H004" targetNamespace="urn:org:ebics:H004" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0"> - <import namespace="http://www.ebics.org/S002" schemaLocation="ebics_signature_S002.xsd"/> +<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:esig="http://www.ebics.org/S001" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ebics="urn:org:ebics:H004" targetNamespace="urn:org:ebics:H004" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0"> + <import namespace="http://www.ebics.org/S001" schemaLocation="ebics_signatures.xsd"/> <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/> <annotation> <documentation xml:lang="de">ebics_types_H004.xsd enthält einfache Typdefinitionen für EBICS.</documentation>