<?xml version="1.0" encoding="UTF-8"?> <!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Rudolf Schamberger (Stabsstelle IKT-Strategie) (Bundesrechenzentrum GmbH) --> <xsd:schema targetNamespace="http://www.buergerkarte.at/namespaces/moaconfig#" xmlns:sl10="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.buergerkarte.at/namespaces/moaconfig#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.1.1"> <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/> <xsd:import namespace="http://www.buergerkarte.at/namespaces/securitylayer/20020225#" schemaLocation="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20020831/core/Core.20020225.xsd"/> <xsd:element name="Configuration"> <xsd:complexType> <xsd:sequence> <xsd:element name="LoginType" type="LoginType" default="stateful"/> <xsd:element name="Binding" minOccurs="0" maxOccurs="1"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:enumeration value="full"/> <xsd:enumeration value="userName"/> <xsd:enumeration value="none"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:choice> <xsd:element ref="ParamAuth"/> <xsd:element ref="BasicAuth"/> <xsd:element ref="HeaderAuth"/> </xsd:choice> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:simpleType name="LoginType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="stateless"/> <xsd:enumeration value="stateful"/> </xsd:restriction> </xsd:simpleType> <xsd:element name="ParamAuth"> <xsd:complexType> <xsd:sequence> <xsd:element ref="Parameter" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="Parameter"> <xsd:complexType> <xsd:attribute name="Name" type="xsd:token" use="required"/> <xsd:attribute name="Value" type="MOAAuthDataType" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="BasicAuth"> <xsd:complexType> <xsd:sequence> <xsd:element name="UserID" type="MOAAuthDataType"/> <xsd:element name="Password" type="MOAAuthDataType"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="HeaderAuth"> <xsd:complexType> <xsd:sequence> <xsd:element ref="Header" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="Header"> <xsd:complexType> <xsd:attribute name="Name" type="xsd:token" use="required"/> <xsd:attribute name="Value" type="MOAAuthDataType" use="required"/> </xsd:complexType> </xsd:element> <xsd:simpleType name="MOAAuthDataType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="MOAGivenName"/> <xsd:enumeration value="MOAFamilyName"/> <xsd:enumeration value="MOADateOfBirth"/> <xsd:enumeration value="MOABPK"/> <xsd:enumeration value="MOAPublicAuthority"/> <xsd:enumeration value="MOABKZ"/> <xsd:enumeration value="MOAQualifiedCertificate"/> <xsd:enumeration value="MOAStammzahl"/> <xsd:enumeration value="MOAIdentificationValueType"/> <xsd:enumeration value="MOAIPAddress"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="MOAKeyBoxSelector"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="SecureSignatureKeypair"/> <xsd:enumeration value="CertifiedKeypair"/> </xsd:restriction> </xsd:simpleType> <!--Konfiguration für Authentisierungs- und Proxy-Komponente und Online-Applikation--> <xsd:element name="MOA-IDConfiguration"> <xsd:complexType> <xsd:sequence> <xsd:element name="AuthComponent" type="AuthComponentType" minOccurs="0"> <xsd:annotation> <xsd:documentation>enthält Parameter der Authentisierungs-Komponente</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="ProxyComponent" minOccurs="0"> <xsd:annotation> <xsd:documentation>enthält Konfigurationsparameter der Proxy-Komponente</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element name="AuthComponent"> <xsd:annotation> <xsd:documentation>enthält Parameter für die Kommunikation zw. Proxykomponente und Authenttisierungskomponente</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType" minOccurs="0"> <xsd:annotation> <xsd:documentation>enthält Parameter für die SOAP-Verbindung von der Proxy-Komponente zur Auth-Komponente (vgl. AuthComponent/MOA-SP/ConnectionParameter)</xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="OnlineApplication" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation>enthält Parameter für die OA</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:complexContent> <xsd:extension base="OnlineApplicationType"> <xsd:attribute name="publicURLPrefix" type="xsd:anyURI" use="required"/> <xsd:attribute name="keyBoxIdentifier" type="MOAKeyBoxSelector" use="optional" default="SecureSignatureKeypair"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="ChainingModes" minOccurs="0"> <xsd:annotation> <xsd:documentation>spezifiziert den Algorithmus ("pkix" oder "chaining") für die Zertifikatspfadvalidierung</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence minOccurs="0" maxOccurs="unbounded"> <xsd:element name="TrustAnchor"> <xsd:annotation> <xsd:documentation>ein vom SystemDefaultMode abweichender ChiningMode kann für jeden TrustAnchor gesetzt werden</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:complexContent> <xsd:extension base="dsig:X509IssuerSerialType"> <xsd:attribute name="mode" type="ChainingModeType" use="required"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> </xsd:sequence> <xsd:attribute name="systemDefaultMode" type="ChainingModeType" use="optional" default="pkix"/> </xsd:complexType> </xsd:element> <xsd:element name="TrustedCACertificates" type="xsd:anyURI" minOccurs="0"> <xsd:annotation> <xsd:documentation>verweist auf ein Verzeichnis, das vertrauenswürdige CA (Zwischen-CA, Wurzel-CA) Zertifikate enthält.</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="GenericConfiguration" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType> <xsd:attribute name="name" type="xsd:string" use="required"/> <xsd:attribute name="value" type="xsd:string" use="required"/> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:complexType name="AuthComponentType"> <xsd:sequence> <xsd:element name="BKUSelection" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="ConnectionParameter" type="ConnectionParameterServerAuthType"/> </xsd:sequence> <xsd:attribute name="BKUSelectionAlternative" type="BKUSelectionType" use="optional" default="HTMLComplete"/> </xsd:complexType> </xsd:element> <xsd:element name="SecurityLayer"> <xsd:annotation> <xsd:documentation>enthält Parameter für die Kommunikation mit dem Security-Layer</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element name="TransformsInfo" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation>das Attribut filename verweist auf eine Datei mit globalem Element TransformsInfo vom Typ sl10:TransformsInfo; diese TransformsInfo werden in den CreateXMLSignatureRequest für die Signatur des AUTH-Blocks inkludiert</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:attribute name="filename" type="xsd:anyURI" use="required"/> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="MOA-SP"> <xsd:annotation> <xsd:documentation>enthält Konfiguratiosnparameter für die Kommunikation mit dem MOA SP Modul</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType" minOccurs="0"> <xsd:annotation> <xsd:documentation>enthält Parameter für die SOAP-Verbindung von der AUTH-Komponente zu MOA-SP; das Attribut URL enthält den Endpunkt des Server; wird das Schema "https" verwendet müssen die Kind-Elemente angegeben werden; wird das Schema "http" verwendet dürfen keine Kind-Elemente angegeben werden; wird das Element nicht verwendet dann wird MOA-SP über das API aufgerufen</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="VerifyIdentityLink"> <xsd:annotation> <xsd:documentation>enthält Parameter für die Überprüfung der Personenbindung</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element ref="TrustProfileID"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="VerifyAuthBlock"> <xsd:annotation> <xsd:documentation>enthält Parameter für die Überprüfung des AUTH-Blocks</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element ref="TrustProfileID"/> <xsd:element name="VerifyTransformsInfoProfileID" type="xsd:string" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="IdentityLinkSigners"> <xsd:annotation> <xsd:documentation>enthält Informationen über akzeptierte Signers des IdentityLinks</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element name="X509SubjectName" type="xsd:string" maxOccurs="unbounded"> <xsd:annotation> <xsd:documentation>akzeptierte Signer des IdentityLinks werden per X509SubjectName (Kodierung nach RFC 2253) identifiziert</xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ProxyComponentType"/> <xsd:complexType name="OnlineApplicationType"> <xsd:sequence> <xsd:element name="AuthComponent" minOccurs="0"> <xsd:annotation> <xsd:documentation>enthält Parameter über die OA, die die Authentisierungs-Komponente betreffen</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:attribute name="provideStammzahl" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="provideAUTHBlock" type="xsd:boolean" use="optional" default="false"/> <xsd:attribute name="provideIdentityLink" type="xsd:boolean" use="optional" default="false"/> </xsd:complexType> </xsd:element> <xsd:element name="ProxyComponent" minOccurs="0"> <xsd:annotation> <xsd:documentation>enthält Parameter über die OA, die die Proxy-Komponente betreffen</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element name="ConnectionParameter" type="ConnectionParameterClientAuthType"> <xsd:annotation> <xsd:documentation>enthält Parameter über die OA, die die Proxy-Komponente betreffen</xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> <xsd:attribute name="configFileURL" type="xsd:anyURI" use="optional"/> <xsd:attribute name="sessionTimeOut" type="xsd:int" use="optional"/> <xsd:attribute name="loginParameterResolverImpl" type="xsd:string" use="optional"/> <xsd:attribute name="loginParameterResolverConfiguration" type="xsd:string" use="optional"/> <xsd:attribute name="connectionBuilderImpl" type="xsd:string" use="optional"/> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ConnectionParameterServerAuthType"> <xsd:sequence> <xsd:element name="AcceptedServerCertificates" type="xsd:anyURI" minOccurs="0"> <xsd:annotation> <xsd:documentation>URL zu einem Verzeichnis, das akzeptierte Server-Zertifikate der TLS-Verbindung enthält (keine CA-Zertifikate)</xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> <xsd:attribute name="URL" type="xsd:anyURI" use="required"/> </xsd:complexType> <xsd:complexType name="ConnectionParameterClientAuthType"> <xsd:complexContent> <xsd:extension base="ConnectionParameterServerAuthType"> <xsd:sequence> <xsd:element name="ClientKeyStore" minOccurs="0"> <xsd:annotation> <xsd:documentation>URL zu einem KeyStore, der den privaten Schlüssel, der für die TLS-Client-Authentisierung verwendetwird, enthält</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:anyURI"> <xsd:attribute name="password" type="xsd:string" use="optional"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="TrustProfileID" type="xsd:string"/> <xsd:simpleType name="ChainingModeType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="chaining"/> <xsd:enumeration value="pkix"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="BKUSelectionType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="HTMLComplete"/> <xsd:enumeration value="HTMLSelect"/> </xsd:restriction> </xsd:simpleType> </xsd:schema>