diff options
| author | Thomas Lenz <tlenz@iaik.tugraz.at> | 2016-01-22 13:52:48 +0100 | 
|---|---|---|
| committer | Thomas Lenz <tlenz@iaik.tugraz.at> | 2016-01-22 13:52:48 +0100 | 
| commit | 5b0754bddacd5bc7586b56c5a93e78f67d5cb060 (patch) | |
| tree | a318ee77db5ac52afd2fda9412e7bcc7deab362d /common/src | |
| parent | e2ca81976097a5f83183e091ec6a5c9a6afb5269 (diff) | |
| parent | 1672ef1dc32bf37c966660c33e422729addd5b41 (diff) | |
| download | moa-id-spss-5b0754bddacd5bc7586b56c5a93e78f67d5cb060.tar.gz moa-id-spss-5b0754bddacd5bc7586b56c5a93e78f67d5cb060.tar.bz2 moa-id-spss-5b0754bddacd5bc7586b56c5a93e78f67d5cb060.zip | |
Merge branch 'eSense_eIDAS_development' into moa-id-3.2_(OPB)
Conflicts:
	id/server/idserverlib/pom.xml
	id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthInitializer.java
	id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/AuthConfiguration.java
	id/server/modules/module-stork/src/main/java/at/gv/egovernment/moa/id/auth/modules/stork/tasks/CreateStorkAuthRequestFormTask.java
Diffstat (limited to 'common/src')
4 files changed, 475 insertions, 0 deletions
| diff --git a/common/src/main/java/at/gv/egovernment/moa/logging/Logger.java b/common/src/main/java/at/gv/egovernment/moa/logging/Logger.java index 7cb2e7daf..3730b36ce 100644 --- a/common/src/main/java/at/gv/egovernment/moa/logging/Logger.java +++ b/common/src/main/java/at/gv/egovernment/moa/logging/Logger.java @@ -168,6 +168,17 @@ public class Logger {    }    /** +   * Info. +   * +   * @param string the string +   * @param args the objects +   */ +  public static void info(String message, Object[] args) { +		org.slf4j.Logger logger = getLogger(); +		logger.info(prepareMessage(message), args); +	} +   +  /**     * Log a warning message.     *      * @param message The message to log. @@ -210,6 +221,17 @@ public class Logger {    }    /** +   * Log an error message with additional information. +   * +   * @param message The message to log. +   * @param variables The values to substitute {} of the logmessage with. +   */ +  public static void error(Object message, Object[] variables) { +		org.slf4j.Logger logger = getLogger(); +	  logger.error(prepareMessage(message), variables); +  } +   +  /**     * Log a fatal error message.     *      * @param message The message to log. diff --git a/common/src/main/resources/resources/schemas/ts_119612v010201_additionaltypes_xsd.xsd b/common/src/main/resources/resources/schemas/ts_119612v010201_additionaltypes_xsd.xsd new file mode 100644 index 000000000..4af373cf0 --- /dev/null +++ b/common/src/main/resources/resources/schemas/ts_119612v010201_additionaltypes_xsd.xsd @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--                  ****** NOTICE ****** +This document is part of ETSI TS 119 612. In the event that any +part of this document in conflict with the text of TS 119 612  +then that text shall prevail as the authoritative source +--> +<xsd:schema targetNamespace="http://uri.etsi.org/02231/v2/additionaltypes#" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tslx="http://uri.etsi.org/02231/v2/additionaltypes#" xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" xmlns:tsl="http://uri.etsi.org/02231/v2#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" elementFormDefault="qualified" attributeFormDefault="unqualified"> +	<xsd:import namespace="http://uri.etsi.org/02231/v2#" schemaLocation="http://uri.etsi.org/19612/v1.2.1/tsl.xsd"/> +	<xsd:import namespace="http://uri.etsi.org/01903/v1.3.2#" schemaLocation="http://uri.etsi.org/01903/v1.3.2/XAdES.xsd"/> +	<xsd:element name="MimeType" type="xsd:string"/> +	<xsd:element name="X509CertificateLocation" type="tsl:NonEmptyURIType"/> +	<xsd:element name="PublicKeyLocation" type="tsl:NonEmptyURIType"/> +	<xsd:element name="ExtendedKeyUsage" type="tslx:ExtendedKeyUsageType"/> +	<xsd:complexType name="ExtendedKeyUsageType"> +		<xsd:sequence maxOccurs="unbounded"> +			<xsd:element name="KeyPurposeId" type="xades:ObjectIdentifierType"/> +		</xsd:sequence> +	</xsd:complexType> +	<xsd:element name="TakenOverBy" type="tslx:TakenOverByType"/> +	<xsd:complexType name="TakenOverByType"> +		<xsd:sequence> +			<xsd:element name="URI" type="tsl:NonEmptyMultiLangURIType"/> +			<xsd:element name="TSPName" type="tsl:InternationalNamesType"/> +			<xsd:element ref="tsl:SchemeOperatorName"/> +			<xsd:element ref="tsl:SchemeTerritory"/> +			<xsd:element name="OtherQualifier" type="tsl:AnyType" minOccurs="0" maxOccurs="unbounded"/> +		</xsd:sequence> +	</xsd:complexType> +	<xsd:element name="CertSubjectDNAttribute" type="tslx:CertSubjectDNAttributeType"/> +	<xsd:complexType name="CertSubjectDNAttributeType"> +		<xsd:sequence maxOccurs="unbounded"> +			<xsd:element name="AttributeOID" type="xades:ObjectIdentifierType"/> +		</xsd:sequence> +	</xsd:complexType> +</xsd:schema> diff --git a/common/src/main/resources/resources/schemas/ts_119612v010201_sie_xsd.xsd b/common/src/main/resources/resources/schemas/ts_119612v010201_sie_xsd.xsd new file mode 100644 index 000000000..42a96b78c --- /dev/null +++ b/common/src/main/resources/resources/schemas/ts_119612v010201_sie_xsd.xsd @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--                  ****** NOTICE ****** +This document is part of ETSI TS 119 612. In the event that any +part of this document in conflict with the text of TS 119 612  +then that text shall prevail as the authoritative source +--> +<xsd:schema targetNamespace="http://uri.etsi.org/TrstSvc/SvcInfoExt/eSigDir-1999-93-EC-TrustedList/#" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://uri.etsi.org/TrstSvc/SvcInfoExt/eSigDir-1999-93-EC-TrustedList/#" xmlns:tsl="http://uri.etsi.org/02231/v2#" xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" elementFormDefault="qualified" attributeFormDefault="unqualified"> +	<xsd:import namespace="http://uri.etsi.org/01903/v1.3.2#" schemaLocation="http://uri.etsi.org/01903/v1.3.2/XAdES.xsd"/>  +	<xsd:element name="Qualifications" type="tns:QualificationsType"/> +	<xsd:complexType name="QualificationsType"> +		<xsd:sequence maxOccurs="unbounded"> +			<xsd:element name="QualificationElement" type="tns:QualificationElementType"/> +		</xsd:sequence> +	</xsd:complexType> +	<xsd:complexType name="QualificationElementType"> +		<xsd:sequence> +			<xsd:element name="Qualifiers" type="tns:QualifiersType"/> +			<xsd:element name="CriteriaList" type="tns:CriteriaListType"/> +		</xsd:sequence> +	</xsd:complexType> +	<xsd:complexType name="CriteriaListType"> +		<xsd:annotation> +			<xsd:documentation>Please first try to use the CriteriaList before doing the OtherCriteria extension point.</xsd:documentation> +		</xsd:annotation> +		<xsd:sequence> +			<xsd:element name="KeyUsage" type="tns:KeyUsageType" minOccurs="0" maxOccurs="unbounded"/> +			<xsd:element name="PolicySet" type="tns:PoliciesListType" minOccurs="0" maxOccurs="unbounded"/> +			<xsd:element name="CriteriaList" type="tns:CriteriaListType" minOccurs="0" maxOccurs="unbounded"/> +			<xsd:element name="Description" type="xsd:string" minOccurs="0"/> +			<xsd:element name="otherCriteriaList" type="xades:AnyType" minOccurs="0"/> +		</xsd:sequence> +		<xsd:attribute name="assert"> +			<xsd:simpleType> +				<xsd:restriction base="xsd:string"> +					<xsd:enumeration value="all"/> +					<xsd:enumeration value="atLeastOne"/> +					<xsd:enumeration value="none"/> +				</xsd:restriction> +			</xsd:simpleType> +		</xsd:attribute> +	</xsd:complexType> +	<xsd:complexType name="QualifiersType"> +		<xsd:sequence maxOccurs="unbounded"> +			<xsd:element name="Qualifier" type="tns:QualifierType"/> +		</xsd:sequence> +	</xsd:complexType> +	<xsd:complexType name="QualifierType"> +		<xsd:attribute name="uri" type="anyURI"/> +	</xsd:complexType> +	<xsd:complexType name="PoliciesListType"> +		<xsd:sequence maxOccurs="unbounded"> +			<xsd:element name="PolicyIdentifier" type="xades:ObjectIdentifierType"/> +		</xsd:sequence> +	</xsd:complexType> +	<xsd:complexType name="KeyUsageType"> +		<xsd:sequence maxOccurs="9"> +			<xsd:element name="KeyUsageBit" type="tns:KeyUsageBitType"/> +		</xsd:sequence> +	</xsd:complexType> +	<xsd:complexType name="KeyUsageBitType"> +		<xsd:simpleContent> +			<xsd:extension base="xsd:boolean"> +				<xsd:attribute name="name"> +					<xsd:simpleType> +						<xsd:restriction base="xsd:string"> +							<xsd:enumeration value="digitalSignature"/> +							<xsd:enumeration value="nonRepudiation"/> +							<xsd:enumeration value="keyEncipherment"/> +							<xsd:enumeration value="dataEncipherment"/> +							<xsd:enumeration value="keyAgreement"/> +							<xsd:enumeration value="keyCertSign"/> +							<xsd:enumeration value="crlSign"/> +							<xsd:enumeration value="encipherOnly"/> +							<xsd:enumeration value="decipherOnly"/> +						</xsd:restriction> +					</xsd:simpleType> +				</xsd:attribute> +			</xsd:extension> +		</xsd:simpleContent> +	</xsd:complexType> +</xsd:schema> diff --git a/common/src/main/resources/resources/schemas/ts_119612v010201_xsd.xsd b/common/src/main/resources/resources/schemas/ts_119612v010201_xsd.xsd new file mode 100644 index 000000000..fb1852ec0 --- /dev/null +++ b/common/src/main/resources/resources/schemas/ts_119612v010201_xsd.xsd @@ -0,0 +1,337 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--                  ****** NOTICE ****** +This document is part of ETSI TS 119 612. In the event that any +part of this document in conflict with the text of TS 119 612  +then that text shall prevail as the authoritative source + +This is a review done in October 2013 as a result of mismatches between the XML Schema and the specification of some data types within TS 119 612, +--> +<xsd:schema targetNamespace="http://uri.etsi.org/02231/v2#" xmlns:tsl="http://uri.etsi.org/02231/v2#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" attributeFormDefault="unqualified"> +	<!-- Imports --> +	<xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/> +	<xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/> +	<!-- Begin auxiliary types --> +	<!--InternationalNamesType--> +	<xsd:complexType name="InternationalNamesType"> +		<xsd:sequence> +			<xsd:element name="Name" type="tsl:MultiLangNormStringType" maxOccurs="unbounded"/> +		</xsd:sequence> +	</xsd:complexType> +	<xsd:complexType name="MultiLangNormStringType"> +		<xsd:simpleContent> +			<xsd:extension base="tsl:NonEmptyNormalizedString"> +				<xsd:attribute ref="xml:lang" use="required"/> +			</xsd:extension> +		</xsd:simpleContent> +	</xsd:complexType> +	<xsd:complexType name="MultiLangStringType"> +		<xsd:simpleContent> +			<xsd:extension base="tsl:NonEmptyString"> +				<xsd:attribute ref="xml:lang" use="required"/> +			</xsd:extension> +		</xsd:simpleContent> +	</xsd:complexType> +	<xsd:simpleType name="NonEmptyString"> +		<xsd:restriction base="xsd:string"> +			<xsd:minLength value="1"/> +		</xsd:restriction> +	</xsd:simpleType> +	<xsd:simpleType name="NonEmptyNormalizedString"> +		<xsd:restriction base="xsd:normalizedString"> +			<xsd:minLength value="1"/> +		</xsd:restriction> +	</xsd:simpleType> +	<!-- AddressType --> +	<xsd:complexType name="AddressType"> +		<xsd:sequence> +			<xsd:element ref="tsl:PostalAddresses"/> +			<xsd:element ref="tsl:ElectronicAddress"/> +		</xsd:sequence> +	</xsd:complexType> +	<!--PostalAddressList Type--> +	<xsd:element name="PostalAddresses" type="tsl:PostalAddressListType"/> +	<xsd:complexType name="PostalAddressListType"> +		<xsd:sequence> +			<xsd:element ref="tsl:PostalAddress" maxOccurs="unbounded"/> +		</xsd:sequence> +	</xsd:complexType> +	<!--PostalAddress Type--> +	<xsd:element name="PostalAddress" type="tsl:PostalAddressType"/> +	<xsd:complexType name="PostalAddressType"> +		<xsd:sequence> +			<xsd:element name="StreetAddress" type="tsl:NonEmptyString"/> +			<xsd:element name="Locality" type="tsl:NonEmptyString"/> +			<xsd:element name="StateOrProvince" type="tsl:NonEmptyString" minOccurs="0"/> +			<xsd:element name="PostalCode" type="tsl:NonEmptyString" minOccurs="0"/> +			<xsd:element name="CountryName" type="tsl:NonEmptyString"/> +		</xsd:sequence> +		<xsd:attribute ref="xml:lang" use="required"/> +	</xsd:complexType> +	<!--ElectronicAddressType--> +	<!-- 2013-10. XML Schema CHANGE--> +	<!-- ElectronicAddress changed to include MultilLan URIs for e-mails and web sites URIs as specified in TS 119 612--> +	<xsd:element name="ElectronicAddress" type="tsl:ElectronicAddressType"/> +	<xsd:complexType name="ElectronicAddressType"> +		<xsd:sequence> +			<xsd:element name="URI" type="tsl:NonEmptyMultiLangURIType" maxOccurs="unbounded"/> +		</xsd:sequence> +	</xsd:complexType> +	<!-- Types for extensions in TSL --> +	<xsd:complexType name="AnyType" mixed="true"> +		<xsd:sequence minOccurs="0" maxOccurs="unbounded"> +			<xsd:any processContents="lax"/> +		</xsd:sequence> +	</xsd:complexType> +	<xsd:element name="Extension" type="tsl:ExtensionType"/> +	<xsd:complexType name="ExtensionType"> +		<xsd:complexContent> +			<xsd:extension base="tsl:AnyType"> +				<xsd:attribute name="Critical" type="xsd:boolean" use="required"/> +			</xsd:extension> +		</xsd:complexContent> +	</xsd:complexType> +	<xsd:complexType name="ExtensionsListType"> +		<xsd:sequence> +			<xsd:element ref="tsl:Extension" maxOccurs="unbounded"/> +		</xsd:sequence> +	</xsd:complexType> +	<!--NonEmptyURIType--> +	<xsd:simpleType name="NonEmptyURIType"> +		<xsd:restriction base="xsd:anyURI"> +			<xsd:minLength value="1"/> +		</xsd:restriction> +	</xsd:simpleType> +	<!--NonEmptyURIType with language indication--> +	<xsd:complexType name="NonEmptyMultiLangURIType"> +		<xsd:simpleContent> +			<xsd:extension base="tsl:NonEmptyURIType"> +				<xsd:attribute ref="xml:lang" use="required"/> +			</xsd:extension> +		</xsd:simpleContent> +	</xsd:complexType> +	<!--List of NonEmptyURIType with language indication--> +	<xsd:complexType name="NonEmptyMultiLangURIListType"> +		<xsd:sequence> +			<xsd:element name="URI" type="tsl:NonEmptyMultiLangURIType" maxOccurs="unbounded"/> +		</xsd:sequence> +	</xsd:complexType> +	<!--List of NonEmptyURIType--> +	<xsd:complexType name="NonEmptyURIListType"> +		<xsd:sequence> +			<xsd:element name="URI" type="tsl:NonEmptyURIType" maxOccurs="unbounded"/> +		</xsd:sequence> +	</xsd:complexType> +	<!-- End auxiliary types --> +	<!-- ROOT Element --> +	<xsd:element name="TrustServiceStatusList" type="tsl:TrustStatusListType"/> +	<!-- Trust Status List Type Definition --> +	<!-- 2013-10. XML Schema CHANGE--> +	<!-- Attribute TSLTag declared as xsd:anyURI --> +	<xsd:complexType name="TrustStatusListType"> +		<xsd:sequence> +			<xsd:element ref="tsl:SchemeInformation"/> +			<xsd:element ref="tsl:TrustServiceProviderList" minOccurs="0"/> +			<xsd:element ref="ds:Signature" minOccurs="0"/> +		</xsd:sequence> +		<xsd:attribute name="TSLTag" type="xsd:anyURI" use="required"/> +		<xsd:attribute name="Id" type="xsd:ID" use="optional"/> +	</xsd:complexType> +	<!-- 2013-10. XML Schema CHANGE--> +	<!-- Supressed the type TSLTagType that served to restrict the value of TSLTag by XML Schema--> +	<!-- In this way, the XML Schema is independent of the TSLTag value and this may change from version to version--> +	<!-- TrustServiceProviderListType--> +	<xsd:element name="TrustServiceProviderList" type="tsl:TrustServiceProviderListType"/> +	<xsd:complexType name="TrustServiceProviderListType"> +		<xsd:sequence> +			<xsd:element ref="tsl:TrustServiceProvider" maxOccurs="unbounded"/> +		</xsd:sequence> +	</xsd:complexType> +	<!-- TSL Scheme Information --> +	<xsd:element name="SchemeInformation" type="tsl:TSLSchemeInformationType"/> +	<xsd:complexType name="TSLSchemeInformationType"> +		<xsd:sequence> +			<xsd:element name="TSLVersionIdentifier" type="xsd:integer"/> +			<xsd:element name="TSLSequenceNumber" type="xsd:positiveInteger"/> +			<xsd:element ref="tsl:TSLType"/> +			<xsd:element ref="tsl:SchemeOperatorName"/> +			<xsd:element name="SchemeOperatorAddress" type="tsl:AddressType"/> +			<xsd:element ref="tsl:SchemeName"/> +			<xsd:element ref="tsl:SchemeInformationURI"/> +			<xsd:element name="StatusDeterminationApproach" type="tsl:NonEmptyURIType"/> +			<xsd:element ref="tsl:SchemeTypeCommunityRules" minOccurs="0"/> +			<xsd:element ref="tsl:SchemeTerritory" minOccurs="0"/> +			<xsd:element ref="tsl:PolicyOrLegalNotice" minOccurs="0"/> +			<xsd:element name="HistoricalInformationPeriod" type="xsd:nonNegativeInteger"/> +			<xsd:element ref="tsl:PointersToOtherTSL" minOccurs="0"/> +			<xsd:element name="ListIssueDateTime" type="xsd:dateTime"/> +			<xsd:element ref="tsl:NextUpdate"/> +			<xsd:element ref="tsl:DistributionPoints" minOccurs="0"/> +			<xsd:element name="SchemeExtensions" type="tsl:ExtensionsListType" minOccurs="0"/> +		</xsd:sequence> +	</xsd:complexType> +	<xsd:element name="TSLType" type="tsl:NonEmptyURIType"/> +	<xsd:element name="SchemeOperatorName" type="tsl:InternationalNamesType"/> +	<xsd:element name="SchemeName" type="tsl:InternationalNamesType"/> +	<xsd:element name="SchemeInformationURI" type="tsl:NonEmptyMultiLangURIListType"/> +	<!-- 2013-10. XML Schema CHANGE--> +	<!-- SchemeTypeCommunityRules changed to include MultilLang URIs for e-mails and web sites URIs as specified in TS 119 612--> +	<xsd:element name="SchemeTypeCommunityRules" type="tsl:NonEmptyMultiLangURIListType"/> +	<!-- SchemeTerritory --> +	<!-- 2014-04. XML Schema CHANGE--> +	<!-- element SchemeTerritory is now of type xsd:string. Suppressed the restriction of having only 2 characters, +	as this element may contain other values than the country codes--> +	<xsd:element name="SchemeTerritory" type="xsd:string"/>	 +	<!-- Policy or Legal Notice --> +	<xsd:element name="PolicyOrLegalNotice" type="tsl:PolicyOrLegalnoticeType"/> +	<xsd:complexType name="PolicyOrLegalnoticeType"> +		<xsd:choice> +			<xsd:element name="TSLPolicy" type="tsl:NonEmptyMultiLangURIType" maxOccurs="unbounded"/> +			<xsd:element name="TSLLegalNotice" type="tsl:MultiLangStringType" maxOccurs="unbounded"/> +		</xsd:choice> +	</xsd:complexType> +	<xsd:element name="NextUpdate" type="tsl:NextUpdateType"/> +	<xsd:complexType name="NextUpdateType"> +		<xsd:sequence> +			<xsd:element name="dateTime" type="xsd:dateTime" minOccurs="0"/> +		</xsd:sequence> +	</xsd:complexType> +	<!--OtherTSLPointersType--> +	<xsd:element name="PointersToOtherTSL" type="tsl:OtherTSLPointersType"/> +	<xsd:complexType name="OtherTSLPointersType"> +		<xsd:sequence> +			<xsd:element ref="tsl:OtherTSLPointer" maxOccurs="unbounded"/> +		</xsd:sequence> +	</xsd:complexType> +	<xsd:element name="OtherTSLPointer" type="tsl:OtherTSLPointerType"/> +	<xsd:complexType name="OtherTSLPointerType"> +		<xsd:sequence> +			<xsd:element ref="tsl:ServiceDigitalIdentities" minOccurs="0"/> +			<xsd:element name="TSLLocation" type="tsl:NonEmptyURIType"/> +			<xsd:element ref="tsl:AdditionalInformation" minOccurs="0"/> +		</xsd:sequence> +	</xsd:complexType> +	<xsd:element name="ServiceDigitalIdentities" type="tsl:ServiceDigitalIdentityListType"/> +	<xsd:complexType name="ServiceDigitalIdentityListType"> +		<xsd:sequence> +			<xsd:element ref="tsl:ServiceDigitalIdentity" maxOccurs="unbounded"/> +		</xsd:sequence> +	</xsd:complexType> +	<xsd:element name="AdditionalInformation" type="tsl:AdditionalInformationType"/> +	<xsd:complexType name="AdditionalInformationType"> +		<xsd:choice maxOccurs="unbounded"> +			<xsd:element name="TextualInformation" type="tsl:MultiLangStringType"/> +			<xsd:element name="OtherInformation" type="tsl:AnyType"/> +		</xsd:choice> +	</xsd:complexType> +	<!--DistributionPoints element--> +	<!-- 2013-10. XML Schema CHANGE--> +	<!-- DistributionPointschanged from ElectronicAddress to nonEmptyURIListType as ElectronicAddress does +	now contain a list of multilang URIs, which is not required for distribution points--> +	<xsd:element name="DistributionPoints" type="tsl:NonEmptyURIListType"/> +	<!-- TSPType --> +	<xsd:element name="TrustServiceProvider" type="tsl:TSPType"/> +	<xsd:complexType name="TSPType"> +		<xsd:sequence> +			<xsd:element ref="tsl:TSPInformation"/> +			<xsd:element ref="tsl:TSPServices"/> +		</xsd:sequence> +	</xsd:complexType> +	<!-- TSPInformationType --> +	<xsd:element name="TSPInformation" type="tsl:TSPInformationType"/> +	<xsd:complexType name="TSPInformationType"> +		<xsd:sequence> +			<xsd:element name="TSPName" type="tsl:InternationalNamesType"/> +			<xsd:element name="TSPTradeName" type="tsl:InternationalNamesType" minOccurs="0"/> +			<xsd:element name="TSPAddress" type="tsl:AddressType"/> +			<xsd:element name="TSPInformationURI" type="tsl:NonEmptyMultiLangURIListType"/> +			<xsd:element name="TSPInformationExtensions" type="tsl:ExtensionsListType" minOccurs="0"/> +		</xsd:sequence> +	</xsd:complexType> +	<!-- TSP Services--> +	<xsd:element name="TSPServices" type="tsl:TSPServicesListType"/> +	<xsd:complexType name="TSPServicesListType"> +		<xsd:sequence> +			<xsd:element ref="tsl:TSPService" maxOccurs="unbounded"/> +		</xsd:sequence> +	</xsd:complexType> +	<xsd:element name="TSPService" type="tsl:TSPServiceType"/> +	<xsd:complexType name="TSPServiceType"> +		<xsd:sequence> +			<xsd:element ref="tsl:ServiceInformation"/> +			<xsd:element ref="tsl:ServiceHistory" minOccurs="0"/> +		</xsd:sequence> +	</xsd:complexType> +	<!-- TSPServiceInformationType --> +	<xsd:element name="ServiceInformation" type="tsl:TSPServiceInformationType"/> +	<xsd:complexType name="TSPServiceInformationType"> +		<xsd:sequence> +			<xsd:element ref="tsl:ServiceTypeIdentifier"/> +			<xsd:element name="ServiceName" type="tsl:InternationalNamesType"/> +			<xsd:element ref="tsl:ServiceDigitalIdentity"/> +			<xsd:element ref="tsl:ServiceStatus"/> +			<xsd:element name="StatusStartingTime" type="xsd:dateTime"/> +			<xsd:element name="SchemeServiceDefinitionURI" type="tsl:NonEmptyMultiLangURIListType" minOccurs="0"/> +			<xsd:element ref="tsl:ServiceSupplyPoints" minOccurs="0"/> +			<xsd:element name="TSPServiceDefinitionURI" type="tsl:NonEmptyMultiLangURIListType" minOccurs="0"/> +			<xsd:element name="ServiceInformationExtensions" type="tsl:ExtensionsListType" minOccurs="0"/> +		</xsd:sequence> +	</xsd:complexType> +	<!-- Service status --> +	<xsd:element name="ServiceStatus" type="tsl:NonEmptyURIType"/> +	<!-- Type for Service Supply Points --> +	<xsd:element name="ServiceSupplyPoints" type="tsl:ServiceSupplyPointsType"/> +	<xsd:complexType name="ServiceSupplyPointsType"> +		<xsd:sequence maxOccurs="unbounded"> +			<xsd:element name="ServiceSupplyPoint" type="tsl:NonEmptyURIType"/> +		</xsd:sequence> +	</xsd:complexType> +	<!-- TSPServiceIdentifier --> +	<xsd:element name="ServiceTypeIdentifier" type="tsl:NonEmptyURIType"/> +	<!-- DigitalIdentityType  --> +	<xsd:element name="ServiceDigitalIdentity" type="tsl:DigitalIdentityListType"/> +	<xsd:complexType name="DigitalIdentityListType"> +		<xsd:sequence> +			<xsd:element name="DigitalId" type="tsl:DigitalIdentityType" minOccurs="0" maxOccurs="unbounded"/> +		</xsd:sequence> +	</xsd:complexType> +	<xsd:complexType name="DigitalIdentityType"> +		<xsd:choice> +			<xsd:element name="X509Certificate" type="xsd:base64Binary"/> +			<xsd:element name="X509SubjectName" type="xsd:string"/> +			<xsd:element ref="ds:KeyValue"/> +			<xsd:element name="X509SKI" type="xsd:base64Binary"/> +			<xsd:element name="Other" type="tsl:AnyType" minOccurs="0"/> +		</xsd:choice> +	</xsd:complexType> +	<!-- ServiceHistory element--> +	<xsd:element name="ServiceHistory" type="tsl:ServiceHistoryType"/> +	<xsd:complexType name="ServiceHistoryType"> +		<xsd:sequence> +			<xsd:element ref="tsl:ServiceHistoryInstance" minOccurs="0" maxOccurs="unbounded"/> +		</xsd:sequence> +	</xsd:complexType> +	<xsd:element name="ServiceHistoryInstance" type="tsl:ServiceHistoryInstanceType"/> +	<xsd:complexType name="ServiceHistoryInstanceType"> +		<xsd:sequence> +			<xsd:element ref="tsl:ServiceTypeIdentifier"/> +			<xsd:element name="ServiceName" type="tsl:InternationalNamesType"/> +			<xsd:element ref="tsl:ServiceDigitalIdentity"/> +			<xsd:element ref="tsl:ServiceStatus"/> +			<xsd:element name="StatusStartingTime" type="xsd:dateTime"/> +			<xsd:element name="ServiceInformationExtensions" type="tsl:ExtensionsListType" minOccurs="0"/> +		</xsd:sequence> +	</xsd:complexType> +	<!-- Elements and types for Extensions --> +	<!-- Extensions children of tsl:VaExtension--> +	<!-- Element ExpiredCertsRevocationInfo --> +	<xsd:element name="ExpiredCertsRevocationInfo" type="xsd:dateTime"/> +	<!-- Element additionalServiceInformation --> +	<xsd:element name="AdditionalServiceInformation" type="tsl:AdditionalServiceInformationType"/> +	<xsd:complexType name="AdditionalServiceInformationType"> +		<xsd:sequence> +			<xsd:element name="URI" type="tsl:NonEmptyMultiLangURIType"/> +			<xsd:element name="InformationValue" type="xsd:string" minOccurs="0"/> +			<xsd:element name="OtherInformation" type="tsl:AnyType" minOccurs="0"/> +		</xsd:sequence> +	</xsd:complexType> +</xsd:schema> | 
