diff options
| author | mcentner <mcentner@d688527b-c9ab-4aba-bd8d-4036d912da1d> | 2010-08-26 14:48:05 +0000 | 
|---|---|---|
| committer | mcentner <mcentner@d688527b-c9ab-4aba-bd8d-4036d912da1d> | 2010-08-26 14:48:05 +0000 | 
| commit | 603062486b241bc852d6639a06004c31ad3f9d2b (patch) | |
| tree | f483ffe5f45bc57599a5575d75b216deb6007b2c /common/src/main | |
| parent | 730abd0612bf52218eb87acddf0414e3d8ddee42 (diff) | |
| download | moa-id-spss-603062486b241bc852d6639a06004c31ad3f9d2b.tar.gz moa-id-spss-603062486b241bc852d6639a06004c31ad3f9d2b.tar.bz2 moa-id-spss-603062486b241bc852d6639a06004c31ad3f9d2b.zip | |
Added XAdES schema files for versions 1.2.2 to 1.4.1.
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@1189 d688527b-c9ab-4aba-bd8d-4036d912da1d
Diffstat (limited to 'common/src/main')
5 files changed, 1609 insertions, 1 deletions
| diff --git a/common/src/main/java/at/gv/egovernment/moa/util/Constants.java b/common/src/main/java/at/gv/egovernment/moa/util/Constants.java index 6a42720c0..cfc4a762f 100644 --- a/common/src/main/java/at/gv/egovernment/moa/util/Constants.java +++ b/common/src/main/java/at/gv/egovernment/moa/util/Constants.java @@ -248,7 +248,34 @@ public interface Constants {  	/** Local location of the XMLLoginParameterResolver Configuration XML schema definition */  	public static final String XMLLPR_SCHEMA_LOCATION =  		SCHEMA_ROOT + "MOAIdentities.xsd"; +	 +  /** Local location of the XAdES v1.1.1 schema definition */  +  public static final String XADES_1_1_1_SCHEMA_LOCATION = +	SCHEMA_ROOT + "XAdES-1.1.1.xsd"; +  /** URI of the XAdES v1.1.1 namespace */ +  public static final String XADES_1_1_1_NS_URI = "http://uri.etsi.org/01903/v1.1.1#"; +   +  /** Local location of the XAdES v1.2.2 schema definition */  +  public static final String XADES_1_2_2_SCHEMA_LOCATION = +	SCHEMA_ROOT + "XAdES-1.2.2.xsd"; + +  /** URI of the XAdES v1.2.2 namespace */ +  public static final String XADES_1_2_2_NS_URI = "http://uri.etsi.org/01903/v1.2.2#"; + +  /** Local location of the XAdES v1.1.1 schema definition */  +  public static final String XADES_1_3_2_SCHEMA_LOCATION = +	SCHEMA_ROOT + "XAdES-1.3.2.xsd"; + +  /** URI of the XAdES v1.3.2 namespace */ +  public static final String XADES_1_3_2_NS_URI = "http://uri.etsi.org/01903/v1.3.2#"; + +  /** Local location of the XAdES v1.4.1 schema definition */  +  public static final String XADES_1_4_1_SCHEMA_LOCATION = +	SCHEMA_ROOT + "XAdES-1.4.1.xsd"; + +  /** URI of the XAdES v1.4.1 namespace */ +  public static final String XADES_1_4_1_NS_URI = "http://uri.etsi.org/01903/v1.4.1#";    /**     * Contains all namespaces and local schema locations for XML schema @@ -270,7 +297,11 @@ public interface Constants {        + (DSIG_NS_URI + " " + DSIG_SCHEMA_LOCATION + " ")        + (DSIG_FILTER2_NS_URI + " " + DSIG_FILTER2_SCHEMA_LOCATION + " ")        + (DSIG_EC_NS_URI + " " + DSIG_EC_SCHEMA_LOCATION + " ") -      + (XMLLPR_NS_URI + " " + XMLLPR_SCHEMA_LOCATION); +      + (XMLLPR_NS_URI + " " + XMLLPR_SCHEMA_LOCATION + " ") +      + (XADES_1_1_1_NS_URI + " " + XADES_1_1_1_SCHEMA_LOCATION + " ") +      + (XADES_1_2_2_NS_URI + " " + XADES_1_2_2_SCHEMA_LOCATION + " ") +      + (XADES_1_3_2_NS_URI + " " + XADES_1_3_2_SCHEMA_LOCATION + " ") +      + (XADES_1_4_1_NS_URI + " " + XADES_1_4_1_SCHEMA_LOCATION);    /** URN prefix for bPK and wbPK. */    public static final String URN_PREFIX = "urn:publicid:gv.at"; diff --git a/common/src/main/resources/resources/schemas/XAdES-1.1.1.xsd b/common/src/main/resources/resources/schemas/XAdES-1.1.1.xsd new file mode 100644 index 000000000..718061048 --- /dev/null +++ b/common/src/main/resources/resources/schemas/XAdES-1.1.1.xsd @@ -0,0 +1,545 @@ +<?xml version="1.0" encoding="UTF-8"?>
 +<xsd:schema targetNamespace="http://uri.etsi.org/01903/v1.1.1#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://uri.etsi.org/01903/v1.1.1#" 
 +xmlns:ds="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified">
 +
 +  <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
 +  
 +<!-- Start auxiliary types definitions: AnyType, ObjectIdentifierType, 
 +EncapsulatedPKIDataType and TimestampType-->
 +	
 +<!-- Start AnyType -->
 +
 +	<xsd:element name="Any" type="AnyType"/>
 +	<xsd:complexType name="AnyType" mixed="true">
 +		<xsd:sequence>
 +			<xsd:any namespace="##any"/>
 +		</xsd:sequence>
 +		<xsd:anyAttribute namespace="##any"/>
 +	</xsd:complexType>
 +
 +<!-- End AnyType -->
 +
 +<!-- Start ObjectIdentifierType-->
 +	
 +	<xsd:element name="ObjectIdentifier" type="ObjectIdentifierType"/>
 +	<xsd:complexType name="ObjectIdentifierType">
 +		<xsd:sequence>
 +			<xsd:element name="Identifier" type="IdentifierType"/>
 +			<xsd:element name="Description" type="xsd:string" minOccurs="0"/>
 +			<xsd:element name="DocumentationReferences" type="DocumentationReferencesType" minOccurs="0"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="IdentifierType">
 +		<xsd:simpleContent>
 +			<xsd:extension base="xsd:anyURI">
 +				<xsd:attribute name="Qualifier" type="QualifierType" use="optional"/>
 +			</xsd:extension>
 +		</xsd:simpleContent>
 +	</xsd:complexType>
 +	<xsd:simpleType name="QualifierType">
 +		<xsd:restriction base="xsd:string">
 +			<xsd:enumeration value="OIDAsURI"/>
 +			<xsd:enumeration value="OIDAsURN"/>
 +		</xsd:restriction>
 +	</xsd:simpleType>
 +	<xsd:complexType name="DocumentationReferencesType">
 +		<xsd:sequence maxOccurs="unbounded">
 +			<xsd:element name="DocumentationReference" type="xsd:anyURI"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	
 +<!-- End ObjectIdentifierType-->	
 +
 +<!-- Start EncapsulatedPKIDataType-->
 +	
 +	<xsd:element name="EncapsulatedPKIData" type="EncapsulatedPKIDataType"/>
 +	<xsd:complexType name="EncapsulatedPKIDataType">
 +		<xsd:simpleContent>
 +			<xsd:extension base="xsd:base64Binary">
 +				<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +			</xsd:extension>
 +		</xsd:simpleContent>
 +	</xsd:complexType>
 +
 +<!-- End EncapsulatedPKIDataType -->
 +
 +<!-- Start TimeStampType -->
 +
 +	<xsd:element name="TimeStamp" type="TimeStampType"/>
 +	<xsd:complexType name="TimeStampType">
 +		<xsd:sequence>
 +			<xsd:element name="HashDataInfo" type="HashDataInfoType" maxOccurs="unbounded"/>
 +			<xsd:choice>
 +				<xsd:element name="EncapsulatedTimeStamp" type="EncapsulatedPKIDataType"/>
 +				<xsd:element name="XMLTimeStamp" type="AnyType"/>
 +			</xsd:choice>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="HashDataInfoType">
 +		<xsd:sequence>
 +			<xsd:element name="Transforms" type="ds:TransformsType" minOccurs="0"/>
 +		</xsd:sequence>
 +		<xsd:attribute name="uri" type="xsd:anyURI" use="required"/>
 +	</xsd:complexType>
 +	
 +<!-- End TimeStampType -->	
 +	
 +<!-- End auxiliary types definitions-->	
 +	
 +<!-- Start container types -->
 +
 +<!-- Start QualifyingProperties -->
 +
 +	<xsd:element name="QualifyingProperties" type="QualifyingPropertiesType"/>
 +
 +	<xsd:complexType name="QualifyingPropertiesType">
 +		<xsd:sequence>
 +			<xsd:element name="SignedProperties" type="SignedPropertiesType" minOccurs="0"/>
 +			<xsd:element name="UnsignedProperties" type="UnsignedPropertiesType" minOccurs="0"/>
 +		</xsd:sequence>
 +		<xsd:attribute name="Target" type="xsd:anyURI" use="required"/>
 +		<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +	</xsd:complexType>
 +
 +<!-- End QualifyingProperties -->
 +
 +<!-- Start SignedProperties-->
 +
 +	<xsd:element name="SignedProperties" type="SignedPropertiesType"/>
 +
 +	<xsd:complexType name="SignedPropertiesType">
 +		<xsd:sequence>
 +			<xsd:element name="SignedSignatureProperties" type="SignedSignaturePropertiesType"/>
 +			<xsd:element name="SignedDataObjectProperties" type="SignedDataObjectPropertiesType" minOccurs="0"/>
 +		</xsd:sequence>
 +		<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +	</xsd:complexType>
 +
 +<!-- End SignedProperties-->
 +
 +<!-- Start UnsignedProperties-->
 +
 +<xsd:element name="UnsignedProperties" type="UnsignedPropertiesType" />
 +
 +  <xsd:complexType name="UnsignedPropertiesType">
 +    <xsd:sequence>
 +      <xsd:element name="UnsignedSignatureProperties" 
 +        type="UnsignedSignaturePropertiesType" minOccurs="0"/>
 +        <xsd:element name="UnsignedDataObjectProperties" 
 +          type="UnsignedDataObjectPropertiesType" minOccurs="0"/>
 +    </xsd:sequence>
 +    <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +  </xsd:complexType>
 +
 +<!-- End UnsignedProperties-->
 +
 +<!-- Start SignedSignatureProperties-->
 +
 +<xsd:element name="SignedSignatureProperties" 
 +  type="SignedSignaturePropertiesType" />
 +
 +<xsd:complexType name="SignedSignaturePropertiesType">
 +  <xsd:sequence>
 +    <xsd:element name="SigningTime" type="xsd:dateTime"/>
 +    <xsd:element name="SigningCertificate" type="CertIDListType"/>
 +    <xsd:element name="SignaturePolicyIdentifier" 
 +     type="SignaturePolicyIdentifierType"/>
 +    <xsd:element name="SignatureProductionPlace" type="SignatureProductionPlaceType" 
 +     minOccurs="0"/>
 +    <xsd:element name="SignerRole" type="SignerRoleType" minOccurs="0"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<!-- End SignedSignatureProperties-->
 +
 +
 +<!-- Start SignedDataObjectProperties-->
 +
 +<xsd:element name="SignedDataObjectProperties" 
 +  type="SignedDataObjectPropertiesType"/>
 +
 +<xsd:complexType name="SignedDataObjectPropertiesType">
 +  <xsd:sequence>
 +    <xsd:element name="DataObjectFormat" type="DataObjectFormatType" 
 +      minOccurs="0" maxOccurs="unbounded"/>
 +    <xsd:element name="CommitmentTypeIndication" 
 +      type="CommitmentTypeIndicationType" minOccurs="0" 
 +      maxOccurs="unbounded"/>
 +    <xsd:element name="AllDataObjectsTimeStamp" type="TimeStampType" 
 +      minOccurs="0" maxOccurs="unbounded"/>
 +    <xsd:element name="IndividualDataObjectsTimeStamp" type="TimeStampType" 
 +      minOccurs="0" maxOccurs="unbounded"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<!-- End SignedDataObjectProperties-->
 +
 +
 +<!-- Start UnsignedSignatureProperties-->
 +
 +<xsd:element name="UnsignedSignatureProperties" 
 +  type="UnsignedSignaturePropertiesType"/>
 +
 +<xsd:complexType name="UnsignedSignaturePropertiesType">
 +  <xsd:sequence>
 +    <xsd:element name="CounterSignature" type="CounterSignatureType" 
 +      minOccurs="0" maxOccurs="unbounded"/>
 +    <xsd:element name="SignatureTimeStamp" type="TimeStampType" 
 +      minOccurs="0" maxOccurs="unbounded"/>
 +    <xsd:element name="CompleteCertificateRefs" 
 +      type="CompleteCertificateRefsType" minOccurs="0"/>
 +    <xsd:element name="CompleteRevocationRefs" 
 +      type="CompleteRevocationRefsType" minOccurs="0"/>
 +    <xsd:choice>
 +      <xsd:element name="SigAndRefsTimeStamp" type="TimeStampType" 
 +        minOccurs="0" maxOccurs="unbounded"/>
 +      <xsd:element name="RefsOnlyTimeStamp" type="TimeStampType" 
 +        minOccurs="0" maxOccurs="unbounded"/>
 +    </xsd:choice>
 +    <xsd:element name="CertificateValues" type="CertificateValuesType" 
 +      minOccurs="0"/>
 +    <xsd:element name="RevocationValues" type="RevocationValuesType" 
 +      minOccurs="0"/>
 +    <xsd:element name="ArchiveTimeStamp" type="TimeStampType" 
 +      minOccurs="0" maxOccurs="unbounded"/>
 +  </xsd:sequence>
 +  </xsd:complexType>
 +
 +
 +<!-- End UnsignedSignatureProperties-->
 +
 +
 +<!-- Start UnsignedDataObjectProperties-->
 +
 +<xsd:element name="UnsignedDataObjectProperties" 
 +  type="UnsignedDataObjectPropertiesType" />
 +
 +<xsd:complexType name="UnsignedDataObjectPropertiesType">
 +  <xsd:sequence>
 +    <xsd:element name="UnsignedDataObjectProperty" type="AnyType" 
 +      minOccurs="0" maxOccurs="unbounded"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<!-- End UnsignedDataObjectProperties-->
 +
 +<!-- Start QualifyingPropertiesReference-->
 +
 +<xsd:element name="QualifyingPropertiesReference" 
 +  type="QualifyingPropertiesReferenceType"/>
 +
 +<xsd:complexType name="QualifyingPropertiesReferenceType">
 +  <xsd:sequence>
 +    <xsd:element name="Transforms" type="ds:TransformsType" minOccurs="0"/>
 +  </xsd:sequence>
 +  <xsd:attribute name="URI" type="xsd:anyURI" use="required"/>
 +  <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +</xsd:complexType>
 +
 +<!-- End QualifyingPropertiesReference-->
 +
 +<!-- End container types -->	
 +	
 +	
 +<!-- Start SigningTime element -->
 +	<xsd:element name="SigningTime" type="xsd:dateTime"/>
 +	
 +<!-- End SigningTime element -->
 +
 +<!-- Start SigningCertificate -->
 +	<xsd:element name="SigningCertificate" type="CertIDListType"/>
 +	<xsd:complexType name="CertIDListType">
 +		<xsd:sequence>
 +			<xsd:element name="Cert" type="CertIDType" maxOccurs="unbounded"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="CertIDType">
 +		<xsd:sequence>
 +			<xsd:element name="CertDigest" type="DigestAlgAndValueType"/>
 +			<xsd:element name="IssuerSerial" type="ds:X509IssuerSerialType"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="DigestAlgAndValueType">
 +		<xsd:sequence>
 +			<xsd:element name="DigestMethod" type="ds:DigestMethodType"/>
 +			<xsd:element name="DigestValue" type="ds:DigestValueType"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	
 +<!-- End SigningCertificate -->	
 +	
 +<!-- Start SignaturePolicyIdentifier -->
 +	
 +	<xsd:element name="SignaturePolicyIdentifier" type="SignaturePolicyIdentifierType"/>
 +	<xsd:complexType name="SignaturePolicyIdentifierType">
 +		<xsd:choice>
 +			<xsd:element name="SignaturePolicyId" type="SignaturePolicyIdType"/>
 +			<xsd:element name="SignaturePolicyImplied"/>
 +		</xsd:choice>
 +	</xsd:complexType>
 +	<xsd:complexType name="SignaturePolicyIdType">
 +		<xsd:sequence>
 +			<xsd:element name="SigPolicyId" type="ObjectIdentifierType"/>
 +			<xsd:element ref="ds:Transforms" minOccurs="0"/>
 +			<xsd:element name="SigPolicyHash" type="DigestAlgAndValueType"/>
 +			<xsd:element name="SigPolicyQualifiers" type="SigPolicyQualifiersListType" minOccurs="0"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="SigPolicyQualifiersListType">
 +		<xsd:sequence>
 +			<xsd:element name="SigPolicyQualifier" type="AnyType" maxOccurs="unbounded"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:element name="SPURI" type="xsd:anyURI"/>
 +	<xsd:element name="SPUserNotice" type="SPUserNoticeType"/>
 +	<xsd:complexType name="SPUserNoticeType">
 +		<xsd:sequence>
 +			<xsd:element name="NoticeRef" type="NoticeReferenceType" minOccurs="0"/>
 +			<xsd:element name="ExplicitText" type="xsd:string" minOccurs="0"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="NoticeReferenceType">
 +		<xsd:sequence>
 +			<xsd:element name="Organization" type="xsd:string"/>
 +			<xsd:element name="NoticeNumbers" type="IntegerListType"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="IntegerListType">
 +		<xsd:sequence>
 +			<xsd:element name="int" type="xsd:integer" minOccurs="0" maxOccurs="unbounded"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +
 +<!-- End SignaturePolicyIdentifier -->
 +
 +
 +<!-- Start CounterSignature -->
 +	<xsd:element name="CounterSignature" type="CounterSignatureType"/>
 +	<xsd:complexType name="CounterSignatureType">
 +		<xsd:sequence>
 +			<xsd:element ref="ds:Signature"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	
 +<!-- End CounterSignature -->
 +
 +<!-- Start DataObjectFormat -->
 +
 +	<xsd:element name="DataObjectFormat" type="DataObjectFormatType"/>
 +	<xsd:complexType name="DataObjectFormatType">
 +		<xsd:sequence>
 +			<xsd:element name="Description" type="xsd:string" minOccurs="0"/>
 +			<xsd:element name="ObjectIdentifier" type="ObjectIdentifierType" minOccurs="0"/>
 +			<xsd:element name="MimeType" type="xsd:string" minOccurs="0"/>
 +			<xsd:element name="Encoding" type="xsd:anyURI" minOccurs="0"/>
 +		</xsd:sequence>
 +		<xsd:attribute name="ObjectReference" type="xsd:anyURI" use="required"/>
 +	</xsd:complexType>
 +
 +<!-- End DataObjectFormat -->
 +
 +<!-- Start CommitmentTypeIndication -->
 +
 +	<xsd:element name="CommitmentTypeIndication" type="CommitmentTypeIndicationType"/>
 +	<xsd:complexType name="CommitmentTypeIndicationType">
 +		<xsd:sequence>
 +			<xsd:element name="CommitmentTypeId" type="ObjectIdentifierType"/>
 +			<xsd:choice>
 +				<xsd:element name="ObjectReference" type="xsd:anyURI" minOccurs="0" maxOccurs="unbounded"/>
 +				<xsd:element name="AllSignedDataObjects"/>
 +			</xsd:choice>
 +			<xsd:element name="CommitmentTypeQualifiers" type="CommitmentTypeQualifiersListType" minOccurs="0"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="CommitmentTypeQualifiersListType">
 +		<xsd:sequence>
 +			<xsd:element name="CommitmentTypeQualifier" type="AnyType" minOccurs="0" maxOccurs="unbounded"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +
 +<!-- End CommitmentTypeIndication -->
 +
 +<!-- Start SignatureProductionPlace -->
 +
 +	<xsd:element name="SignatureProductionPlace" type="SignatureProductionPlaceType"/>
 +	<xsd:complexType name="SignatureProductionPlaceType">
 +		<xsd:sequence>
 +			<xsd:element name="City" type="xsd:string" minOccurs="0"/>
 +			<xsd:element name="StateOrProvince" type="xsd:string" minOccurs="0"/>
 +			<xsd:element name="PostalCode" type="xsd:string" minOccurs="0"/>
 +			<xsd:element name="CountryName" type="xsd:string" minOccurs="0"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	
 +<!-- End SignatureProductionPlace -->
 +
 +<!-- Start SignerRole -->
 +	
 +<xsd:element name="SignerRole" type="SignerRoleType"/>
 +<xsd:complexType name="SignerRoleType">
 +  <xsd:sequence>
 +    <xsd:element name="ClaimedRoles" type="ClaimedRolesListType"
 +      minOccurs="0"/>
 +    <xsd:element name="CertifiedRoles" type="CertifiedRolesListType"
 +      minOccurs="0"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<xsd:complexType name="ClaimedRolesListType">
 +  <xsd:sequence>
 +    <xsd:element name="ClaimedRole" type="AnyType" maxOccurs="unbounded"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<xsd:complexType name="CertifiedRolesListType">
 +  <xsd:sequence>
 +    <xsd:element name="CertifiedRole" type="EncapsulatedPKIDataType"
 +      maxOccurs="unbounded"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<!-- End SignerRole -->
 +
 +
 +	<xsd:element name="AllDataObjectsTimeStamp" type="TimeStampType"/>
 +
 +	<xsd:element name="IndividualDataObjectsTimeStamp" type="TimeStampType"/>
 +
 +	<xsd:element name="SignatureTimeStamp" type="TimeStampType"/>	
 +
 +<!-- Start CompleteCertificateRefs -->
 +	
 +<xsd:element name="CompleteCertificateRefs" type="CompleteCertificateRefsType"/>
 +
 +<xsd:complexType name="CompleteCertificateRefsType">
 +  <xsd:sequence>
 +    <xsd:element name="CertRefs" type="CertIDListType" />
 +  </xsd:sequence>
 +  <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +</xsd:complexType>
 +
 +<!-- End CompleteCertificateRefs -->
 +
 +
 +<!-- Start CompleteRevocationRefs-->
 +
 +<xsd:element name="CompleteRevocationRefs" type="CompleteRevocationRefsType"/>
 +
 +<xsd:complexType name="CompleteRevocationRefsType">
 +  <xsd:sequence>
 +    <xsd:element name="CRLRefs" type="CRLRefsType" minOccurs="0"/>
 +    <xsd:element name="OCSPRefs" type="OCSPRefsType" minOccurs="0"/>
 +    <xsd:element name="OtherRefs" type="OtherCertStatusRefsType" minOccurs="0"/> 
 +  </xsd:sequence>
 +  <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +</xsd:complexType>
 +
 +<xsd:complexType name="CRLRefsType">
 +  <xsd:sequence>
 +    <xsd:element name="CRLRef" type="CRLRefType" maxOccurs="unbounded"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<xsd:complexType name="CRLRefType">
 +  <xsd:sequence>
 +    <xsd:element name="DigestAlgAndValue" type="DigestAlgAndValueType"/>
 +    <xsd:element name="CRLIdentifier" type="CRLIdentifierType" minOccurs="0"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<xsd:complexType name="CRLIdentifierType">
 +  <xsd:sequence>
 +    <xsd:element name="Issuer" type="xsd:string"/>
 +    <xsd:element name="IssueTime" type="xsd:dateTime" />
 +    <xsd:element name="Number" type="xsd:integer"  minOccurs="0"/>
 +  </xsd:sequence>
 +  <xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>
 +</xsd:complexType>
 +
 +<xsd:complexType name="OCSPRefsType">
 +  <xsd:sequence>
 +    <xsd:element name="OCSPRef" type="OCSPRefType" maxOccurs="unbounded"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<xsd:complexType name="OCSPRefType">
 +  <xsd:sequence>
 +    <xsd:element name="OCSPIdentifier" type="OCSPIdentifierType"/>
 +    <xsd:element name="DigestAlgAndValue" type="DigestAlgAndValueType" 
 +      minOccurs="0"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<xsd:complexType name="OCSPIdentifierType">
 +  <xsd:sequence>
 +    <xsd:element name="ResponderID" type="xsd:string"/>
 +    <xsd:element name="ProducedAt" type="xsd:dateTime"/>
 +  </xsd:sequence>
 +  <xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>
 +</xsd:complexType>
 +
 +<xsd:complexType name="OtherCertStatusRefsType">
 +  <xsd:sequence>
 +    <xsd:element name="OtherRef" type="AnyType" maxOccurs="unbounded"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<!-- End CompleteRevocationRefs-->
 +
 +
 +<xsd:element name="SigAndRefsTimeStamp" type="TimeStampType"/>
 +
 +<xsd:element name="RefsOnlyTimeStamp" type="TimeStampType"/>
 +
 +<!-- Start CertificateValues -->
 +
 +<xsd:element name="CertificateValues" type="CertificateValuesType"/>
 +
 +<xsd:complexType name="CertificateValuesType">
 +	<xsd:choice minOccurs="0" maxOccurs="unbounded">
 +		<xsd:element name="EncapsulatedX509Certificate" type="EncapsulatedPKIDataType"/>
 +		 <xsd:element name="OtherCertificate" type="AnyType"/>
 +    </xsd:choice>
 +    <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +</xsd:complexType>
 +
 +<!-- End CertificateValues -->	
 +
 +<!-- Start RevocationValues-->
 +	
 +<xsd:element name="RevocationValues" type="RevocationValuesType"/>
 +
 +<xsd:complexType name="RevocationValuesType">
 +  <xsd:sequence>
 +    <xsd:element name="CRLValues" type="CRLValuesType" minOccurs="0"/>
 +    <xsd:element name="OCSPValues" type="OCSPValuesType" minOccurs="0"/>
 +    <xsd:element name="OtherValues" type="OtherCertStatusValuesType" minOccurs="0"/>
 +  </xsd:sequence>
 +  <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +</xsd:complexType>
 +
 +<xsd:complexType name="CRLValuesType">
 +  <xsd:sequence>
 +     <xsd:element name="EncapsulatedCRLValue" type="EncapsulatedPKIDataType" 
 +       maxOccurs="unbounded"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<xsd:complexType name="OCSPValuesType">
 +  <xsd:sequence>
 +      <xsd:element name="EncapsulatedOCSPValue" 
 +        type="EncapsulatedPKIDataType" maxOccurs="unbounded"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +<xsd:complexType name="OtherCertStatusValuesType">
 +  <xsd:sequence>
 +    <xsd:element name="OtherValue" type="AnyType" maxOccurs="unbounded"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<!-- End RevocationValues-->	
 +
 +<xsd:element name="ArchiveTimeStamp" type="TimeStampType"/>
 +
 +	
 +</xsd:schema> 
 diff --git a/common/src/main/resources/resources/schemas/XAdES-1.2.2.xsd b/common/src/main/resources/resources/schemas/XAdES-1.2.2.xsd new file mode 100644 index 000000000..80ccf1289 --- /dev/null +++ b/common/src/main/resources/resources/schemas/XAdES-1.2.2.xsd @@ -0,0 +1,551 @@ +<?xml version="1.0" encoding="UTF-8"?>
 +<xsd:schema targetNamespace="http://uri.etsi.org/01903/v1.2.2#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://uri.etsi.org/01903/v1.2.2#" 
 +xmlns:ds="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified">
 +
 +	<xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
 +
 +<!-- Start auxiliary types definitions: AnyType, ObjectIdentifierType, 
 +EncapsulatedPKIDataType and TimestampType-->
 +	
 +<!-- Start AnyType -->
 +
 +	<xsd:element name="Any" type="AnyType"/>
 +	<xsd:complexType name="AnyType" mixed="true">
 +		<xsd:sequence minOccurs="0" maxOccurs="unbounded">
 +			<xsd:any namespace="##any" processContents="lax"/>
 +		</xsd:sequence>
 +		<xsd:anyAttribute namespace="##any"/>
 +	</xsd:complexType>
 +
 +<!-- End AnyType -->
 +
 +<!-- Start ObjectIdentifierType-->
 +	
 +	<xsd:element name="ObjectIdentifier" type="ObjectIdentifierType"/>
 +	<xsd:complexType name="ObjectIdentifierType">
 +		<xsd:sequence>
 +			<xsd:element name="Identifier" type="IdentifierType"/>
 +			<xsd:element name="Description" type="xsd:string" minOccurs="0"/>
 +			<xsd:element name="DocumentationReferences" type="DocumentationReferencesType" minOccurs="0"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="IdentifierType">
 +		<xsd:simpleContent>
 +			<xsd:extension base="xsd:anyURI">
 +				<xsd:attribute name="Qualifier" type="QualifierType" use="optional"/>
 +			</xsd:extension>
 +		</xsd:simpleContent>
 +	</xsd:complexType>
 +	<xsd:simpleType name="QualifierType">
 +		<xsd:restriction base="xsd:string">
 +			<xsd:enumeration value="OIDAsURI"/>
 +			<xsd:enumeration value="OIDAsURN"/>
 +		</xsd:restriction>
 +	</xsd:simpleType>
 +	<xsd:complexType name="DocumentationReferencesType">
 +		<xsd:sequence maxOccurs="unbounded">
 +			<xsd:element name="DocumentationReference" type="xsd:anyURI"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	
 +<!-- End ObjectIdentifierType-->	
 +
 +<!-- Start EncapsulatedPKIDataType-->
 +	
 +	<xsd:element name="EncapsulatedPKIData" type="EncapsulatedPKIDataType"/>
 +	<xsd:complexType name="EncapsulatedPKIDataType">
 +		<xsd:simpleContent>
 +			<xsd:extension base="xsd:base64Binary">
 +				<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +			</xsd:extension>
 +		</xsd:simpleContent>
 +	</xsd:complexType>
 +
 +<!-- End EncapsulatedPKIDataType -->
 +
 +<!-- Start TimeStampType -->
 +
 +	<xsd:element name="TimeStamp" type="TimeStampType"/>
 +	<xsd:complexType name="TimeStampType">
 +		<xsd:sequence>
 +			<xsd:element name="Include" type="IncludeType" maxOccurs="unbounded"/>
 +			<xsd:element ref="ds:CanonicalizationMethod" minOccurs="0"/>
 +			<xsd:choice>
 +				<xsd:element name="EncapsulatedTimeStamp" type="EncapsulatedPKIDataType"/>
 +				<xsd:element name="XMLTimeStamp" type="AnyType"/>
 +			</xsd:choice>
 +		</xsd:sequence>
 +		<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +	</xsd:complexType>
 +
 +	<xsd:complexType name="IncludeType">
 +		<xsd:attribute name="URI" type="xsd:anyURI" use="required"/>
 +		<xsd:attribute name="referencedData" type="xsd:boolean" use="optional"/>
 +	</xsd:complexType>
 +	
 +<!-- End TimeStampType -->	
 +	
 +<!-- End auxiliary types definitions-->	
 +	
 +<!-- Start container types -->
 +
 +<!-- Start QualifyingProperties -->
 +
 +	<xsd:element name="QualifyingProperties" type="QualifyingPropertiesType"/>
 +
 +	<xsd:complexType name="QualifyingPropertiesType">
 +		<xsd:sequence>
 +			<xsd:element name="SignedProperties" type="SignedPropertiesType" minOccurs="0"/>
 +			<xsd:element name="UnsignedProperties" type="UnsignedPropertiesType" minOccurs="0"/>
 +		</xsd:sequence>
 +		<xsd:attribute name="Target" type="xsd:anyURI" use="required"/>
 +		<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +	</xsd:complexType>
 +
 +<!-- End QualifyingProperties -->
 +
 +<!-- Start SignedProperties-->
 +
 +	<xsd:element name="SignedProperties" type="SignedPropertiesType"/>
 +
 +	<xsd:complexType name="SignedPropertiesType">
 +		<xsd:sequence>
 +			<xsd:element name="SignedSignatureProperties" type="SignedSignaturePropertiesType"/>
 +			<xsd:element name="SignedDataObjectProperties" type="SignedDataObjectPropertiesType" minOccurs="0"/>
 +		</xsd:sequence>
 +		<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +	</xsd:complexType>
 +
 +<!-- End SignedProperties-->
 +
 +<!-- Start UnsignedProperties-->
 +
 +<xsd:element name="UnsignedProperties" type="UnsignedPropertiesType" />
 +
 +  <xsd:complexType name="UnsignedPropertiesType">
 +    <xsd:sequence>
 +      <xsd:element name="UnsignedSignatureProperties" 
 +        type="UnsignedSignaturePropertiesType" minOccurs="0"/>
 +        <xsd:element name="UnsignedDataObjectProperties" 
 +          type="UnsignedDataObjectPropertiesType" minOccurs="0"/>
 +    </xsd:sequence>
 +    <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +  </xsd:complexType>
 +
 +<!-- End UnsignedProperties-->
 +
 +<!-- Start SignedSignatureProperties-->
 +
 +<xsd:element name="SignedSignatureProperties" 
 +  type="SignedSignaturePropertiesType" />
 +
 +<xsd:complexType name="SignedSignaturePropertiesType">
 +  <xsd:sequence>
 +    <xsd:element name="SigningTime" type="xsd:dateTime" minOccurs="0"/>
 +    <xsd:element name="SigningCertificate" type="CertIDListType" minOccurs="0"/>
 +    <xsd:element name="SignaturePolicyIdentifier" 
 +type="SignaturePolicyIdentifierType" minOccurs="0"/>
 +    <xsd:element name="SignatureProductionPlace" type="SignatureProductionPlaceType" 
 +     minOccurs="0"/>
 +    <xsd:element name="SignerRole" type="SignerRoleType" minOccurs="0"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<!-- End SignedSignatureProperties-->
 +
 +
 +<!-- Start SignedDataObjectProperties-->
 +
 +<xsd:element name="SignedDataObjectProperties" 
 +  type="SignedDataObjectPropertiesType"/>
 +
 +<xsd:complexType name="SignedDataObjectPropertiesType">
 +  <xsd:sequence>
 +    <xsd:element name="DataObjectFormat" type="DataObjectFormatType" 
 +      minOccurs="0" maxOccurs="unbounded"/>
 +    <xsd:element name="CommitmentTypeIndication" 
 +      type="CommitmentTypeIndicationType" minOccurs="0" 
 +      maxOccurs="unbounded"/>
 +    <xsd:element name="AllDataObjectsTimeStamp" type="TimeStampType" 
 +      minOccurs="0" maxOccurs="unbounded"/>
 +    <xsd:element name="IndividualDataObjectsTimeStamp" type="TimeStampType" 
 +      minOccurs="0" maxOccurs="unbounded"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<!-- End SignedDataObjectProperties-->
 +
 +
 +<!-- Start UnsignedSignatureProperties-->
 +
 +<xsd:element name="UnsignedSignatureProperties" 
 +  type="UnsignedSignaturePropertiesType"/>
 +
 +<xsd:complexType name="UnsignedSignaturePropertiesType">
 +  <xsd:sequence>
 +    <xsd:element name="CounterSignature" type="CounterSignatureType" 
 +      minOccurs="0" maxOccurs="unbounded"/>
 +    <xsd:element name="SignatureTimeStamp" type="TimeStampType" 
 +      minOccurs="0" maxOccurs="unbounded"/>
 +    <xsd:element name="CompleteCertificateRefs" 
 +      type="CompleteCertificateRefsType" minOccurs="0"/>
 +    <xsd:element name="CompleteRevocationRefs" 
 +      type="CompleteRevocationRefsType" minOccurs="0"/>
 +    <xsd:element name="AttributeCertificateRefs" 
 +      type="CompleteCertificateRefsType" minOccurs="0"/>
 +    <xsd:element name="AttributeRevocationRefs" 
 +      type="CompleteRevocationRefsType" minOccurs="0"/>
 +    <xsd:choice>
 +      <xsd:element name="SigAndRefsTimeStamp" type="TimeStampType" 
 +        minOccurs="0" maxOccurs="unbounded"/>
 +      <xsd:element name="RefsOnlyTimeStamp" type="TimeStampType" 
 +        minOccurs="0" maxOccurs="unbounded"/>
 +    </xsd:choice>
 +    <xsd:element name="CertificateValues"
 +      type="CertificateValuesType" minOccurs="0"/>
 +    <xsd:element name="RevocationValues" type="RevocationValuesType" 
 +      minOccurs="0"/>
 +    <xsd:element name="ArchiveTimeStamp" type="TimeStampType" 
 +      minOccurs="0" maxOccurs="unbounded"/>
 +  </xsd:sequence>
 +  </xsd:complexType>
 +
 +
 +<!-- End UnsignedSignatureProperties-->
 +
 +
 +<!-- Start UnsignedDataObjectProperties-->
 +
 +<xsd:element name="UnsignedDataObjectProperties" 
 +  type="UnsignedDataObjectPropertiesType" />
 +
 +<xsd:complexType name="UnsignedDataObjectPropertiesType">
 +  <xsd:sequence>
 +    <xsd:element name="UnsignedDataObjectProperty" type="AnyType" 
 +      minOccurs="0" maxOccurs="unbounded"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<!-- End UnsignedDataObjectProperties-->
 +
 +<!-- Start QualifyingPropertiesReference-->
 +
 +<xsd:element name="QualifyingPropertiesReference" 
 +  type="QualifyingPropertiesReferenceType"/>
 +
 +<xsd:complexType name="QualifyingPropertiesReferenceType">
 +  <xsd:sequence>
 +    <xsd:element ref="ds:Transforms" minOccurs="0"/>
 +  </xsd:sequence>
 +  <xsd:attribute name="URI" type="xsd:anyURI" use="required"/>
 +  <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +</xsd:complexType>
 +
 +<!-- End QualifyingPropertiesReference-->
 +
 +<!-- End container types -->	
 +	
 +	
 +<!-- Start SigningTime element -->
 +	<xsd:element name="SigningTime" type="xsd:dateTime"/>
 +	
 +<!-- End SigningTime element -->
 +
 +<!-- Start SigningCertificate -->
 +	<xsd:element name="SigningCertificate" type="CertIDListType"/>
 +	<xsd:complexType name="CertIDListType">
 +		<xsd:sequence>
 +			<xsd:element name="Cert" type="CertIDType" maxOccurs="unbounded"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="CertIDType">
 +		<xsd:sequence>
 +			<xsd:element name="CertDigest" type="DigestAlgAndValueType"/>
 +			<xsd:element name="IssuerSerial" type="ds:X509IssuerSerialType"/>
 +		</xsd:sequence>
 +		<xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>
 +	</xsd:complexType>
 +	<xsd:complexType name="DigestAlgAndValueType">
 +		<xsd:sequence>
 +			<xsd:element ref="ds:DigestMethod"/>
 +			<xsd:element ref="ds:DigestValue"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	
 +<!-- End SigningCertificate -->	
 +	
 +<!-- Start SignaturePolicyIdentifier -->
 +	
 +	<xsd:element name="SignaturePolicyIdentifier" type="SignaturePolicyIdentifierType"/>
 +	<xsd:complexType name="SignaturePolicyIdentifierType">
 +		<xsd:choice>
 +			<xsd:element name="SignaturePolicyId" type="SignaturePolicyIdType"/>
 +			<xsd:element name="SignaturePolicyImplied"/>
 +		</xsd:choice>
 +	</xsd:complexType>
 +	<xsd:complexType name="SignaturePolicyIdType">
 +		<xsd:sequence>
 +			<xsd:element name="SigPolicyId" type="ObjectIdentifierType"/>
 +			<xsd:element ref="ds:Transforms" minOccurs="0"/>
 +			<xsd:element name="SigPolicyHash" type="DigestAlgAndValueType"/>
 +			<xsd:element name="SigPolicyQualifiers" type="SigPolicyQualifiersListType" minOccurs="0"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="SigPolicyQualifiersListType">
 +		<xsd:sequence>
 +			<xsd:element name="SigPolicyQualifier" type="AnyType" maxOccurs="unbounded"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:element name="SPURI" type="xsd:anyURI"/>
 +	<xsd:element name="SPUserNotice" type="SPUserNoticeType"/>
 +	<xsd:complexType name="SPUserNoticeType">
 +		<xsd:sequence>
 +			<xsd:element name="NoticeRef" type="NoticeReferenceType" minOccurs="0"/>
 +			<xsd:element name="ExplicitText" type="xsd:string" minOccurs="0"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="NoticeReferenceType">
 +		<xsd:sequence>
 +			<xsd:element name="Organization" type="xsd:string"/>
 +			<xsd:element name="NoticeNumbers" type="IntegerListType"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="IntegerListType">
 +		<xsd:sequence>
 +			<xsd:element name="int" type="xsd:integer" minOccurs="0" maxOccurs="unbounded"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +
 +<!-- End SignaturePolicyIdentifier -->
 +
 +
 +<!-- Start CounterSignature -->
 +	<xsd:element name="CounterSignature" type="CounterSignatureType"/>
 +	<xsd:complexType name="CounterSignatureType">
 +		<xsd:sequence>
 +			<xsd:element ref="ds:Signature"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	
 +<!-- End CounterSignature -->
 +
 +<!-- Start DataObjectFormat -->
 +
 +	<xsd:element name="DataObjectFormat" type="DataObjectFormatType"/>
 +	<xsd:complexType name="DataObjectFormatType">
 +		<xsd:sequence>
 +			<xsd:element name="Description" type="xsd:string" minOccurs="0"/>
 +			<xsd:element name="ObjectIdentifier" type="ObjectIdentifierType" minOccurs="0"/>
 +			<xsd:element name="MimeType" type="xsd:string" minOccurs="0"/>
 +			<xsd:element name="Encoding" type="xsd:anyURI" minOccurs="0"/>
 +		</xsd:sequence>
 +		<xsd:attribute name="ObjectReference" type="xsd:anyURI" use="required"/>
 +	</xsd:complexType>
 +
 +<!-- End DataObjectFormat -->
 +
 +<!-- Start CommitmentTypeIndication -->
 +
 +	<xsd:element name="CommitmentTypeIndication" type="CommitmentTypeIndicationType"/>
 +	<xsd:complexType name="CommitmentTypeIndicationType">
 +		<xsd:sequence>
 +			<xsd:element name="CommitmentTypeId" type="ObjectIdentifierType"/>
 +			<xsd:choice>
 +				<xsd:element name="ObjectReference" type="xsd:anyURI" minOccurs="0" maxOccurs="unbounded"/>
 +				<xsd:element name="AllSignedDataObjects"/>
 +			</xsd:choice>
 +			<xsd:element name="CommitmentTypeQualifiers" type="CommitmentTypeQualifiersListType" minOccurs="0"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="CommitmentTypeQualifiersListType">
 +		<xsd:sequence>
 +			<xsd:element name="CommitmentTypeQualifier" type="AnyType" minOccurs="0" maxOccurs="unbounded"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +
 +<!-- End CommitmentTypeIndication -->
 +
 +<!-- Start SignatureProductionPlace -->
 +
 +	<xsd:element name="SignatureProductionPlace" type="SignatureProductionPlaceType"/>
 +	<xsd:complexType name="SignatureProductionPlaceType">
 +		<xsd:sequence>
 +			<xsd:element name="City" type="xsd:string" minOccurs="0"/>
 +			<xsd:element name="StateOrProvince" type="xsd:string" minOccurs="0"/>
 +			<xsd:element name="PostalCode" type="xsd:string" minOccurs="0"/>
 +			<xsd:element name="CountryName" type="xsd:string" minOccurs="0"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	
 +<!-- End SignatureProductionPlace -->
 +
 +<!-- Start SignerRole -->
 +	
 +<xsd:element name="SignerRole" type="SignerRoleType"/>
 +<xsd:complexType name="SignerRoleType">
 +  <xsd:sequence>
 +    <xsd:element name="ClaimedRoles" type="ClaimedRolesListType"
 +      minOccurs="0"/>
 +    <xsd:element name="CertifiedRoles" type="CertifiedRolesListType"
 +      minOccurs="0"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<xsd:complexType name="ClaimedRolesListType">
 +  <xsd:sequence>
 +    <xsd:element name="ClaimedRole" type="AnyType" maxOccurs="unbounded"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<xsd:complexType name="CertifiedRolesListType">
 +  <xsd:sequence>
 +    <xsd:element name="CertifiedRole" type="EncapsulatedPKIDataType"
 +      maxOccurs="unbounded"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<!-- End SignerRole -->
 +
 +
 +	<xsd:element name="AllDataObjectsTimeStamp" type="TimeStampType"/>
 +
 +	<xsd:element name="IndividualDataObjectsTimeStamp" type="TimeStampType"/>
 +
 +	<xsd:element name="SignatureTimeStamp" type="TimeStampType"/>	
 +
 +<!-- Start CompleteCertificateRefs -->
 +	
 +<xsd:element name="CompleteCertificateRefs" type="CompleteCertificateRefsType"/>
 +
 +<xsd:complexType name="CompleteCertificateRefsType">
 +  <xsd:sequence>
 +    <xsd:element name="CertRefs" type="CertIDListType" />
 +  </xsd:sequence>
 +  <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +</xsd:complexType>
 +
 +<!-- End CompleteCertificateRefs -->
 +
 +
 +<!-- Start CompleteRevocationRefs-->
 +
 +<xsd:element name="CompleteRevocationRefs" type="CompleteRevocationRefsType"/>
 +
 +<xsd:complexType name="CompleteRevocationRefsType">
 +  <xsd:sequence>
 +    <xsd:element name="CRLRefs" type="CRLRefsType" minOccurs="0"/>
 +    <xsd:element name="OCSPRefs" type="OCSPRefsType" minOccurs="0"/>
 +    <xsd:element name="OtherRefs" type="OtherCertStatusRefsType" minOccurs="0"/> 
 +  </xsd:sequence>
 +  <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +</xsd:complexType>
 +
 +<xsd:complexType name="CRLRefsType">
 +  <xsd:sequence>
 +    <xsd:element name="CRLRef" type="CRLRefType" maxOccurs="unbounded"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<xsd:complexType name="CRLRefType">
 +  <xsd:sequence>
 +    <xsd:element name="DigestAlgAndValue" type="DigestAlgAndValueType"/>
 +    <xsd:element name="CRLIdentifier" type="CRLIdentifierType" minOccurs="0"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<xsd:complexType name="CRLIdentifierType">
 +  <xsd:sequence>
 +    <xsd:element name="Issuer" type="xsd:string"/>
 +    <xsd:element name="IssueTime" type="xsd:dateTime" />
 +    <xsd:element name="Number" type="xsd:integer"  minOccurs="0"/>
 +  </xsd:sequence>
 +  <xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>
 +</xsd:complexType>
 +
 +<xsd:complexType name="OCSPRefsType">
 +  <xsd:sequence>
 +    <xsd:element name="OCSPRef" type="OCSPRefType" maxOccurs="unbounded"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<xsd:complexType name="OCSPRefType">
 +  <xsd:sequence>
 +    <xsd:element name="OCSPIdentifier" type="OCSPIdentifierType"/>
 +    <xsd:element name="DigestAlgAndValue" type="DigestAlgAndValueType" 
 +      minOccurs="0"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<xsd:complexType name="OCSPIdentifierType">
 +  <xsd:sequence>
 +    <xsd:element name="ResponderID" type="xsd:string"/>
 +    <xsd:element name="ProducedAt" type="xsd:dateTime"/>
 +  </xsd:sequence>
 +  <xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>
 +</xsd:complexType>
 +
 +<xsd:complexType name="OtherCertStatusRefsType">
 +  <xsd:sequence>
 +    <xsd:element name="OtherRef" type="AnyType" maxOccurs="unbounded"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<!-- End CompleteRevocationRefs-->
 +
 +
 +<xsd:element name="SigAndRefsTimeStamp" type="TimeStampType"/>
 +
 +<xsd:element name="RefsOnlyTimeStamp" type="TimeStampType"/>
 +
 +<!-- Start CertificateValues -->
 +
 +<xsd:element name="CertificateValues" type="CertificateValuesType"/>
 +
 +<xsd:complexType name="CertificateValuesType">
 +	<xsd:choice minOccurs="0" maxOccurs="unbounded">
 +		<xsd:element name="EncapsulatedX509Certificate" type="EncapsulatedPKIDataType"/>
 +		 <xsd:element name="OtherCertificate" type="AnyType"/>
 +    </xsd:choice>
 +    <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +</xsd:complexType>
 +
 +<!-- End CertificateValues -->	
 +
 +<!-- Start RevocationValues-->
 +	
 +<xsd:element name="RevocationValues" type="RevocationValuesType"/>
 +
 +<xsd:complexType name="RevocationValuesType">
 +  <xsd:sequence>
 +    <xsd:element name="CRLValues" type="CRLValuesType" minOccurs="0"/>
 +    <xsd:element name="OCSPValues" type="OCSPValuesType" minOccurs="0"/>
 +    <xsd:element name="OtherValues" type="OtherCertStatusValuesType" minOccurs="0"/>
 +  </xsd:sequence>
 +  <xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +</xsd:complexType>
 +
 +<xsd:complexType name="CRLValuesType">
 +  <xsd:sequence>
 +     <xsd:element name="EncapsulatedCRLValue" type="EncapsulatedPKIDataType" 
 +       maxOccurs="unbounded"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<xsd:complexType name="OCSPValuesType">
 +  <xsd:sequence>
 +      <xsd:element name="EncapsulatedOCSPValue" 
 +        type="EncapsulatedPKIDataType" maxOccurs="unbounded"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +<xsd:complexType name="OtherCertStatusValuesType">
 +  <xsd:sequence>
 +    <xsd:element name="OtherValue" type="AnyType" maxOccurs="unbounded"/>
 +  </xsd:sequence>
 +</xsd:complexType>
 +
 +<!-- End RevocationValues-->	
 +
 +<xsd:element name="ArchiveTimeStamp" type="TimeStampType"/>
 +
 +	
 +</xsd:schema> 
 diff --git a/common/src/main/resources/resources/schemas/XAdES-1.3.2.xsd b/common/src/main/resources/resources/schemas/XAdES-1.3.2.xsd new file mode 100644 index 000000000..d0ce075de --- /dev/null +++ b/common/src/main/resources/resources/schemas/XAdES-1.3.2.xsd @@ -0,0 +1,466 @@ +<?xml version="1.0" encoding="UTF-8"?>
 +<xsd:schema targetNamespace="http://uri.etsi.org/01903/v1.3.2#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://uri.etsi.org/01903/v1.3.2#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified">
 +	<xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
 +	<!-- Start auxiliary types definitions: AnyType, ObjectIdentifierType, 
 +EncapsulatedPKIDataType and containers for time-stamp tokens -->
 +	<!-- Start AnyType -->
 +	<xsd:element name="Any" type="AnyType"/>
 +	<xsd:complexType name="AnyType" mixed="true">
 +		<xsd:sequence minOccurs="0" maxOccurs="unbounded">
 +			<xsd:any namespace="##any" processContents="lax"/>
 +		</xsd:sequence>
 +		<xsd:anyAttribute namespace="##any"/>
 +	</xsd:complexType>
 +	<!-- End AnyType -->
 +	<!-- Start ObjectIdentifierType-->
 +	<xsd:element name="ObjectIdentifier" type="ObjectIdentifierType"/>
 +	<xsd:complexType name="ObjectIdentifierType">
 +		<xsd:sequence>
 +			<xsd:element name="Identifier" type="IdentifierType"/>
 +			<xsd:element name="Description" type="xsd:string" minOccurs="0"/>
 +			<xsd:element name="DocumentationReferences" type="DocumentationReferencesType" minOccurs="0"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="IdentifierType">
 +		<xsd:simpleContent>
 +			<xsd:extension base="xsd:anyURI">
 +				<xsd:attribute name="Qualifier" type="QualifierType" use="optional"/>
 +			</xsd:extension>
 +		</xsd:simpleContent>
 +	</xsd:complexType>
 +	<xsd:simpleType name="QualifierType">
 +		<xsd:restriction base="xsd:string">
 +			<xsd:enumeration value="OIDAsURI"/>
 +			<xsd:enumeration value="OIDAsURN"/>
 +		</xsd:restriction>
 +	</xsd:simpleType>
 +	<xsd:complexType name="DocumentationReferencesType">
 +		<xsd:sequence maxOccurs="unbounded">
 +			<xsd:element name="DocumentationReference" type="xsd:anyURI"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<!-- End ObjectIdentifierType-->
 +	<!-- Start EncapsulatedPKIDataType-->
 +	<xsd:element name="EncapsulatedPKIData" type="EncapsulatedPKIDataType"/>
 +	<xsd:complexType name="EncapsulatedPKIDataType">
 +		<xsd:simpleContent>
 +			<xsd:extension base="xsd:base64Binary">
 +				<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +				<xsd:attribute name="Encoding" type="xsd:anyURI" use="optional"/>
 +			</xsd:extension>
 +		</xsd:simpleContent>
 +	</xsd:complexType>
 +	<!-- End EncapsulatedPKIDataType -->
 +	<!-- Start time-stamp containers types -->
 +	<!-- Start GenericTimeStampType -->
 +	<xsd:element name="Include" type="IncludeType"/>
 +	<xsd:complexType name="IncludeType">
 +		<xsd:attribute name="URI" type="xsd:anyURI" use="required"/>
 +		<xsd:attribute name="referencedData" type="xsd:boolean" use="optional"/>
 +	</xsd:complexType>
 +	<xsd:element name="ReferenceInfo" type="ReferenceInfoType"/>
 +	<xsd:complexType name="ReferenceInfoType">
 +		<xsd:sequence>
 +			<xsd:element ref="ds:DigestMethod"/>
 +			<xsd:element ref="ds:DigestValue"/>
 +		</xsd:sequence>
 +		<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +		<xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>
 +	</xsd:complexType>
 +	<xsd:complexType name="GenericTimeStampType" abstract="true">
 +		<xsd:sequence>
 +			<xsd:choice minOccurs="0">
 +				<xsd:element ref="Include" minOccurs="0" maxOccurs="unbounded"/>
 +				<xsd:element ref="ReferenceInfo" maxOccurs="unbounded"/>
 +			</xsd:choice>
 +			<xsd:element ref="ds:CanonicalizationMethod" minOccurs="0"/>
 +			<xsd:choice maxOccurs="unbounded">
 +				<xsd:element name="EncapsulatedTimeStamp" type="EncapsulatedPKIDataType"/>
 +				<xsd:element name="XMLTimeStamp" type="AnyType"/>
 +			</xsd:choice>
 +		</xsd:sequence>
 +		<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +	</xsd:complexType>
 +	<!-- End GenericTimeStampType -->
 +	<!-- Start XAdESTimeStampType -->
 +	<xsd:element name="XAdESTimeStamp" type="XAdESTimeStampType"/>
 +	<xsd:complexType name="XAdESTimeStampType">
 +		<xsd:complexContent>
 +			<xsd:restriction base="GenericTimeStampType">
 +				<xsd:sequence>
 +					<xsd:element ref="Include" minOccurs="0" maxOccurs="unbounded"/>
 +					<xsd:element ref="ds:CanonicalizationMethod" minOccurs="0"/>
 +					<xsd:choice maxOccurs="unbounded">
 +						<xsd:element name="EncapsulatedTimeStamp" type="EncapsulatedPKIDataType"/>
 +						<xsd:element name="XMLTimeStamp" type="AnyType"/>
 +					</xsd:choice>
 +				</xsd:sequence>
 +				<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +			</xsd:restriction>
 +		</xsd:complexContent>
 +	</xsd:complexType>
 +	<!-- End XAdESTimeStampType -->
 +	<!-- Start OtherTimeStampType -->
 +	<xsd:element name="OtherTimeStamp" type="OtherTimeStampType"/>
 +	<xsd:complexType name="OtherTimeStampType">
 +		<xsd:complexContent>
 +			<xsd:restriction base="GenericTimeStampType">
 +				<xsd:sequence>
 +					<xsd:element ref="ReferenceInfo" maxOccurs="unbounded"/>
 +					<xsd:element ref="ds:CanonicalizationMethod" minOccurs="0"/>
 +					<xsd:choice>
 +						<xsd:element name="EncapsulatedTimeStamp" type="EncapsulatedPKIDataType"/>
 +						<xsd:element name="XMLTimeStamp" type="AnyType"/>
 +					</xsd:choice>
 +				</xsd:sequence>
 +				<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +			</xsd:restriction>
 +		</xsd:complexContent>
 +	</xsd:complexType>
 +	<!-- End OtherTimeStampType -->
 +	<!-- End time-stamp containers types -->
 +	<!-- End auxiliary types definitions-->
 +	<!-- Start container types -->
 +	<!-- Start QualifyingProperties -->
 +	<xsd:element name="QualifyingProperties" type="QualifyingPropertiesType"/>
 +	<xsd:complexType name="QualifyingPropertiesType">
 +		<xsd:sequence>
 +			<xsd:element name="SignedProperties" type="SignedPropertiesType" minOccurs="0"/>
 +			<xsd:element name="UnsignedProperties" type="UnsignedPropertiesType" minOccurs="0"/>
 +		</xsd:sequence>
 +		<xsd:attribute name="Target" type="xsd:anyURI" use="required"/>
 +		<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +	</xsd:complexType>
 +	<!-- End QualifyingProperties -->
 +	<!-- Start SignedProperties-->
 +	<xsd:element name="SignedProperties" type="SignedPropertiesType"/>
 +	<xsd:complexType name="SignedPropertiesType">
 +		<xsd:sequence>
 +			<xsd:element name="SignedSignatureProperties" type="SignedSignaturePropertiesType" minOccurs="0"/>
 +			<xsd:element name="SignedDataObjectProperties" type="SignedDataObjectPropertiesType" minOccurs="0"/>
 +		</xsd:sequence>
 +		<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +	</xsd:complexType>
 +	<!-- End SignedProperties-->
 +	<!-- Start UnsignedProperties-->
 +	<xsd:element name="UnsignedProperties" type="UnsignedPropertiesType"/>
 +	<xsd:complexType name="UnsignedPropertiesType">
 +		<xsd:sequence>
 +			<xsd:element name="UnsignedSignatureProperties" type="UnsignedSignaturePropertiesType" minOccurs="0"/>
 +			<xsd:element name="UnsignedDataObjectProperties" type="UnsignedDataObjectPropertiesType" minOccurs="0"/>
 +		</xsd:sequence>
 +		<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +	</xsd:complexType>
 +	<!-- End UnsignedProperties-->
 +	<!-- Start SignedSignatureProperties-->
 +	<xsd:element name="SignedSignatureProperties" type="SignedSignaturePropertiesType"/>
 +	<xsd:complexType name="SignedSignaturePropertiesType">
 +		<xsd:sequence>
 +			<xsd:element name="SigningTime" type="xsd:dateTime" minOccurs="0"/>
 +			<xsd:element name="SigningCertificate" type="CertIDListType" minOccurs="0"/>
 +			<xsd:element name="SignaturePolicyIdentifier" type="SignaturePolicyIdentifierType" minOccurs="0"/>
 +			<xsd:element name="SignatureProductionPlace" type="SignatureProductionPlaceType" minOccurs="0"/>
 +			<xsd:element name="SignerRole" type="SignerRoleType" minOccurs="0"/>
 +		</xsd:sequence>
 +		<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +	</xsd:complexType>
 +	<!-- End SignedSignatureProperties-->
 +	<!-- Start SignedDataObjectProperties-->
 +	<xsd:element name="SignedDataObjectProperties" type="SignedDataObjectPropertiesType"/>
 +	<xsd:complexType name="SignedDataObjectPropertiesType">
 +		<xsd:sequence>
 +			<xsd:element name="DataObjectFormat" type="DataObjectFormatType" minOccurs="0" maxOccurs="unbounded"/>
 +			<xsd:element name="CommitmentTypeIndication" type="CommitmentTypeIndicationType" minOccurs="0" maxOccurs="unbounded"/>
 +			<xsd:element name="AllDataObjectsTimeStamp" type="XAdESTimeStampType" minOccurs="0" maxOccurs="unbounded"/>
 +			<xsd:element name="IndividualDataObjectsTimeStamp" type="XAdESTimeStampType" minOccurs="0" maxOccurs="unbounded"/>
 +		</xsd:sequence>
 +		<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +	</xsd:complexType>
 +	<!-- End SignedDataObjectProperties-->
 +	<!-- Start UnsignedSignatureProperties-->
 +	<xsd:element name="UnsignedSignatureProperties" type="UnsignedSignaturePropertiesType"/>
 +	<xsd:complexType name="UnsignedSignaturePropertiesType">
 +		<xsd:choice maxOccurs="unbounded">
 +			<xsd:element name="CounterSignature" type="CounterSignatureType"/>
 +			<xsd:element name="SignatureTimeStamp" type="XAdESTimeStampType"/>
 +			<xsd:element name="CompleteCertificateRefs" type="CompleteCertificateRefsType"/>
 +			<xsd:element name="CompleteRevocationRefs" type="CompleteRevocationRefsType"/>
 +			<xsd:element name="AttributeCertificateRefs" type="CompleteCertificateRefsType"/>
 +			<xsd:element name="AttributeRevocationRefs" type="CompleteRevocationRefsType"/>
 +			<xsd:element name="SigAndRefsTimeStamp" type="XAdESTimeStampType"/>
 +			<xsd:element name="RefsOnlyTimeStamp" type="XAdESTimeStampType"/>
 +			<xsd:element name="CertificateValues" type="CertificateValuesType"/>
 +			<xsd:element name="RevocationValues" type="RevocationValuesType"/>
 +			<xsd:element name="AttrAuthoritiesCertValues" type="CertificateValuesType"/>
 +			<xsd:element name="AttributeRevocationValues" type="RevocationValuesType"/>
 +			<xsd:element name="ArchiveTimeStamp" type="XAdESTimeStampType"/>
 +			<xsd:any namespace="##other"/>
 +		</xsd:choice>
 +		<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +	</xsd:complexType>
 +	<!-- End UnsignedSignatureProperties-->
 +	<!-- Start UnsignedDataObjectProperties-->
 +	<xsd:element name="UnsignedDataObjectProperties" type="UnsignedDataObjectPropertiesType"/>
 +	<xsd:complexType name="UnsignedDataObjectPropertiesType">
 +		<xsd:sequence>
 +			<xsd:element name="UnsignedDataObjectProperty" type="AnyType" maxOccurs="unbounded"/>
 +		</xsd:sequence>
 +		<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +	</xsd:complexType>
 +	<!-- End UnsignedDataObjectProperties-->
 +	<!-- Start QualifyingPropertiesReference-->
 +	<xsd:element name="QualifyingPropertiesReference" type="QualifyingPropertiesReferenceType"/>
 +	<xsd:complexType name="QualifyingPropertiesReferenceType">
 +		<xsd:attribute name="URI" type="xsd:anyURI" use="required"/>
 +		<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +	</xsd:complexType>
 +	<!-- End QualifyingPropertiesReference-->
 +	<!-- End container types -->
 +	<!-- Start SigningTime element -->
 +	<xsd:element name="SigningTime" type="xsd:dateTime"/>
 +	<!-- End SigningTime element -->
 +	<!-- Start SigningCertificate -->
 +	<xsd:element name="SigningCertificate" type="CertIDListType"/>
 +	<xsd:complexType name="CertIDListType">
 +		<xsd:sequence>
 +			<xsd:element name="Cert" type="CertIDType" maxOccurs="unbounded"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="CertIDType">
 +		<xsd:sequence>
 +			<xsd:element name="CertDigest" type="DigestAlgAndValueType"/>
 +			<xsd:element name="IssuerSerial" type="ds:X509IssuerSerialType"/>
 +		</xsd:sequence>
 +		<xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>
 +	</xsd:complexType>
 +	<xsd:complexType name="DigestAlgAndValueType">
 +		<xsd:sequence>
 +			<xsd:element ref="ds:DigestMethod"/>
 +			<xsd:element ref="ds:DigestValue"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<!-- End SigningCertificate -->
 +	<!-- Start SignaturePolicyIdentifier -->
 +	<xsd:element name="SignaturePolicyIdentifier" type="SignaturePolicyIdentifierType"/>
 +	<xsd:complexType name="SignaturePolicyIdentifierType">
 +		<xsd:choice>
 +			<xsd:element name="SignaturePolicyId" type="SignaturePolicyIdType"/>
 +			<xsd:element name="SignaturePolicyImplied"/>
 +		</xsd:choice>
 +	</xsd:complexType>
 +	<xsd:complexType name="SignaturePolicyIdType">
 +		<xsd:sequence>
 +			<xsd:element name="SigPolicyId" type="ObjectIdentifierType"/>
 +			<xsd:element ref="ds:Transforms" minOccurs="0"/>
 +			<xsd:element name="SigPolicyHash" type="DigestAlgAndValueType"/>
 +			<xsd:element name="SigPolicyQualifiers" type="SigPolicyQualifiersListType" minOccurs="0"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="SigPolicyQualifiersListType">
 +		<xsd:sequence>
 +			<xsd:element name="SigPolicyQualifier" type="AnyType" maxOccurs="unbounded"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:element name="SPURI" type="xsd:anyURI"/>
 +	<xsd:element name="SPUserNotice" type="SPUserNoticeType"/>
 +	<xsd:complexType name="SPUserNoticeType">
 +		<xsd:sequence>
 +			<xsd:element name="NoticeRef" type="NoticeReferenceType" minOccurs="0"/>
 +			<xsd:element name="ExplicitText" type="xsd:string" minOccurs="0"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="NoticeReferenceType">
 +		<xsd:sequence>
 +			<xsd:element name="Organization" type="xsd:string"/>
 +			<xsd:element name="NoticeNumbers" type="IntegerListType"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="IntegerListType">
 +		<xsd:sequence>
 +			<xsd:element name="int" type="xsd:integer" minOccurs="0" maxOccurs="unbounded"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<!-- End SignaturePolicyIdentifier -->
 +	<!-- Start CounterSignature -->
 +	<xsd:element name="CounterSignature" type="CounterSignatureType"/>
 +	<xsd:complexType name="CounterSignatureType">
 +		<xsd:sequence>
 +			<xsd:element ref="ds:Signature"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<!-- End CounterSignature -->
 +	<!-- Start DataObjectFormat -->
 +	<xsd:element name="DataObjectFormat" type="DataObjectFormatType"/>
 +	<xsd:complexType name="DataObjectFormatType">
 +		<xsd:sequence>
 +			<xsd:element name="Description" type="xsd:string" minOccurs="0"/>
 +			<xsd:element name="ObjectIdentifier" type="ObjectIdentifierType" minOccurs="0"/>
 +			<xsd:element name="MimeType" type="xsd:string" minOccurs="0"/>
 +			<xsd:element name="Encoding" type="xsd:anyURI" minOccurs="0"/>
 +		</xsd:sequence>
 +		<xsd:attribute name="ObjectReference" type="xsd:anyURI" use="required"/>
 +	</xsd:complexType>
 +	<!-- End DataObjectFormat -->
 +	<!-- Start CommitmentTypeIndication -->
 +	<xsd:element name="CommitmentTypeIndication" type="CommitmentTypeIndicationType"/>
 +	<xsd:complexType name="CommitmentTypeIndicationType">
 +		<xsd:sequence>
 +			<xsd:element name="CommitmentTypeId" type="ObjectIdentifierType"/>
 +			<xsd:choice>
 +				<xsd:element name="ObjectReference" type="xsd:anyURI" maxOccurs="unbounded"/>
 +				<xsd:element name="AllSignedDataObjects"/>
 +			</xsd:choice>
 +			<xsd:element name="CommitmentTypeQualifiers" type="CommitmentTypeQualifiersListType" minOccurs="0"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="CommitmentTypeQualifiersListType">
 +		<xsd:sequence>
 +			<xsd:element name="CommitmentTypeQualifier" type="AnyType" minOccurs="0" maxOccurs="unbounded"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<!-- End CommitmentTypeIndication -->
 +	<!-- Start SignatureProductionPlace -->
 +	<xsd:element name="SignatureProductionPlace" type="SignatureProductionPlaceType"/>
 +	<xsd:complexType name="SignatureProductionPlaceType">
 +		<xsd:sequence>
 +			<xsd:element name="City" type="xsd:string" minOccurs="0"/>
 +			<xsd:element name="StateOrProvince" type="xsd:string" minOccurs="0"/>
 +			<xsd:element name="PostalCode" type="xsd:string" minOccurs="0"/>
 +			<xsd:element name="CountryName" type="xsd:string" minOccurs="0"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<!-- End SignatureProductionPlace -->
 +	<!-- Start SignerRole -->
 +	<xsd:element name="SignerRole" type="SignerRoleType"/>
 +	<xsd:complexType name="SignerRoleType">
 +		<xsd:sequence>
 +			<xsd:element name="ClaimedRoles" type="ClaimedRolesListType" minOccurs="0"/>
 +			<xsd:element name="CertifiedRoles" type="CertifiedRolesListType" minOccurs="0"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="ClaimedRolesListType">
 +		<xsd:sequence>
 +			<xsd:element name="ClaimedRole" type="AnyType" maxOccurs="unbounded"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="CertifiedRolesListType">
 +		<xsd:sequence>
 +			<xsd:element name="CertifiedRole" type="EncapsulatedPKIDataType" maxOccurs="unbounded"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<!-- End SignerRole -->
 +	<xsd:element name="AllDataObjectsTimeStamp" type="XAdESTimeStampType"/>
 +	<xsd:element name="IndividualDataObjectsTimeStamp" type="XAdESTimeStampType"/>
 +	<xsd:element name="SignatureTimeStamp" type="XAdESTimeStampType"/>
 +	<!-- Start CompleteCertificateRefs -->
 +	<xsd:element name="CompleteCertificateRefs" type="CompleteCertificateRefsType"/>
 +	<xsd:complexType name="CompleteCertificateRefsType">
 +		<xsd:sequence>
 +			<xsd:element name="CertRefs" type="CertIDListType"/>
 +		</xsd:sequence>
 +		<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +	</xsd:complexType>
 +	<!-- End CompleteCertificateRefs -->
 +	<!-- Start CompleteRevocationRefs-->
 +	<xsd:element name="CompleteRevocationRefs" type="CompleteRevocationRefsType"/>
 +	<xsd:complexType name="CompleteRevocationRefsType">
 +		<xsd:sequence>
 +			<xsd:element name="CRLRefs" type="CRLRefsType" minOccurs="0"/>
 +			<xsd:element name="OCSPRefs" type="OCSPRefsType" minOccurs="0"/>
 +			<xsd:element name="OtherRefs" type="OtherCertStatusRefsType" minOccurs="0"/>
 +		</xsd:sequence>
 +		<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +	</xsd:complexType>
 +	<xsd:complexType name="CRLRefsType">
 +		<xsd:sequence>
 +			<xsd:element name="CRLRef" type="CRLRefType" maxOccurs="unbounded"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="CRLRefType">
 +		<xsd:sequence>
 +			<xsd:element name="DigestAlgAndValue" type="DigestAlgAndValueType"/>
 +			<xsd:element name="CRLIdentifier" type="CRLIdentifierType" minOccurs="0"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="CRLIdentifierType">
 +		<xsd:sequence>
 +			<xsd:element name="Issuer" type="xsd:string"/>
 +			<xsd:element name="IssueTime" type="xsd:dateTime"/>
 +			<xsd:element name="Number" type="xsd:integer" minOccurs="0"/>
 +		</xsd:sequence>
 +		<xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>
 +	</xsd:complexType>
 +	<xsd:complexType name="OCSPRefsType">
 +		<xsd:sequence>
 +			<xsd:element name="OCSPRef" type="OCSPRefType" maxOccurs="unbounded"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="OCSPRefType">
 +		<xsd:sequence>
 +			<xsd:element name="OCSPIdentifier" type="OCSPIdentifierType"/>
 +			<xsd:element name="DigestAlgAndValue" type="DigestAlgAndValueType" minOccurs="0"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="ResponderIDType">
 +		<xsd:choice>
 +			<xsd:element name="ByName" type="xsd:string"/>
 +			<xsd:element name="ByKey" type="xsd:base64Binary"/>
 +		</xsd:choice>
 +	</xsd:complexType>
 +	<xsd:complexType name="OCSPIdentifierType">
 +		<xsd:sequence>
 +			<xsd:element name="ResponderID" type="ResponderIDType"/>
 +			<xsd:element name="ProducedAt" type="xsd:dateTime"/>
 +		</xsd:sequence>
 +		<xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>
 +	</xsd:complexType>
 +	<xsd:complexType name="OtherCertStatusRefsType">
 +		<xsd:sequence>
 +			<xsd:element name="OtherRef" type="AnyType" maxOccurs="unbounded"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<!-- End CompleteRevocationRefs-->
 +	<xsd:element name="AttributeCertificateRefs" type="CompleteCertificateRefsType"/>
 +	<xsd:element name="AttributeRevocationRefs" type="CompleteRevocationRefsType"/>
 +	<xsd:element name="SigAndRefsTimeStamp" type="XAdESTimeStampType"/>
 +	<xsd:element name="RefsOnlyTimeStamp" type="XAdESTimeStampType"/>
 +	<!-- Start CertificateValues -->
 +	<xsd:element name="CertificateValues" type="CertificateValuesType"/>
 +	<xsd:complexType name="CertificateValuesType">
 +		<xsd:choice minOccurs="0" maxOccurs="unbounded">
 +			<xsd:element name="EncapsulatedX509Certificate" type="EncapsulatedPKIDataType"/>
 +			<xsd:element name="OtherCertificate" type="AnyType"/>
 +		</xsd:choice>
 +		<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +	</xsd:complexType>
 +	<!-- End CertificateValues -->
 +	<!-- Start RevocationValues-->
 +	<xsd:element name="RevocationValues" type="RevocationValuesType"/>
 +	<xsd:complexType name="RevocationValuesType">
 +		<xsd:sequence>
 +			<xsd:element name="CRLValues" type="CRLValuesType" minOccurs="0"/>
 +			<xsd:element name="OCSPValues" type="OCSPValuesType" minOccurs="0"/>
 +			<xsd:element name="OtherValues" type="OtherCertStatusValuesType" minOccurs="0"/>
 +		</xsd:sequence>
 +		<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +	</xsd:complexType>
 +	<xsd:complexType name="CRLValuesType">
 +		<xsd:sequence>
 +			<xsd:element name="EncapsulatedCRLValue" type="EncapsulatedPKIDataType" maxOccurs="unbounded"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="OCSPValuesType">
 +		<xsd:sequence>
 +			<xsd:element name="EncapsulatedOCSPValue" type="EncapsulatedPKIDataType" maxOccurs="unbounded"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<xsd:complexType name="OtherCertStatusValuesType">
 +		<xsd:sequence>
 +			<xsd:element name="OtherValue" type="AnyType" maxOccurs="unbounded"/>
 +		</xsd:sequence>
 +	</xsd:complexType>
 +	<!-- End RevocationValues-->
 +	<xsd:element name="AttrAuthoritiesCertValues" type="CertificateValuesType"/>
 +	<xsd:element name="AttributeRevocationValues" type="RevocationValuesType"/>
 +	<xsd:element name="ArchiveTimeStamp" type="XAdESTimeStampType"/>
 +</xsd:schema>
 diff --git a/common/src/main/resources/resources/schemas/XAdES-1.4.1.xsd b/common/src/main/resources/resources/schemas/XAdES-1.4.1.xsd new file mode 100644 index 000000000..383fcbdec --- /dev/null +++ b/common/src/main/resources/resources/schemas/XAdES-1.4.1.xsd @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?>
 +<xsd:schema targetNamespace="http://uri.etsi.org/01903/v1.4.1#" xmlns="http://uri.etsi.org/01903/v1.4.1#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" elementFormDefault="qualified">
 +	<xsd:import namespace="http://uri.etsi.org/01903/v1.3.2#" schemaLocation="XAdES-1.3.2.xsd"/>
 +	<!-- Start CertificateValues -->
 +	<xsd:element name="TimeStampValidationData" type="ValidationDataType"/>
 +	<xsd:complexType name="ValidationDataType">
 +		<xsd:sequence>
 +			<xsd:element ref="xades:CertificateValues" minOccurs="0" />
 +			<xsd:element ref="xades:RevocationValues" minOccurs="0" />
 +		</xsd:sequence>
 +		<xsd:attribute name="Id" type="xsd:ID" use="optional"/>
 +		<xsd:attribute name="UR" type="xsd:anyURI" use="optional"/>
 +	</xsd:complexType>
 +	<xsd:element name="ArchiveTimeStampV2" type="xades:XAdESTimeStampType"/>
 +</xsd:schema>
 | 
