diff options
author | tlenz <thomas.lenz@egiz.gv.at> | 2017-01-24 11:55:05 +0100 |
---|---|---|
committer | tlenz <thomas.lenz@egiz.gv.at> | 2017-01-24 11:55:05 +0100 |
commit | 0df09d7de785d905e88ccd442ea1c060af2ffff8 (patch) | |
tree | a9bbc6ae5617fb46b8b8fb765d70336495b47604 | |
parent | 1a0f7abd972f0a50b98299da4f680a0ecfc33217 (diff) | |
parent | b0d77d439a8df6b09648e19b1ec93f24eadfbe7b (diff) | |
download | moa-sig-0df09d7de785d905e88ccd442ea1c060af2ffff8.tar.gz moa-sig-0df09d7de785d905e88ccd442ea1c060af2ffff8.tar.bz2 moa-sig-0df09d7de785d905e88ccd442ea1c060af2ffff8.zip |
local merge
Merge branch 'master' of https://gitlab.iaik.tugraz.at/egiz/moa-sig
43 files changed, 1803 insertions, 826 deletions
diff --git a/moaSig/common/src/main/resources/resources/schemas/MOA-SPSS-3.0.0.xsd b/moaSig/common/src/main/resources/resources/schemas/MOA-SPSS-3.0.0.xsd index 49255d1..4916b89 100644 --- a/moaSig/common/src/main/resources/resources/schemas/MOA-SPSS-3.0.0.xsd +++ b/moaSig/common/src/main/resources/resources/schemas/MOA-SPSS-3.0.0.xsd @@ -1,12 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- - MOA SP/SS 2.0.0 Schema ---> +<!-- MOA SP/SS 2.0.0 Schema --> <xsd:schema xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" targetNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.2"> <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/> - <!--########## Create CMS Signature ###--> - <!--### Create CMS Signature Request ###--> + <!--########## Create CMS Signature ### --> + <!--### Create CMS Signature Request ### --> <xsd:element name="CreateCMSSignatureRequest"> <xsd:complexType> <xsd:complexContent> @@ -19,7 +17,8 @@ <xsd:element name="KeyIdentifier" type="KeyIdentifierType"/> <xsd:element name="SingleSignatureInfo" maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Ermöglichung der Stapelsignatur durch wiederholte Angabe dieses Elements</xsd:documentation> + <xsd:documentation>Ermöglichung der Stapelsignatur durch + wiederholte Angabe dieses Elements</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> @@ -36,23 +35,25 @@ </xsd:element> </xsd:sequence> </xsd:complexType> - <!--### Create CMS Signature Response ###--> + <!--### Create CMS Signature Response ### --> <xsd:element name="CreateCMSSignatureResponse" type="CreateCMSSignatureResponseType"/> <xsd:complexType name="CreateCMSSignatureResponseType"> <xsd:choice maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Kardinalität 1..oo erlaubt die Antwort auf eine Stapelsignatur-Anfrage</xsd:documentation> + <xsd:documentation>Kardinalität 1..oo erlaubt die Antwort auf eine + Stapelsignatur-Anfrage</xsd:documentation> </xsd:annotation> <xsd:element name="CMSSignature" type="xsd:base64Binary"> <xsd:annotation> - <xsd:documentation>Resultat, falls die Signaturerstellung erfolgreich war</xsd:documentation> + <xsd:documentation>Resultat, falls die Signaturerstellung + erfolgreich war</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element ref="ErrorResponse"/> </xsd:choice> </xsd:complexType> - <!--########## Create XML Signature ###--> - <!--### Create XML Signature Request ###--> + <!--########## Create XML Signature ### --> + <!--### Create XML Signature Request ### --> <xsd:element name="CreateXMLSignatureRequest"> <xsd:complexType> <xsd:complexContent> @@ -65,7 +66,8 @@ <xsd:element name="KeyIdentifier" type="KeyIdentifierType"/> <xsd:element name="SingleSignatureInfo" maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Ermöglichung der Stapelsignatur durch wiederholte Angabe dieses Elements</xsd:documentation> + <xsd:documentation>Ermöglichung der Stapelsignatur durch + wiederholte Angabe dieses Elements</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> @@ -84,7 +86,10 @@ <xsd:element name="CreateSignatureEnvironment" type="ContentOptionalRefType"/> <xsd:choice> <xsd:annotation> - <xsd:documentation>Auswahl: Entweder explizite Angabe des Signaturorts sowie ggf. sinnvoller Supplements im Zshg. mit der Signaturumgebung, oder Verweis auf ein benanntes Profil</xsd:documentation> + <xsd:documentation>Auswahl: Entweder explizite Angabe des + Signaturorts sowie ggf. sinnvoller Supplements im Zshg. mit + der Signaturumgebung, oder Verweis auf ein benanntes Profil + </xsd:documentation> </xsd:annotation> <xsd:element ref="CreateSignatureEnvironmentProfile"/> <xsd:element name="CreateSignatureEnvironmentProfileID" type="ProfileIdentifierType"/> @@ -98,15 +103,17 @@ </xsd:element> </xsd:sequence> </xsd:complexType> - <!--### Create XML Signature Response ###--> + <!--### Create XML Signature Response ### --> <xsd:complexType name="CreateXMLSignatureResponseType"> <xsd:choice maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Kardinalität 1..oo erlaubt die Antwort auf eine Stapelsignatur-Anfrage</xsd:documentation> + <xsd:documentation>Kardinalität 1..oo erlaubt die Antwort auf eine + Stapelsignatur-Anfrage</xsd:documentation> </xsd:annotation> <xsd:element name="SignatureEnvironment"> <xsd:annotation> - <xsd:documentation>Resultat, falls die Signaturerstellung erfolgreich war</xsd:documentation> + <xsd:documentation>Resultat, falls die Signaturerstellung + erfolgreich war</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> @@ -118,8 +125,43 @@ </xsd:choice> </xsd:complexType> <xsd:element name="CreateXMLSignatureResponse" type="CreateXMLSignatureResponseType"/> - <!--########## Verify CMS Signature ###--> - <!--### Verifiy CMS Signature Request ###--> + <!--########## Create PDF Signature ### --> + <!--### Create PDF Signature Request ### --> + <xsd:element name="CreatePDFSignatureRequest"> + <xsd:complexType> + <xsd:complexContent> + <xsd:extension base="CreatePDFSignatureRequestType"/> + </xsd:complexContent> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="CreatePDFSignatureRequestType"> + <xsd:sequence> + <xsd:element name="KeyIdentifier" type="KeyIdentifierType"/> + <xsd:element name="SingleSignatureInfo" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation>Ermöglichung der Stapelsignatur durch + wiederholte Angabe dieses Elements</xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="PDFDocument" type="xsd:base64Binary"/> + <xsd:element name="SignatureProfile" type="xsd:string" minOccurs="0" maxOccurs="1"/> + <xsd:element name="SignaturePosition" type="xsd:string" minOccurs="0" maxOccurs="1"/> + <xsd:element name="SignatureID" type="xsd:string" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + <!--### Create PDF Signature Response ### --> + <xsd:element name="CreatePDFSignatureResponse" type="CreatePDFSignatureResponseType"/> + <xsd:complexType name="CreatePDFSignatureResponseType"> + <xsd:sequence> + <xsd:element name="PDFSignature" type="PDFSignedRepsonse" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <!--########## Verify CMS Signature ### --> + <!--### Verifiy CMS Signature Request ### --> <xsd:element name="VerifyCMSSignatureRequest"> <xsd:complexType> <xsd:complexContent> @@ -132,34 +174,155 @@ <xsd:complexType name="VerifyCMSSignatureRequestType"> <xsd:sequence> <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/> + <xsd:element name="ExtendedValidation" type="xsd:boolean" default="false" minOccurs="0"/> <xsd:element name="CMSSignature" type="xsd:base64Binary"/> <xsd:element name="DataObject" type="CMSDataObjectOptionalMetaType" minOccurs="0"/> <xsd:element name="TrustProfileID" type="xsd:token"> <xsd:annotation> - <xsd:documentation>mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert</xsd:documentation> + <xsd:documentation>mit diesem Profil wird eine Menge von + vertrauenswürdigen Wurzelzertifikaten spezifiziert + </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> - <!--### Verify CMS Signature Response ###--> + <!--### Verify CMS Signature Response ### --> <xsd:element name="VerifyCMSSignatureResponse" type="VerifyCMSSignatureResponseType"/> <xsd:complexType name="VerifyCMSSignatureResponseType"> <xsd:sequence maxOccurs="unbounded"> <xsd:element name="SignerInfo" type="dsig:KeyInfoType"> <xsd:annotation> - <xsd:documentation>only ds:X509Data and RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any;publicAuthority is included as X509Data/any; SecureSignatureCreationDevice is included as X509Data/any, IssuingCountry is included as X509Data/any</xsd:documentation> + <xsd:documentation>only ds:X509Data and RetrievalMethod is + supported; QualifiedCertificate is included as + X509Data/any;publicAuthority is included as X509Data/any; + SecureSignatureCreationDevice is included as X509Data/any, + IssuingCountry is included as X509Data/any</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="SignatureCheck" type="CheckResultType"/> + <xsd:element name="CertificateCheck" type="CheckResultType"/> + <xsd:element name="FormCheckResult" type="FormResultType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="VerifyASICCMSSignatureResponseType"> + <xsd:sequence maxOccurs="unbounded"> + <xsd:element name="SignerInfo" type="dsig:KeyInfoType"> + <xsd:annotation> + <xsd:documentation>only ds:X509Data and RetrievalMethod is + supported; QualifiedCertificate is included as + X509Data/any;publicAuthority is included as X509Data/any; + SecureSignatureCreationDevice is included as X509Data/any, + IssuingCountry is included as X509Data/any, + TSLInformation is included as X509Data/any</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="SigningTime" type="xsd:dateTime" minOccurs="0"/> + <xsd:element name="SignatureCheck" type="CheckResultType"/> + <xsd:element name="CertificateCheck" type="CheckResultType"/> + <xsd:element name="FormCheckResult" type="FormResultType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <!--########## Verify PDF Signature ### --> + <!--### Verifiy PDF Signature Request ### --> + <xsd:element name="VerifyPDFSignatureRequest"> + <xsd:complexType> + <xsd:complexContent> + <xsd:extension base="VerifyPDFSignatureRequestType"> + <xsd:attribute name="Signatories" type="SignatoriesType" use="optional" default="1"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="VerifyPDFSignatureRequestType"> + <xsd:sequence> + <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/> + <xsd:element name="ExtendedValidation" type="xsd:boolean" default="false" minOccurs="0"/> + <xsd:element name="PDFSignature" type="xsd:base64Binary"/> + <xsd:element name="TrustProfileID" type="xsd:token"> + <xsd:annotation> + <xsd:documentation>mit diesem Profil wird eine Menge von + vertrauenswürdigen Wurzelzertifikaten spezifiziert + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + <!--########## Verify PDF Signature ### --> + <!--### Verifiy ASIC Signature Request ### --> + <xsd:element name="VerifyASICSignatureRequest"> + <xsd:complexType> + <xsd:complexContent> + <xsd:extension base="VerifyASICSignatureRequestType"/> + </xsd:complexContent> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="VerifyASICSignatureRequestType"> + <xsd:sequence> + <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/> + <xsd:element name="ExtendedValidation" type="xsd:boolean" default="false" minOccurs="0"/> + <xsd:element name="ASICSignature" type="xsd:base64Binary"/> + <xsd:element name="ASICExtension" type="xsd:string"> + <xsd:annotation> + <xsd:documentation>asics or asice</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="TrustProfileID" type="xsd:token"> + <xsd:annotation> + <xsd:documentation>mit diesem Profil wird eine Menge von + vertrauenswürdigen Wurzelzertifikaten spezifiziert + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + <!--### Verify ASIC Signature Response ### --> + <xsd:element name="VerifyASICSignatureResponse" type="VerifyASICSignatureResponseType"/> + <xsd:complexType name="VerifyASICSignatureResponseType"> + <xsd:sequence> + <xsd:element name="ASiCSignatureResult" type="ASICResultType" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="ASICResultType"> + <xsd:sequence> + <xsd:element name="signedFiles" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="XMLSignatureResult" type="VerifyASICXMLSignatureResponseType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="CMSSignatureResult" type="VerifyASICCMSSignatureResponseType" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <!--### Verify CMS Signature Response ### --> + <xsd:element name="VerifyPDFSignatureResponse" type="VerifyPDFSignatureResponseType"/> + <xsd:complexType name="VerifyPDFSignatureResponseType"> + <xsd:sequence maxOccurs="unbounded"> + <xsd:element name="SignatureResult" type="PDFSignatureResultType"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="PDFSignatureResultType"> + <xsd:sequence> + <xsd:element name="SignerInfo" type="dsig:KeyInfoType"> + <xsd:annotation> + <xsd:documentation>only ds:X509Data and RetrievalMethod is + supported; QualifiedCertificate is included as + X509Data/any;publicAuthority is included as X509Data/any; + SecureSignatureCreationDevice is included as X509Data/any, + IssuingCountry is included as X509Data/any</xsd:documentation> </xsd:annotation> </xsd:element> + <xsd:element name="SigningTime" type="xsd:dateTime" minOccurs="0"/> <xsd:element name="SignatureCheck" type="CheckResultType"/> <xsd:element name="CertificateCheck" type="CheckResultType"/> + <xsd:element name="FormCheckResult" type="FormResultType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> - <!--########## Verify XML Signature ###--> - <!--### Verify XML Signature Request ###--> + <!--########## Verify XML Signature ### --> + <!--### Verify XML Signature Request ### --> <xsd:element name="VerifyXMLSignatureRequest" type="VerifyXMLSignatureRequestType"/> <xsd:complexType name="VerifyXMLSignatureRequestType"> <xsd:sequence> <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/> + <xsd:element name="ExtendedValidation" type="xsd:boolean" default="false" minOccurs="0"/> <xsd:element name="VerifySignatureInfo"> <xsd:complexType> <xsd:sequence> @@ -177,7 +340,11 @@ <xsd:sequence> <xsd:element name="ReferenceInfo" type="VerifyTransformsDataType" maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Pro dsig:Reference-Element in der zu überprüfenden XML-Signatur muss hier ein ReferenceInfo-Element erscheinen. Die Reihenfolge der einzelnen ReferenceInfo Elemente entspricht jener der dsig:Reference Elemente in der XML-Signatur.</xsd:documentation> + <xsd:documentation>Pro dsig:Reference-Element in der zu + überprüfenden XML-Signatur muss hier ein + ReferenceInfo-Element erscheinen. Die Reihenfolge der einzelnen + ReferenceInfo Elemente entspricht jener der dsig:Reference + Elemente in der XML-Signatur.</xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> @@ -187,18 +354,24 @@ <xsd:element name="ReturnHashInputData" minOccurs="0"/> <xsd:element name="TrustProfileID" type="xsd:token"> <xsd:annotation> - <xsd:documentation>mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert</xsd:documentation> + <xsd:documentation>mit diesem Profil wird eine Menge von + vertrauenswürdigen Wurzelzertifikaten spezifiziert + </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> - <!--### Verify XML Signature Response ###--> + <!--### Verify XML Signature Response ### --> <xsd:element name="VerifyXMLSignatureResponse" type="VerifyXMLSignatureResponseType"/> <xsd:complexType name="VerifyXMLSignatureResponseType"> <xsd:sequence> <xsd:element name="SignerInfo" type="dsig:KeyInfoType"> <xsd:annotation> - <xsd:documentation>only ds:X509Data and ds:RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any; PublicAuthority is included as X509Data/any; SecureSignatureCreationDevice is included as X509Data/any, IssuingCountry is included as X509Data/any, TSLInformation is included as X509Data/any</xsd:documentation> + <xsd:documentation>only ds:X509Data and ds:RetrievalMethod is + supported; QualifiedCertificate is included as X509Data/any; + PublicAuthority is included as X509Data/any; + SecureSignatureCreationDevice is included as X509Data/any, + IssuingCountry is included as X509Data/any</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="HashInputData" type="InputDataType" minOccurs="0" maxOccurs="unbounded"/> @@ -207,6 +380,30 @@ <xsd:element name="SignatureManifestCheck" type="ReferencesCheckResultType" minOccurs="0"/> <xsd:element name="XMLDSIGManifestCheck" type="ManifestRefsCheckResultType" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="CertificateCheck" type="CheckResultType"/> + <xsd:element name="FormCheckResult" type="FormResultType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="VerifyASICXMLSignatureResponseType"> + <xsd:sequence> + <xsd:element name="SignerInfo" type="dsig:KeyInfoType"> + <xsd:annotation> + <xsd:documentation>only ds:X509Data and ds:RetrievalMethod is + supported; QualifiedCertificate is included as X509Data/any; + PublicAuthority is included as X509Data/any; + SecureSignatureCreationDevice is included as X509Data/any, + IssuingCountry is included as X509Data/any</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="SigningTime" type="xsd:dateTime" minOccurs="0"/> + <xsd:element name="HashInputData" type="InputDataType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="ReferenceInputData" type="InputDataType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="SignatureCheck" type="ReferencesCheckResultType"/> + <xsd:element name="SignatureManifestCheck" type="ReferencesCheckResultType" minOccurs="0"/> + <xsd:element name="XMLDSIGManifestCheck" type="ManifestRefsCheckResultType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="CertificateCheck" type="CheckResultType"/> + <xsd:element name="FormCheckResult" type="FormResultType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <xsd:simpleType name="ProfileIdentifierType"> @@ -254,7 +451,9 @@ </xsd:element> <xsd:choice> <xsd:annotation> - <xsd:documentation>Auswahl: Entweder explizite Angabe EINER Transformationskette inklusive ggf. sinnvoller Supplements oder Verweis auf ein benanntes Profil</xsd:documentation> + <xsd:documentation>Auswahl: Entweder explizite Angabe EINER + Transformationskette inklusive ggf. sinnvoller Supplements oder + Verweis auf ein benanntes Profil</xsd:documentation> </xsd:annotation> <xsd:element ref="CreateTransformsInfoProfile"/> <xsd:element name="CreateTransformsInfoProfileID" type="ProfileIdentifierType"/> @@ -300,24 +499,30 @@ <xsd:element name="Content" type="ContentRequiredRefType"/> </xsd:sequence> </xsd:complexType> + <xsd:complexType name="PDFSignedRepsonse"> + <xsd:sequence> + <xsd:element name="SignatureID" type="xsd:string" minOccurs="0" maxOccurs="1"/> + <xsd:choice maxOccurs="1"> + <xsd:element name="PDFSignature" type="xsd:base64Binary"> + <xsd:annotation> + <xsd:documentation>Resultat, falls die Signaturerstellung + erfolgreich war</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="ErrorResponse"/> + </xsd:choice> + </xsd:sequence> + </xsd:complexType> <xsd:complexType name="CMSDataObjectOptionalMetaType"> <xsd:sequence> <xsd:element name="MetaInfo" type="MetaInfoType" minOccurs="0"/> <xsd:element name="Content" type="CMSContentBaseType"/> - <xsd:element name="ExcludedByteRange" type="ExcludedByteRangeType" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="CMSDataObjectRequiredMetaType"> <xsd:sequence> <xsd:element name="MetaInfo" type="MetaInfoType"/> <xsd:element name="Content" type="CMSContentBaseType"/> - <xsd:element name="ExcludedByteRange" type="ExcludedByteRangeType" minOccurs="0"/> - </xsd:sequence> - </xsd:complexType> - <xsd:complexType name="ExcludedByteRangeType"> - <xsd:sequence> - <xsd:element name="From" type="xsd:unsignedLong"/> - <xsd:element name="To" type="xsd:unsignedLong"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="CMSContentBaseType"> @@ -335,6 +540,24 @@ <xsd:element name="Info" type="AnyChildrenType" minOccurs="0"/> </xsd:sequence> </xsd:complexType> + <xsd:complexType name="FormResultType"> + <xsd:sequence> + <xsd:element name="Code" type="xsd:nonNegativeInteger" minOccurs="1" maxOccurs="1"/> + <xsd:element name="Name" type="xsd:string" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="IndicationResultType"> + <xsd:sequence> + <xsd:element name="Code" type="xsd:nonNegativeInteger" minOccurs="1" maxOccurs="1"/> + <xsd:element name="Name" type="xsd:string" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="ExtendedCertificateCheckResultType"> + <xsd:sequence> + <xsd:element name="Major" type="IndicationResultType" minOccurs="1" maxOccurs="1"/> + <xsd:element name="Minor" type="IndicationResultType" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> <xsd:complexType name="ReferencesCheckResultType"> <xsd:complexContent> <xsd:restriction base="CheckResultType"> @@ -376,10 +599,11 @@ </xsd:restriction> </xsd:complexContent> </xsd:complexType> - <!--########## Error Response ###--> + <!--########## Error Response ### --> <xsd:element name="ErrorResponse" type="ErrorResponseType"> <xsd:annotation> - <xsd:documentation>Resultat, falls die Signaturerstellung gescheitert ist</xsd:documentation> + <xsd:documentation>Resultat, falls die Signaturerstellung gescheitert + ist</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="ErrorResponseType"> @@ -388,7 +612,7 @@ <xsd:element name="Info" type="xsd:string"/> </xsd:sequence> </xsd:complexType> - <!--########## Auxiliary Types ###--> + <!--########## Auxiliary Types ### --> <xsd:simpleType name="KeyIdentifierType"> <xsd:restriction base="xsd:string"/> </xsd:simpleType> @@ -452,12 +676,17 @@ <xsd:complexType name="VerifyTransformsDataType"> <xsd:choice maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Ein oder mehrere Transformationswege können von der Applikation an MOA mitgeteilt werden. Die zu prüfende Signatur hat zumindest einem dieser Transformationswege zu entsprechen. Die Angabe kann explizit oder als Profilbezeichner erfolgen.</xsd:documentation> + <xsd:documentation>Ein oder mehrere Transformationswege können von + der Applikation an MOA mitgeteilt werden. Die zu prüfende Signatur + hat zumindest einem dieser Transformationswege zu entsprechen. Die + Angabe kann explizit oder als Profilbezeichner erfolgen. + </xsd:documentation> </xsd:annotation> <xsd:element ref="VerifyTransformsInfoProfile"/> <xsd:element name="VerifyTransformsInfoProfileID" type="xsd:string"> <xsd:annotation> - <xsd:documentation>Profilbezeichner für einen Transformationsweg</xsd:documentation> + <xsd:documentation>Profilbezeichner für einen Transformationsweg + </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:choice> @@ -515,16 +744,22 @@ <xsd:complexType name="TransformParameterType"> <xsd:choice minOccurs="0"> <xsd:annotation> - <xsd:documentation>Die Angabe des Transformationsparameters (explizit oder als Hashwert) kann unterlassen werden, wenn die Applikation von der Unveränderlichkeit des Inhalts der in "Transformationsparamter", Attribut "URI" angegebenen URI ausgehen kann.</xsd:documentation> + <xsd:documentation>Die Angabe des Transformationsparameters + (explizit oder als Hashwert) kann unterlassen werden, wenn die + Applikation von der Unveränderlichkeit des Inhalts der in + "Transformationsparamter", Attribut "URI" angegebenen URI ausgehen + kann.</xsd:documentation> </xsd:annotation> <xsd:element name="Base64Content" type="xsd:base64Binary"> <xsd:annotation> - <xsd:documentation>Der Transformationsparameter explizit angegeben.</xsd:documentation> + <xsd:documentation>Der Transformationsparameter explizit angegeben. + </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="Hash"> <xsd:annotation> - <xsd:documentation>Der Hashwert des Transformationsparameters.</xsd:documentation> + <xsd:documentation>Der Hashwert des Transformationsparameters. + </xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> @@ -546,14 +781,20 @@ </xsd:element> <xsd:element name="VerifyTransformsInfoProfile"> <xsd:annotation> - <xsd:documentation>Explizite Angabe des Transformationswegs</xsd:documentation> + <xsd:documentation>Explizite Angabe des Transformationswegs + </xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element ref="dsig:Transforms" minOccurs="0"/> <xsd:element name="TransformParameter" type="TransformParameterType" minOccurs="0" maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Alle impliziten Transformationsparameter, die zum Durchlaufen der oben angeführten Transformationskette bekannt sein müssen, müssen hier angeführt werden. Das Attribut "URI" bezeichnet den Transformationsparameter in exakt jener Weise, wie er in der zu überprüfenden Signatur gebraucht wird.</xsd:documentation> + <xsd:documentation>Alle impliziten Transformationsparameter, die + zum Durchlaufen der oben angeführten Transformationskette + bekannt sein müssen, müssen hier angeführt werden. Das + Attribut "URI" bezeichnet den Transformationsparameter in exakt + jener Weise, wie er in der zu überprüfenden Signatur gebraucht + wird.</xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> diff --git a/moaSig/handbook/conf/moa-spss/log4j.properties b/moaSig/handbook/conf/moa-spss/log4j.properties index 023cdc0..562d450 100644 --- a/moaSig/handbook/conf/moa-spss/log4j.properties +++ b/moaSig/handbook/conf/moa-spss/log4j.properties @@ -7,8 +7,8 @@ org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.Log4jFacto # Configure root logger and loggers for moa-spss log4j.rootLogger=info, stdout -log4j.logger.at.gv.egovernment.moa.spss.server=info, moaspss -log4j.logger.at.gv.egovernment.moa.spss=warn, moaspss +log4j.logger.at.gv.egovernment.moa.spss=info, moaspss +log4j.logger.at.gv.egovernment.moa.sig=info, moaspss log4j.logger.iaik.server=warn, moaspss # Configure the 'stdout' appender to write logging output to the console diff --git a/moaSig/handbook/conf/moa-spss/sp.minimum_with_tsl.config.xml b/moaSig/handbook/conf/moa-spss/sp.minimum_with_tsl.config.xml index 2a8cdd0..06b1647 100644 --- a/moaSig/handbook/conf/moa-spss/sp.minimum_with_tsl.config.xml +++ b/moaSig/handbook/conf/moa-spss/sp.minimum_with_tsl.config.xml @@ -129,6 +129,10 @@ <cfg:Period>86400000</cfg:Period>
</cfg:UpdateSchedule>
<cfg:WorkingDirectory>tslworking</cfg:WorkingDirectory>
+ <cfg:Evaluation>
+ <cfg:QCQualifier>http://uri.etsi.org/TrstSvc/Svctype/CA/QC,http://uri.etsi.org/TrstSvc/Svctype/TSA/QTST</cfg:QCQualifier>
+ <cfg:SSCDQualifier>http://uri.etsi.org/TrstSvc/TrustedList/SvcInfoExt/QCWithSSCD,http://uri.etsi.org/TrstSvc/TrustedList/SvcInfoExt/QCWithQSCD</cfg:SSCDQualifier>
+ </cfg:Evaluation>
</cfg:TSLConfiguration>-->
</cfg:CertificateValidation>
</cfg:SignatureVerification>
diff --git a/moaSig/handbook/conf/moa-spss/svaconfig.example b/moaSig/handbook/conf/moa-spss/svaconfig.example new file mode 100644 index 0000000..cdb972f --- /dev/null +++ b/moaSig/handbook/conf/moa-spss/svaconfig.example @@ -0,0 +1,74 @@ +#Fri Jul 27 14:18:37 CEST 2012 +# +# Format [key]=[value] +# +# Note that if an '=' is used in a key or value it has to be escaped: "\=" + +##################### WebConfig ####################### + +#The path to the sva configuration file +#svaconfig=/data/sigval/incoming/svaconfig + +#The directories where to store the collected testdata +#testdir=/data/sigval/incoming/test/ + +#The basepath for signature validation +#basepath= + +###################################################### + +#The path prefix for all file system locations +#pathprefix=/home/afitzek/server/moa-spss/apache-tomcat-8.0.0-RC3/conf/moa-spss/sva/ + +#The file where the xmldsig core schema is located +#xmlschemaloc=example/schema/xmldsig-core-schema.xsd + +#The root folder where truststore and certstore are created later on +#certroot=example/certs + +#The folder containing the trustanchors +#trustanchorloc=example/keys_and_certs + +#The folder containing the timestampauthority trustanchors +#tsttrustanchorloc=example/keys_and_certs + +#The folder containing alternative revocation information (comment out to use +#infos contained in the certificate) +#altdp= + +#The maximum age of a revocation information of a end user certificate in hours +#endusercertgrace=4382 + +#The maximum age of a revocation information for a ca certificate in hours +#cacertgrace=4382 + +#tstcoherencetolerance=10 + +#The maximum time difference (in hours) the signing-time property and a +#time stamp +#timestampdelay=24 + +# Defines the forbidden hashing algorithms and the inception date +# Format: {<algorithm name>, <inception date>};{<algname 2>, <inc date 2>}... +#hashconstraint={md5, 2000-08-08};{sha1, 2016-08-08} + +# Defines the forbidden hashing algorithms for CA Certificates and the inception date +# Format: {<algorithm name>, <inception date>};{<algname 2>, <inc date 2>}... +#cahashconstraint={md5,2000-08-08};{sha1, 2012-08-05} + +# Defines the minimum required key lengths +# Format: {<algorithm name>, <min len>,<inception date>};{...}... +#keylenconstraint={rsa, 1024, 2000-08-08} + +# Defines the minimum required key lengths for CA Certificates +# Format: {<algorithm name>, <min len>,<inception date>};{...}.. +#cakeylenconstraint={rsa,512,2000-08-08} + +# Defines the minimum required key lengths for timestamps +# Format: {<algorithm name>, <min len>,<inception date>};{...}... +#tstkeylenconstraint={rsa, 1024, 2000-08-08} + +# Allows any key usage if set to true, otherwise only dig. signature +allowanykeyusage=true + +chainingmodel=SHELL diff --git a/moaSig/handbook/conf/moa-spss/tslworking/trust/eu/EC_DIGIT.20131030-20161030.SerNo79A1C51E6E5FE7CCD8BF6D097ECA55277868B2C6.cer b/moaSig/handbook/conf/moa-spss/tslworking/trust/eu/EC_DIGIT.20131030-20161030.SerNo79A1C51E6E5FE7CCD8BF6D097ECA55277868B2C6.cer new file mode 100644 index 0000000..6a81c11 --- /dev/null +++ b/moaSig/handbook/conf/moa-spss/tslworking/trust/eu/EC_DIGIT.20131030-20161030.SerNo79A1C51E6E5FE7CCD8BF6D097ECA55277868B2C6.cer @@ -0,0 +1,35 @@ +MIIGgTCCBGmgAwIBAgIUeaHFHm5f58zYv20JfspVJ3hossYwDQYJKoZIhvcNAQEF +BQAwgZIxCzAJBgNVBAYTAk5MMSAwHgYDVQQKExdRdW9WYWRpcyBUcnVzdGxpbmsg +Qi5WLjEoMCYGA1UECxMfSXNzdWluZyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTE3 +MDUGA1UEAxMuUXVvVmFkaXMgRVUgSXNzdWluZyBDZXJ0aWZpY2F0aW9uIEF1dGhv +cml0eSBHMjAeFw0xMzEwMzAxMjI3MTFaFw0xNjEwMzAxMjI3MTFaMHoxCzAJBgNV +BAYTAkJFMRAwDgYDVQQIEwdCcnVzc2VsMRIwEAYDVQQHEwlFdHRlcmJlZWsxHDAa +BgNVBAoTE0V1cm9wZWFuIENvbW1pc3Npb24xFDASBgNVBAsTC0luZm9ybWF0aWNz +MREwDwYDVQQDDAhFQ19ESUdJVDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAJgkkqvJmZaknQC7c6H6LEr3dGtQ5IfOB3HAZZxOZbb8tdM1KMTO3sAifJC5 +HNFeIWd0727uZj+V5kBrUv36zEs+VxiN1yJBmcJznX4J2TCyPfLk2NRELGu65Vwr +K2Whp8cLLANc+6pQn/5wKh23ehZm21mLXcicZ8whksUGb/h8p6NDe1cElD6veNc9 +CwwK2QT0G0mQiEYchqjJkqyY8HEak8t+CbIC4Rrhyxh3HI1fCK0WKS9JjbPQFbvG +mfpBZuLPYZYzP4UXIqfBVYctyodcSAnSfmy6tySMqpVSRhjRn4KP0EfHlq7Ec+H3 +nwuqxd0M4vTJlZm+XwYJBzEFzFsCAwEAAaOCAeQwggHgMFgGA1UdIARRME8wCAYG +BACLMAECMEMGCisGAQQBvlgBgxAwNTAzBggrBgEFBQcCARYnaHR0cDovL3d3dy5x +dW92YWRpc2dsb2JhbC5ubC9kb2N1bWVudGVuMCQGCCsGAQUFBwEDBBgwFjAKBggr +BgEFBQcLAjAIBgYEAI5GAQEwdAYIKwYBBQUHAQEEaDBmMCoGCCsGAQUFBzABhh5o +dHRwOi8vb2NzcC5xdW92YWRpc2dsb2JhbC5jb20wOAYIKwYBBQUHMAKGLGh0dHA6 +Ly90cnVzdC5xdW92YWRpc2dsb2JhbC5jb20vcXZldWNhZzIuY3J0MEYGCiqGSIb3 +LwEBCQEEODA2AgEBhjFodHRwOi8vdHNhMDEucXVvdmFkaXNnbG9iYWwuY29tL1RT +Uy9IdHRwVHNwU2VydmVyMBMGCiqGSIb3LwEBCQIEBTADAgEBMA4GA1UdDwEB/wQE +AwIGQDAfBgNVHSMEGDAWgBTg+A751LXyf0kjtsN5x6M1H4Z6iDA7BgNVHR8ENDAy +MDCgLqAshipodHRwOi8vY3JsLnF1b3ZhZGlzZ2xvYmFsLmNvbS9xdmV1Y2FnMi5j +cmwwHQYDVR0OBBYEFDc3hgIFJTDamDEeQczI7Lot4uaVMA0GCSqGSIb3DQEBBQUA +A4ICAQAZ8EZ48RgPimWY6s4LjZf0M2MfVJmNh06Jzmf6fzwYtDtQLKzIDk8Ztosq +YpNNBoZIFICMZguGRAP3kuxWvwANmrb5HqyCzXThZVPJTmKEzZNhsDtKu1almYBs +zqX1UV7IgZp+jBZ7FyXzXrXyF1tzXQxHGobDV3AEE8vdzEZtwDGpZJPnEPCBzifd +Y+lrrL2rDBjbv0VeildgOP1SIlL7dh1O9f0T6T4ioS6uSdMt6b/OWjqHadsSpKry +0A6pqfOqJWAhDiueqgVB7vus6o6sSmfG4SW9EWW+BEZ510HjlQU/JL3PPmf+Xs8s +00sm77LJ/T/1hMUuGp6TtDsJe+pPBpCYvpm6xu9GL20CsArFWUeQ2MSnE1jsrb00 +UniCKslcM63pU7I0VcnWMJQSNY28OmnFESPK6s6zqoN0ZMLhwCVnahi6pouBwTb1 +0M9/Anla9xOT42qxiLr14S2lHy18aLiBSQ4zJKNLqKvIrkjewSfW+00VLBYbPTmt +rHpZUWiCGiRS2SviuEmPVbdWvsBUaq7OMLIfBD4nin1FlmYnaG9TVmWkwVYDsFmQ +epwPDqjPs4efAxzkgUFHWn0gQFbqxRocKrCsOvCDHOHORA97UWcThmgvr0Jl7ipv +P4Px//tRp08blfy4GMzYls5WF8f6JaMrNGmpfPasd9NbpBNp7A==
\ No newline at end of file diff --git a/moaSig/handbook/conf/moa-spss/tslworking/trust/eu/Pierre_Damas_(Signature).20130717-20180714.SerNo1000000000005A04B848690925470777.cer b/moaSig/handbook/conf/moa-spss/tslworking/trust/eu/Pierre_Damas_(Signature).20130717-20180714.SerNo1000000000005A04B848690925470777.cer Binary files differnew file mode 100644 index 0000000..bc706d9 --- /dev/null +++ b/moaSig/handbook/conf/moa-spss/tslworking/trust/eu/Pierre_Damas_(Signature).20130717-20180714.SerNo1000000000005A04B848690925470777.cer diff --git a/moaSig/handbook/handbook/install/install.html b/moaSig/handbook/handbook/install/install.html index 47b64e2..f131f06 100644 --- a/moaSig/handbook/handbook/install/install.html +++ b/moaSig/handbook/handbook/install/install.html @@ -131,7 +131,7 @@ <dt>Installation von Apache Tomcat</dt> <dd> Installieren Sie Apache Tomcat in ein Verzeichnis, das keine Leerzeichen im Pfadnamen enthält. Verwenden Sie bitte die zu Ihrer Java SE passende Distribution von Tomcat. Das Wurzelverzeichnis der Tomcat-Installation wird im weiteren Verlauf als <code>$CATALINA_HOME</code> bezeichnet.</dd> <dt>Entpacken der MOA SP/SS Webservice Distribution</dt> - <dd> Entpacken Sie die Datei <code>moa-spss-2.0.0.zip</code> in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als <code>$MOA_SPSS_INST</code> bezeichnet. </dd> + <dd> Entpacken Sie die Datei <code>moa-spss-3.0.x.zip</code> in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als <code>$MOA_SPSS_INST</code> bezeichnet. </dd> <dt>Installation der Kryptographiebibliotheken von SIC/IAIK</dt> <dd> <p>Kopieren Sie alle Dateien aus dem Verzeichnis <code>$MOA_SPSS_INST/ext</code> in das Verzeichnis <code>$JAVA_HOME/jre/lib/ext</code>. Zusätzlich müssen Sie die Rechtedateien Ihrer Java SE austauschen. Laden Sie dazu die passenden <span class="term">Unlimited Strength @@ -176,6 +176,7 @@ <li>Folgende <span class="term">System Properties</span> können gesetzt werden (wird beim Starten von Tomcat der <span class="term">Java Virtual Machine</span> in der Umgebungsvariablen <code>CATALINA_OPTS</code> in der Form <code>-D<name>=<wert></code> übergeben): <ul> <li id="klein"><code>moa.spss.server.configuration</code>: Pfad und Name der zentralen Konfigurationsdatei für MOA SP/SS. Eine beispielhafte Konfigurationsdatei finden Sie <a href="../../../conf/moa-spss/spss.config.xml">hier</a>. Wird ein relativer Pfad angegeben, wird dieser relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> interpretiert. Ist diese <span class="term">System Property</span> nicht gesetzt, wird automatisch eine im Webarchiv unter <code>WEB-INF/conf</code> enthaltene Default-Konfiguration herangezogen.</li> + <li><code>iaik.esi.sva.configuration.location</code>: Pfad und Name der Konfigurationsdatei für die extendet PDF Validierung von MOA SP/SS. Eine beispielhafte Konfigurationsdatei finden Sie <a href="../../../conf/moa-spss/svaconfig.example">hier</a>. Wird ein relativer Pfad angegeben, wird dieser relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> interpretiert. </li> <li id="klein"><code>log4j.configuration</code>: URL der Log4j Konfigurationsdatei. Eine beispielhafte Log4j-Konfiguration finden Sie <a href="../../../conf/moa-spss/log4j.properties">hier</a>. Wird eine relative URL angegeben, wird diese als File-URL relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> interpretiert. Ist diese <span class="term">System Property</span> nicht gesetzt, wird automatisch eine im Webarchiv unter <code>WEB-INF/classes</code> enthaltene Default-Konfiguration herangezogen.</li> <li id="klein"><code>moa.node.id</code>: Frei wählbarer Name des Rechner-Knotens, auf dem MOA SP/SS läuft. Der Name des Knotens wird bei Log-Ausgaben von MOA SP/SS angeführt und dient zur Unterscheidung mehrerer gleichzeitig betriebener MOA SP/SS Webservice-Instanzen. </li> <li id="klein"><code>javax.net.ssl.trustStore</code>: Pfad und Dateiname des <span class="term">Truststores</span> für vertrauenswürdige SSL Client-Zertifikate (optional; nur, wenn SSL Client-Authentisierung durchgeführt werden soll). Ein relativer Pfad werden relativ zum Startverzeichnis der <span class="term">Java Virtual Machine</span> interpretiert.</li> @@ -385,7 +386,7 @@ INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null> <dt>Installation von Java SE</dt> <dd>Installieren Sie Java SE in ein beliebiges Verzeichnis. Das Wurzelverzeichnis der Java SE Installation wird im weiteren Verlauf als <code>$JAVA_HOME</code> bezeichnet.</dd> <dt>Entpacken der MOA SP/SS Klassenbibliotheks-Distribution</dt> - <dd> Entpacken Sie die Datei <code>moa-spss-2.0.0-lib.zip</code> in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als <code>$MOA_SPSS_INST</code> bezeichnet. </dd> + <dd> Entpacken Sie die Datei <code>moa-spss-3.0.x-lib.zip</code> in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als <code>$MOA_SPSS_INST</code> bezeichnet. </dd> <dt>Installation der Kryptographiebibliotheken von SIC/IAIK</dt> <dd> <p>Kopieren Sie alle Dateien aus dem Verzeichnis <code>$MOA_SPSS_INST/ext</code> in das Verzeichnis <code>$JAVA_HOME/jre/lib/ext</code>. Zusätzlich müssen Sie die Rechtedateien Ihrer Java SE austauschen. Laden Sie dazu die passenden <span class="term">Unlimited Strength diff --git a/moaSig/libs/iaik_eccelerate_addon.jar b/moaSig/libs/iaik_eccelerate_addon.jar Binary files differnew file mode 100644 index 0000000..bd57ff2 --- /dev/null +++ b/moaSig/libs/iaik_eccelerate_addon.jar diff --git a/moaSig/libs/iaik_jsse-4.4.jar b/moaSig/libs/iaik_jsse-4.4.jar Binary files differnew file mode 100644 index 0000000..15b3204 --- /dev/null +++ b/moaSig/libs/iaik_jsse-4.4.jar diff --git a/moaSig/libs/iaik_moa-2.01.jar b/moaSig/libs/iaik_moa-2.01.jar Binary files differnew file mode 100644 index 0000000..52b3b85 --- /dev/null +++ b/moaSig/libs/iaik_moa-2.01.jar diff --git a/moaSig/libs/iaik_pki_module.jar b/moaSig/libs/iaik_pki_module.jar Binary files differindex 6e13efa..cc07059 100644 --- a/moaSig/libs/iaik_pki_module.jar +++ b/moaSig/libs/iaik_pki_module.jar diff --git a/moaSig/libs/iaik_sva.jar b/moaSig/libs/iaik_sva.jar Binary files differnew file mode 100644 index 0000000..220deb5 --- /dev/null +++ b/moaSig/libs/iaik_sva.jar diff --git a/moaSig/libs/iaik_tsl-1.1.jar b/moaSig/libs/iaik_tsl-1.1.jar Binary files differnew file mode 100644 index 0000000..b4eb067 --- /dev/null +++ b/moaSig/libs/iaik_tsl-1.1.jar diff --git a/moaSig/libs/iaik_util-0.23.jar b/moaSig/libs/iaik_util-0.23.jar Binary files differnew file mode 100644 index 0000000..1bc0cde --- /dev/null +++ b/moaSig/libs/iaik_util-0.23.jar diff --git a/moaSig/libs/iaik_xades.jar b/moaSig/libs/iaik_xades.jar Binary files differindex 2ac459c..20ae685 100644 --- a/moaSig/libs/iaik_xades.jar +++ b/moaSig/libs/iaik_xades.jar diff --git a/moaSig/libs/iaik_xsect.jar b/moaSig/libs/iaik_xsect.jar Binary files differindex 1f93b7c..7b05174 100644 --- a/moaSig/libs/iaik_xsect.jar +++ b/moaSig/libs/iaik_xsect.jar diff --git a/moaSig/libs/pdfbox-app-1.8.10.jar b/moaSig/libs/pdfbox-app-1.8.10.jar Binary files differnew file mode 100644 index 0000000..4c6b4f3 --- /dev/null +++ b/moaSig/libs/pdfbox-app-1.8.10.jar diff --git a/moaSig/libs/tsl-lib-2.0.0-RC2.jar b/moaSig/libs/tsl-lib-2.0.0-RC2.jar Binary files differnew file mode 100644 index 0000000..a6e3142 --- /dev/null +++ b/moaSig/libs/tsl-lib-2.0.0-RC2.jar diff --git a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/xmlbind/VerifyASICSignatureResponseBuilder.java b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/xmlbind/VerifyASICSignatureResponseBuilder.java index 856f2d1..50cd261 100644 --- a/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/xmlbind/VerifyASICSignatureResponseBuilder.java +++ b/moaSig/moa-asic/src/main/java/at/gv/egiz/asic/xmlbind/VerifyASICSignatureResponseBuilder.java @@ -128,11 +128,6 @@ public class VerifyASICSignatureResponseBuilder { CheckResult signatureCheck = responseElement.getSignatureCheck(); CheckResult certCheck = responseElement.getCertificateCheck(); - /**TODO: - * add TSL infos to ASIC impl!!!!!! - * - * - */ ResponseBuilderUtils.addSignerInfo( responseDoc, responseElem, @@ -144,7 +139,7 @@ public class VerifyASICSignatureResponseBuilder { signerInfo.isSSCD(), signerInfo.getSSCDSource(), signerInfo.getIssuerCountryCode(), - null); + signerInfo.getTslInfos()); ResponseBuilderUtils.addCodeInfoElement( responseDoc, diff --git a/moaSig/moa-sig-lib/build.gradle b/moaSig/moa-sig-lib/build.gradle index 85ac36c..5cbfba7 100644 --- a/moaSig/moa-sig-lib/build.gradle +++ b/moaSig/moa-sig-lib/build.gradle @@ -15,11 +15,12 @@ dependencies { compile 'commons-io:commons-io:2.4' compile 'commons-codec:commons-codec:1.10' compile 'org.apache.axis:axis-jaxrpc:1.4' - compile 'org.xerial:sqlite-jdbc:3.8.11.2' + compile 'org.xerial:sqlite-jdbc:3.15.1' compile 'javax.xml.bind:jaxb-api:2.2.12' compile 'com.sun.xml.bind:jaxb-core:2.2.11' compile 'com.sun.xml.bind:jaxb-impl:2.2.11' compile 'org.postgresql:postgresql:9.4-1204-jdbc42' + compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.5' } task releases(type: Copy) { diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/common/TslInfos.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/common/TslInfos.java index 9718ada..2a04f96 100644 --- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/common/TslInfos.java +++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/common/TslInfos.java @@ -38,4 +38,12 @@ public interface TslInfos { * @return */ public List<String> getQualifiers(); + + /** + * Gets additional service information for the analyzed certificate + * + * @return + */ + public List<String> getAdditionalServiceInformation(); + } diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SignerInfoImpl.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SignerInfoImpl.java index 69dad89..57a60a6 100644 --- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SignerInfoImpl.java +++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/SignerInfoImpl.java @@ -128,7 +128,7 @@ public class SignerInfoImpl implements SignerInfo { } public String getQCSource() { - if (qcSourceTSL) + if (this.qcSourceTSL) return "TSL"; else return "Certificate"; diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TslInfosImpl.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TslInfosImpl.java index 4c40a5f..fad42e6 100644 --- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TslInfosImpl.java +++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/impl/TslInfosImpl.java @@ -11,16 +11,23 @@ public class TslInfosImpl implements TslInfos { private String tslServiceTypeIdentifier; private String tslServiceTypeStatus; private List<String> tslServiceQualifier = new ArrayList<String>(); + private List<String> tslAdditionalServiceInformation = new ArrayList<String>(); private String tslCountry; - public TslInfosImpl(String country, String tslServiceTypeStatus, String tslServiceTypeIdentifier, List<URI> tslCertificateQualifier) { + public TslInfosImpl(String country, String tslServiceTypeStatus, String tslServiceTypeIdentifier, + List<URI> tslCertificateQualifier, List<String> additionalServiceInformation) { this.tslCountry = country; this.tslServiceTypeStatus = tslServiceTypeStatus; this.tslServiceTypeIdentifier = tslServiceTypeIdentifier; - for (URI el : tslCertificateQualifier) - this.tslServiceQualifier.add(el.toString()); + if (tslCertificateQualifier != null) { + for (URI el : tslCertificateQualifier) + this.tslServiceQualifier.add(el.toString()); + } + + if (additionalServiceInformation != null) + this.tslAdditionalServiceInformation.addAll(additionalServiceInformation); } @@ -45,4 +52,11 @@ public class TslInfosImpl implements TslInfos { return tslServiceQualifier; } + + @Override + public List<String> getAdditionalServiceInformation() { + return this.tslAdditionalServiceInformation; + + } + } diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/ResponseBuilderUtils.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/ResponseBuilderUtils.java index 79a674e..fafbc16 100644 --- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/ResponseBuilderUtils.java +++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/api/xmlbind/ResponseBuilderUtils.java @@ -205,7 +205,21 @@ public class ResponseBuilderUtils { tslInfoElement.appendChild(tslQualifiers); } - + + //append additional service information + if (tslInfos.getAdditionalServiceInformation() != null + && tslInfos.getAdditionalServiceInformation().size() > 0) { + Element tslAdditionalServiceInformations = response.createElementNS(MOA_NS_URI, "AdditionalServiceInformations"); + + for (String el : tslInfos.getAdditionalServiceInformation()) { + Element tslAdditionalServiceInformation = response.createElementNS(MOA_NS_URI, "AdditionalServiceInformation"); + tslAdditionalServiceInformation.setTextContent(el); + tslAdditionalServiceInformations.appendChild(tslAdditionalServiceInformation); + + } + tslInfoElement.appendChild(tslAdditionalServiceInformations); + + } } Element publicAuthorityElem = diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java index 5f3f670..15e44eb 100644 --- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java +++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java @@ -763,6 +763,11 @@ public class ConfigurationPartsBuilder { while ((keyGroupElem = (Element) kgIter.nextNode()) != null) { String keyGroupId = getElementValue(keyGroupElem, CONF + "Id", null); + + //switch all keyGroupIds to lower case, only + if (MiscUtil.isNotEmpty(keyGroupId)) + keyGroupId = keyGroupId.trim().toLowerCase(); + String keyGroupDigestMethodAlgorithm = getElementValue(keyGroupElem, CONF + "DigestMethodAlgorithm", null); Set keyGroupEntries = buildKeyGroupEntries(keyGroupId, keyModuleIds, keyGroupElem); @@ -888,9 +893,9 @@ public class ConfigurationPartsBuilder { keyGroupIter = XPathUtils.selectNodeIterator(mappingElem, CONF + "KeyGroupId"); while ((keyGroupElem = (Element) keyGroupIter.nextNode()) != null) { - String keyGroupId = getElementValue(keyGroupElem, ".", null); - KeyGroup keyGroup = (KeyGroup) keyGroups.get(keyGroupId); - + String keyGroupId = getElementValue(keyGroupElem, ".", null); + KeyGroup keyGroup = (KeyGroup) keyGroups.get(keyGroupId.trim().toLowerCase()); + if (keyGroup != null) { groups.put(keyGroupId, keyGroup); diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.java index 3e074a2..7ae83cb 100644 --- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.java +++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.java @@ -637,9 +637,12 @@ public class ConfigurationProvider return keyGroups; } - public KeyGroup getKeyGroup(String keyGroupId) { - KeyGroup keyGroup = (KeyGroup) keyGroups.get(keyGroupId); - return keyGroup; + public KeyGroup getKeyGroup(String keyGroupId) { + if (MiscUtil.isNotEmpty(keyGroupId)) + return (KeyGroup) keyGroups.get(keyGroupId.trim().toLowerCase()); + + else + return null; } /** diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/config/TrustProfile.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/config/TrustProfile.java index f64643f..0063c7f 100644 --- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/config/TrustProfile.java +++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/config/TrustProfile.java @@ -29,6 +29,8 @@ import java.net.URISyntaxException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.regex.Pattern; +import java.util.regex.PatternSyntaxException; import at.gv.egovernment.moa.sig.tsl.TslConstants; import at.gv.egovernment.moaspss.logging.Logger; @@ -55,7 +57,7 @@ public class TrustProfile { private List<String> countries = new ArrayList<String>(); private List<URI> allowedTspStatus = new ArrayList<URI>(); - private List<URI> allowedTspServiceTypes = new ArrayList<URI>(); + private List<Pattern> allowedTspServiceTypes = new ArrayList<Pattern>(); /** @@ -76,16 +78,21 @@ public class TrustProfile { //TSL configuration parameters this.tslEnabled = tslEnabled; - - setCountries(countries); - Logger.debug("TrustProfile "+ id + " allows " + Arrays.toString(this.countries.toArray()) + " TSL countries"); - - setAllowedTspStatus(allowedTspStatus); - Logger.debug("TrustProfile "+ id + " allows " + Arrays.toString(this.allowedTspStatus.toArray()) + " TSP status identifier"); + + if (tslEnabled) { + setCountries(countries); + if (!this.countries.isEmpty()) + Logger.info("TrustProfile "+ id + " allows " + Arrays.toString(this.countries.toArray()) + " TSL countries"); + else + Logger.info("TrustProfile "+ id + " allows " + "ALL" + " TSL countries"); - setAllowedTspServiceTypes(allowedTspServiceTypes); - Logger.debug("TrustProfile "+ id + " allows " + Arrays.toString(this.allowedTspServiceTypes.toArray()) + " TSL service-type identifier"); - + setAllowedTspStatus(allowedTspStatus); + Logger.info("TrustProfile "+ id + " allows " + Arrays.toString(this.allowedTspStatus.toArray()) + " TSP status identifier"); + + setAllowedTspServiceTypes(allowedTspServiceTypes); + Logger.info("TrustProfile "+ id + " allows " + Arrays.toString(this.allowedTspServiceTypes.toArray()) + " TSL service-type identifier"); + + } } private void setCountries(String countries) { @@ -112,7 +119,7 @@ public class TrustProfile { } } else { - Logger.info("Use default set of TSP Status identifier"); + Logger.debug("Use default set of TSP Status identifier"); this.allowedTspStatus.addAll( Arrays.asList( TslConstants.SERVICE_STATUS_SORT_TO_URI.get(TslConstants.SERVICE_STATUS_SHORT.granted), @@ -129,21 +136,20 @@ public class TrustProfile { String[] ccArray = allowedTspServiceTypes.split(","); for (String el : ccArray) { try { - this.allowedTspStatus.add(new URI(el.trim())); + this.allowedTspServiceTypes.add(Pattern.compile(el.trim())); - } catch (URISyntaxException e) { - Logger.warn("TrustProfile: " + this.id + " contains a non-valid TSP Service-Type identifier (" + el + ")"); + } catch (PatternSyntaxException e) { + Logger.warn("TrustProfile: " + this.id + " contains a non-valid TSP Service-Type identifier Regex pattern(" + el + ")"); } } } else { - Logger.info("Use default set of TSP Service-Type identifier"); - this.allowedTspStatus.addAll( + Logger.debug("Use default set of TSP Service-Type identifier"); + this.allowedTspServiceTypes.addAll( Arrays.asList( - TslConstants.SERVICE_STATUS_SORT_TO_URI.get(TslConstants.SERVICE_TYPE_SHORT.CA_QC), - TslConstants.SERVICE_STATUS_SORT_TO_URI.get(TslConstants.SERVICE_TYPE_SHORT.TSA_QTST))); + Pattern.compile(TslConstants.DEFAULT_REGEX_PATTERN_ALLOW_ALL))); } @@ -199,7 +205,7 @@ public class TrustProfile { return allowedTspStatus; } - public List<URI> getAllowedTspServiceTypes() { + public List<Pattern> getAllowedTspServiceTypes() { return allowedTspServiceTypes; } diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/init/SystemInitializer.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/init/SystemInitializer.java index 8ff0b12..1eb9984 100644 --- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/init/SystemInitializer.java +++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/init/SystemInitializer.java @@ -153,6 +153,7 @@ public class SystemInitializer { TslConfigurationImpl tslConfig = new TslConfigurationImpl(); tslConfig.setEuTslURL(moaSPTslConfig.getEuTSLUrl()); tslConfig.setTslWorkingDirectory(moaSPTslConfig.getWorkingDirectory()); + tslConfig.setNetworkReadTimeout(config.getReadTimeout()); Logger.info(new LogMsg(msg.getMessage("config.41", null))); TSLServiceFactory.initialize(tslConfig); diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationProfileFactory.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationProfileFactory.java index cb77ad1..32eab9e 100644 --- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationProfileFactory.java +++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationProfileFactory.java @@ -28,6 +28,7 @@ import iaik.server.modules.algorithms.HashAlgorithms; import iaik.server.modules.keys.KeyEntryID; import iaik.server.modules.keys.KeyModule; import iaik.server.modules.keys.KeyModuleFactory; +import iaik.server.modules.xml.Canonicalization; import iaik.server.modules.xmlsign.SignatureStructureTypes; import iaik.server.modules.xmlsign.XMLSignatureCreationProfile; import iaik.server.modules.xmlsign.XMLSignatureInsertionLocation; @@ -57,6 +58,7 @@ import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; import at.gv.egovernment.moa.spss.server.config.KeyGroup; import at.gv.egovernment.moa.spss.server.config.KeyGroupEntry; import at.gv.egovernment.moa.spss.server.iaik.xml.CanonicalizationImpl; +import at.gv.egovernment.moa.spss.server.iaik.xml.ExclusiveCanonicalizationImpl; import at.gv.egovernment.moa.spss.server.iaik.xmlsign.DataObjectTreatmentImpl; import at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureCreationProfileImpl; import at.gv.egovernment.moa.spss.server.iaik.xmlsign.XMLSignatureInsertionLocationImpl; @@ -136,7 +138,6 @@ public class XMLSignatureCreationProfileFactory { TransactionContext context = TransactionContextManager.getInstance().getTransactionContext(); ConfigurationProvider config = context.getConfiguration(); - CanonicalizationImpl canonicalization; List dataObjectTreatmentList; Set keySet; List transformationSupplements; @@ -234,9 +235,17 @@ public class XMLSignatureCreationProfileFactory { getSignatureInsertionLocationIndex(singleSignatureInfo)); // set the canonicalization algorithm - canonicalization = - new CanonicalizationImpl(config.getCanonicalizationAlgorithmName()); - profile.setSignedInfoCanonicalization(canonicalization); + String canonicalizationURI = config.getCanonicalizationAlgorithmName(); + if (Canonicalization.ALL_EXCLUSIVE.contains(canonicalizationURI)) { + ExclusiveCanonicalizationImpl canonicalization = new ExclusiveCanonicalizationImpl(config.getCanonicalizationAlgorithmName(), null); + profile.setSignedInfoCanonicalization(canonicalization); + + } else { + CanonicalizationImpl canonicalization = + new CanonicalizationImpl(config.getCanonicalizationAlgorithmName()); + profile.setSignedInfoCanonicalization(canonicalization); + + } // set the signed properties profile.setSignedProperties(Collections.EMPTY_LIST); diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/tsl/TSLServiceFactory.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/tsl/TSLServiceFactory.java index 83bcf3a..223361d 100644 --- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/tsl/TSLServiceFactory.java +++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/tsl/TSLServiceFactory.java @@ -4,9 +4,11 @@ import at.gv.egovernment.moa.sig.tsl.TslClientFactory; import at.gv.egovernment.moa.sig.tsl.api.ITslService; import at.gv.egovernment.moa.sig.tsl.config.TslConfigurationImpl; import at.gv.egovernment.moa.sig.tsl.exception.TslException; +import at.gv.egovernment.moa.sig.tsl.pki.chaining.ChainingTrustStoreHandler; import at.gv.egovernment.moa.spss.util.MessageProvider; import at.gv.egovernment.moaspss.logging.LogMsg; import at.gv.egovernment.moaspss.logging.Logger; +import iaik.pki.store.truststore.TrustStoreFactory; public class TSLServiceFactory { @@ -17,7 +19,9 @@ public class TSLServiceFactory { if (tslClient == null) { try { tslClient = TslClientFactory.buildTslService(config ); - + + TrustStoreFactory.addTrustStoreHandler(new ChainingTrustStoreHandler()); + } catch (TslException e) { Logger.fatal(new LogMsg(MessageProvider.getInstance().getMessage("init.05", new Object[]{e.getMessage()})), e); diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/util/CertificateUtils.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/util/CertificateUtils.java index 0ea0677..ad64052 100644 --- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/util/CertificateUtils.java +++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/util/CertificateUtils.java @@ -19,8 +19,10 @@ import java.util.Arrays; import java.util.Date; import java.util.List; +import at.gv.egovernment.moa.sig.tsl.TslConstants; import at.gv.egovernment.moa.sig.tsl.engine.data.ITslEndEntityResult; import at.gv.egovernment.moa.sig.tsl.exception.TslException; +import at.gv.egovernment.moa.sig.tsl.utils.MiscUtil; import at.gv.egovernment.moa.spss.api.common.TslInfos; import at.gv.egovernment.moa.spss.api.impl.TslInfosImpl; import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; @@ -186,16 +188,25 @@ public class CertificateUtils { } - ITslEndEntityResult tslCheckResult = TSLServiceFactory.getTSLServiceClient().evaluate(Arrays.asList(chain), signingTime); + ITslEndEntityResult tslCheckResult = + TSLServiceFactory.getTSLServiceClient().evaluate( + Arrays.asList(chain), + signingTime, + TslConstants.CHAIN_MODEL); if (tslCheckResult != null) { URI tslServiceTypeIdentifier = tslCheckResult.getEvaluatedServiceTypeIdentifier(); List<URI> tslCertificateQualifier = tslCheckResult.getEvaluatedQualifier(); + // QC evaluation flags boolean qc = false; boolean qcSourceTSL = false; + boolean qcDisallowedFromTSL = false; + + // SSCD/QSCD evaluation flags boolean sscd = false; boolean sscdSourceTSL = false; + //check QC List<URI> allowedQCQualifier = config.getTSLConfiguration().getQualifierForQC(); @@ -207,37 +218,70 @@ public class CertificateUtils { } } + + //check SSCD/QSCD qualifiers and mark result acording this check + List<URI> allowedSSCDQualifier = config.getTSLConfiguration().getQualifierForSSCD(); + if (tslCertificateQualifier != null && allowedSSCDQualifier != null) { + for (URI allowedSSCD : allowedSSCDQualifier) { + for (URI certSSCD : tslCertificateQualifier) { + if (allowedSSCD.equals(certSSCD)) { + sscdSourceTSL = true; + sscd = true; + + } + } + } + } + + //check additional flags in TSP qualifiers for this certificate + if (tslCertificateQualifier != null) { + for (URI qEl : tslCertificateQualifier) { + //check if SSCD/QSCD status must be used from cert + if (qEl.equals( + TslConstants.SSCD_QUALIFIER_SORT_TO_URI.get( + TslConstants.SSCD_QUALIFIER_SHORT.QCQSCDStatusAsInCert)) + || qEl.equals(TslConstants.SSCD_QUALIFIER_SORT_TO_URI.get( + TslConstants.SSCD_QUALIFIER_SHORT.QCSSCDStatusAsInCert))) { + + sscdSourceTSL = false; + sscd = false; + + //check if extentsion includes a NotQualified flag + } else if (qEl.equals( + TslConstants.SSCD_QUALIFIER_SORT_TO_URI.get( + TslConstants.SSCD_QUALIFIER_SHORT.NotQualified))) { + qc = false; + qcSourceTSL = false; + qcDisallowedFromTSL = true; + Logger.info("TSL mark this certificate explicitly as 'NotQualified'!"); + + } + } + } + + //evaluate QC statement according previous selected information if (qcSourceTSL) Logger.debug("Certificate is QC (Source: TSL)"); - + else { - // if QC check via TSL returns false - // try certificate extensions QCP and QcEuCompliance - Logger.debug("QC check via TSL returned false - checking certificate extensions"); - boolean checkQCP = CertificateUtils.checkQCP(chain[0]); - boolean checkQcEuCompliance = CertificateUtils.checkQcEuCompliance(chain[0]); + // if TSL return no service-type identifier us information from certificate + if (tslServiceTypeIdentifier == null || + MiscUtil.isEmpty(tslServiceTypeIdentifier.toString())) { + // try certificate extensions QCP and QcEuCompliance + Logger.debug("QC check via TSL returned false - checking certificate extensions"); + boolean checkQCP = CertificateUtils.checkQCP(chain[0]); + boolean checkQcEuCompliance = CertificateUtils.checkQcEuCompliance(chain[0]); - if (checkQCP || checkQcEuCompliance) { - Logger.debug("Certificate is QC (Source: Certificate)"); - qc = true; + if ((checkQCP || checkQcEuCompliance) && !qcDisallowedFromTSL) { + Logger.debug("Certificate is QC (Source: Certificate)"); + qc = true; - } - + } + } } - //check SSCD - List<URI> allowedSSCDQualifier = config.getTSLConfiguration().getQualifierForSSCD(); - for (URI allowedSSCD : allowedSSCDQualifier) { - for (URI certSSCD : tslCertificateQualifier) { - if (allowedSSCD.equals(certSSCD)) { - sscdSourceTSL = true; - sscd = true; - - } - } - - } + //evaluate SSCD/QSCD results according previous selected information if (sscdSourceTSL) Logger.debug("Certificate is SSCD (Source: TSL)"); @@ -262,7 +306,8 @@ public class CertificateUtils { tslCheckResult.getTerritory(), tslCheckResult.getTspStatus(), tslServiceTypeIdentifier.toString(), - tslCertificateQualifier); + tslCertificateQualifier, + tslCheckResult.getAdditionalServiceInformation()); result.setTslInfos(extTslInfos); return result; diff --git a/moaSig/moa-sig/libs/activation-1.1.jar b/moaSig/moa-sig/libs/activation-1.1.jar Binary files differnew file mode 100644 index 0000000..53f82a1 --- /dev/null +++ b/moaSig/moa-sig/libs/activation-1.1.jar diff --git a/moaSig/moa-sig/libs/axis-jaxrpc-1.4.jar b/moaSig/moa-sig/libs/axis-jaxrpc-1.4.jar Binary files differnew file mode 100644 index 0000000..a2c13d9 --- /dev/null +++ b/moaSig/moa-sig/libs/axis-jaxrpc-1.4.jar diff --git a/moaSig/moa-sig/libs/axis-saaj-1.4.jar b/moaSig/moa-sig/libs/axis-saaj-1.4.jar Binary files differnew file mode 100644 index 0000000..4ea696e --- /dev/null +++ b/moaSig/moa-sig/libs/axis-saaj-1.4.jar diff --git a/moaSig/moa-sig/libs/axis-wsdl4j-1.5.1.jar b/moaSig/moa-sig/libs/axis-wsdl4j-1.5.1.jar Binary files differnew file mode 100644 index 0000000..c6254ee --- /dev/null +++ b/moaSig/moa-sig/libs/axis-wsdl4j-1.5.1.jar diff --git a/moaSig/moa-sig/libs/mail-1.4.jar b/moaSig/moa-sig/libs/mail-1.4.jar Binary files differnew file mode 100644 index 0000000..3b28b6e --- /dev/null +++ b/moaSig/moa-sig/libs/mail-1.4.jar diff --git a/moaSig/moa-sig/src/main/resources/META-INF/aop.xml b/moaSig/moa-sig/src/main/resources/META-INF/aop.xml index 161da84..684ba4b 100644 --- a/moaSig/moa-sig/src/main/resources/META-INF/aop.xml +++ b/moaSig/moa-sig/src/main/resources/META-INF/aop.xml @@ -1,11 +1,12 @@ <aspectj> - <aspects> - <aspect name="at.gv.egovernment.moa.spss.server.webservice.impl.ContextSetupAspect" /> - </aspects> - - <!-- <weaver options="-verbose -debug -showWeaveInfo"> --> - <weaver> - <include within="at.gv.egovernment.moa.spss.server.webservice.impl.*" /> - </weaver> - + <aspects> + <aspect + name="at.gv.egovernment.moa.spss.server.webservice.impl.ContextSetupAspect" /> + </aspects> + + <!-- <weaver options="-verbose -debug -showWeaveInfo"> --> + <weaver> + <include within="at.gv.egovernment.moa.spss.server.webservice.impl.*" /> + </weaver> + </aspectj>
\ No newline at end of file diff --git a/moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SPSS-2.0.0.wsdl b/moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SPSS-2.0.0.wsdl index c1ba365..2bcadc6 100644 --- a/moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SPSS-2.0.0.wsdl +++ b/moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SPSS-2.0.0.wsdl @@ -1,197 +1,200 @@ <?xml version="1.0" encoding="UTF-8"?>
-<!--
- Web Service Description for MOA SP/SS 1.4
--->
-<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:moa="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:xsd="http://www.w3.org/1999/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="MOA" targetNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#">
- <import namespace="http://reference.e-government.gv.at/namespace/moa/20020822#" location="../schemas/MOA-SPSS-2.0.0.xsd"/>
+<!-- Web Service Description for MOA SP/SS 1.4 -->
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:tns="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:moa="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xsd="http://www.w3.org/1999/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ name="MOA" targetNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#">
+ <import namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ location="../schemas/MOA-SPSS-2.0.0.xsd" />
<message name="CreateCMSSignatureInput">
- <part name="body" element="moa:CreateCMSSignatureRequest"/>
+ <part name="body" element="moa:CreateCMSSignatureRequest" />
</message>
<message name="CreateCMSSignatureOutput">
- <part name="body" element="moa:CreateCMSSignatureResponse"/>
+ <part name="body" element="moa:CreateCMSSignatureResponse" />
</message>
- <!-- message name="CreatePDFSignatureInput">
- <part name="body" element="moa:CreatePDFSignatureRequest"/>
- </message>
- <message name="CreatePDFSignatureOutput">
- <part name="body" element="moa:CreatePDFSignatureResponse"/>
- </message-->
+ <!-- message name="CreatePDFSignatureInput"> <part name="body" element="moa:CreatePDFSignatureRequest"/>
+ </message> <message name="CreatePDFSignatureOutput"> <part name="body" element="moa:CreatePDFSignatureResponse"/>
+ </message -->
<message name="CreateXMLSignatureInput">
- <part name="body" element="moa:CreateXMLSignatureRequest"/>
+ <part name="body" element="moa:CreateXMLSignatureRequest" />
</message>
<message name="CreateXMLSignatureOutput">
- <part name="body" element="moa:CreateXMLSignatureResponse"/>
+ <part name="body" element="moa:CreateXMLSignatureResponse" />
</message>
<message name="VerifyCMSSignatureInput">
- <part name="body" element="moa:VerifyCMSSignatureRequest"/>
+ <part name="body" element="moa:VerifyCMSSignatureRequest" />
</message>
<message name="VerifyCMSSignatureOutput">
- <part name="body" element="moa:VerifyCMSSignatureResponse"/>
+ <part name="body" element="moa:VerifyCMSSignatureResponse" />
</message>
<message name="VerifyPDFSignatureInput">
- <part name="body" element="moa:VerifyPDFSignatureRequest"/>
+ <part name="body" element="moa:VerifyPDFSignatureRequest" />
</message>
<message name="VerifyPDFSignatureOutput">
- <part name="body" element="moa:VerifyPDFSignatureResponse"/>
+ <part name="body" element="moa:VerifyPDFSignatureResponse" />
</message>
<message name="VerifyASICSignatureInput">
- <part name="body" element="moa:VerifyASICSignatureRequest"/>
+ <part name="body" element="moa:VerifyASICSignatureRequest" />
</message>
<message name="VerifyASICSignatureOutput">
- <part name="body" element="moa:VerifyASICSignatureResponse"/>
+ <part name="body" element="moa:VerifyASICSignatureResponse" />
</message>
<message name="VerifyXMLSignatureInput">
- <part name="body" element="moa:VerifyXMLSignatureRequest"/>
+ <part name="body" element="moa:VerifyXMLSignatureRequest" />
</message>
<message name="VerifyXMLSignatureOutput">
- <part name="body" element="moa:VerifyXMLSignatureResponse"/>
+ <part name="body" element="moa:VerifyXMLSignatureResponse" />
</message>
<message name="MOAFault">
- <part name="body" element="moa:ErrorResponse"/>
+ <part name="body" element="moa:ErrorResponse" />
</message>
<portType name="SignatureCreationPortType">
<operation name="createXMLSignature">
- <input message="tns:CreateXMLSignatureInput"/>
- <output message="tns:CreateXMLSignatureOutput"/>
- <fault name="MOAFault" message="tns:MOAFault"/>
+ <input message="tns:CreateXMLSignatureInput" />
+ <output message="tns:CreateXMLSignatureOutput" />
+ <fault name="MOAFault" message="tns:MOAFault" />
</operation>
<operation name="createCMSSignature">
- <input message="tns:CreateCMSSignatureInput"/>
- <output message="tns:CreateCMSSignatureOutput"/>
- <fault name="MOAFault" message="tns:MOAFault"/>
+ <input message="tns:CreateCMSSignatureInput" />
+ <output message="tns:CreateCMSSignatureOutput" />
+ <fault name="MOAFault" message="tns:MOAFault" />
</operation>
- <!-- operation name="createPDFSignature">
- <input message="tns:CreatePDFSignatureInput"/>
- <output message="tns:CreatePDFSignatureOutput"/>
- <fault name="MOAFault" message="tns:MOAFault"/>
- </operation-->
+ <!-- operation name="createPDFSignature"> <input message="tns:CreatePDFSignatureInput"/>
+ <output message="tns:CreatePDFSignatureOutput"/> <fault name="MOAFault" message="tns:MOAFault"/>
+ </operation -->
</portType>
<portType name="SignatureVerificationPortType">
<operation name="verifyCMSSignature">
- <input message="tns:VerifyCMSSignatureInput"/>
- <output message="tns:VerifyCMSSignatureOutput"/>
- <fault name="MOAFault" message="tns:MOAFault"/>
+ <input message="tns:VerifyCMSSignatureInput" />
+ <output message="tns:VerifyCMSSignatureOutput" />
+ <fault name="MOAFault" message="tns:MOAFault" />
</operation>
<operation name="verifyXMLSignature">
- <input message="tns:VerifyXMLSignatureInput"/>
- <output message="tns:VerifyXMLSignatureOutput"/>
- <fault name="MOAFault" message="tns:MOAFault"/>
+ <input message="tns:VerifyXMLSignatureInput" />
+ <output message="tns:VerifyXMLSignatureOutput" />
+ <fault name="MOAFault" message="tns:MOAFault" />
</operation>
<operation name="verifyPDFSignature">
- <input message="tns:VerifyPDFSignatureInput"/>
- <output message="tns:VerifyPDFSignatureOutput"/>
- <fault name="MOAFault" message="tns:MOAFault"/>
+ <input message="tns:VerifyPDFSignatureInput" />
+ <output message="tns:VerifyPDFSignatureOutput" />
+ <fault name="MOAFault" message="tns:MOAFault" />
</operation>
<operation name="verifyASICSignature">
- <input message="tns:VerifyASICSignatureInput"/>
- <output message="tns:VerifyASICSignatureOutput"/>
- <fault name="MOAFault" message="tns:MOAFault"/>
+ <input message="tns:VerifyASICSignatureInput" />
+ <output message="tns:VerifyASICSignatureOutput" />
+ <fault name="MOAFault" message="tns:MOAFault" />
</operation>
</portType>
<binding name="SignatureCreationBinding" type="tns:SignatureCreationPortType">
- <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
<operation name="createXMLSignature">
- <soap:operation soapAction="urn:CreateXMLSignatureAction"/>
+ <soap:operation soapAction="urn:CreateXMLSignatureAction" />
<input>
- <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ <soap:body use="literal"
+ namespace="http://reference.e-government.gv.at/namespace/moa/20020822#" />
</input>
<output>
- <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ <soap:body use="literal"
+ namespace="http://reference.e-government.gv.at/namespace/moa/20020822#" />
</output>
<fault name="MOAFault">
- <!-- soap:fault name="" use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/-->
+ <!-- soap:fault name="" use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/ -->
</fault>
</operation>
<operation name="createCMSSignature">
- <soap:operation soapAction="urn:CreateCMSSignatureAction"/>
+ <soap:operation soapAction="urn:CreateCMSSignatureAction" />
<input>
- <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ <soap:body use="literal"
+ namespace="http://reference.e-government.gv.at/namespace/moa/20020822#" />
</input>
<output>
- <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ <soap:body use="literal"
+ namespace="http://reference.e-government.gv.at/namespace/moa/20020822#" />
</output>
<fault name="MOAFault">
- <!-- soap:fault name="" use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/-->
+ <!-- soap:fault name="" use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/ -->
</fault>
</operation>
- <!-- operation name="createPDFSignature">
- <soap:operation soapAction="urn:CreatePDFSignatureAction"/>
- <input>
- <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
- </input>
- <output>
- <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
- </output>
- <fault name="MOAFault"-->
- <!-- soap:fault name="" use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/-->
- <!-- /fault>
- </operation-->
+ <!-- operation name="createPDFSignature"> <soap:operation soapAction="urn:CreatePDFSignatureAction"/>
+ <input> <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ </input> <output> <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ </output> <fault name="MOAFault" -->
+ <!-- soap:fault name="" use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/ -->
+ <!-- /fault> </operation -->
</binding>
<binding name="SignatureVerificationBinding" type="tns:SignatureVerificationPortType">
- <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
<operation name="verifyCMSSignature">
- <soap:operation soapAction="urn:VerifyCMSSignatureAction"/>
+ <soap:operation soapAction="urn:VerifyCMSSignatureAction" />
<input>
- <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ <soap:body use="literal"
+ namespace="http://reference.e-government.gv.at/namespace/moa/20020822#" />
</input>
<output>
- <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ <soap:body use="literal"
+ namespace="http://reference.e-government.gv.at/namespace/moa/20020822#" />
</output>
<fault name="MOAFault">
- <!-- soap:fault name="" use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/-->
+ <!-- soap:fault name="" use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/ -->
</fault>
</operation>
<operation name="verifyXMLSignature">
- <soap:operation soapAction="urn:VerifyXMLSignatureAction"/>
+ <soap:operation soapAction="urn:VerifyXMLSignatureAction" />
<input>
- <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ <soap:body use="literal"
+ namespace="http://reference.e-government.gv.at/namespace/moa/20020822#" />
</input>
<output>
- <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ <soap:body use="literal"
+ namespace="http://reference.e-government.gv.at/namespace/moa/20020822#" />
</output>
<fault name="MOAFault">
- <!-- soap:fault name="" use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/-->
+ <!-- soap:fault name="" use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/ -->
</fault>
</operation>
<operation name="verifyPDFSignature">
- <soap:operation soapAction="urn:VerifyPDFSignatureAction"/>
+ <soap:operation soapAction="urn:VerifyPDFSignatureAction" />
<input>
- <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ <soap:body use="literal"
+ namespace="http://reference.e-government.gv.at/namespace/moa/20020822#" />
</input>
<output>
- <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ <soap:body use="literal"
+ namespace="http://reference.e-government.gv.at/namespace/moa/20020822#" />
</output>
<fault name="MOAFault">
- <!-- soap:fault name="" use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/-->
+ <!-- soap:fault name="" use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/ -->
</fault>
</operation>
<operation name="verifyASICSignature">
- <soap:operation soapAction="urn:VerifyASICSignatureAction"/>
+ <soap:operation soapAction="urn:VerifyASICSignatureAction" />
<input>
- <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ <soap:body use="literal"
+ namespace="http://reference.e-government.gv.at/namespace/moa/20020822#" />
</input>
<output>
- <soap:body use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ <soap:body use="literal"
+ namespace="http://reference.e-government.gv.at/namespace/moa/20020822#" />
</output>
<fault name="MOAFault">
- <!-- soap:fault name="" use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/-->
+ <!-- soap:fault name="" use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/ -->
</fault>
</operation>
</binding>
<service name="SignatureCreationService">
<port name="SignatureCreationPort" binding="tns:SignatureCreationBinding">
- <!--
- Please note that the location URL must be adapted to the actual service URL.
- <soap:address location="http://localhost/moa-spss/services/SignatureCreation"/>
- -->
+ <!-- Please note that the location URL must be adapted to the actual service
+ URL. <soap:address location="http://localhost/moa-spss/services/SignatureCreation"/> -->
</port>
</service>
<service name="SignatureVerificationService">
<port name="SignatureVerificationPort" binding="tns:SignatureVerificationBinding">
- <!--
- Please note that the location URL must be adapted to the actual service URL.
- <soap:address location="http://localhost/moa-spss/services/SignatureVerification"/>
- -->
+ <!-- Please note that the location URL must be adapted to the actual service
+ URL. <soap:address location="http://localhost/moa-spss/services/SignatureVerification"/> -->
</port>
</service>
</definitions>
diff --git a/moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SPSS-2.0.0.xsd b/moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SPSS-2.0.0.xsd index 9f4fe52..b863377 100644 --- a/moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SPSS-2.0.0.xsd +++ b/moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SPSS-2.0.0.xsd @@ -1,71 +1,80 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- - MOA SP/SS 2.0.0 Schema ---> -<xsd:schema xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" targetNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.2"> - <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/> - <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/> - <!--########## Create CMS Signature ###--> - <!--### Create CMS Signature Request ###--> +<!-- MOA SP/SS 2.0.0 Schema --> +<xsd:schema xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + targetNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#" + elementFormDefault="qualified" attributeFormDefault="unqualified" + version="1.2"> + <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" + schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd" /> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2001/xml.xsd" /> + <!--########## Create CMS Signature ### --> + <!--### Create CMS Signature Request ### --> <xsd:element name="CreateCMSSignatureRequest"> <xsd:complexType> <xsd:complexContent> - <xsd:extension base="CreateCMSSignatureRequestType"/> + <xsd:extension base="CreateCMSSignatureRequestType" /> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:complexType name="CreateCMSSignatureRequestType"> <xsd:sequence> - <xsd:element name="KeyIdentifier" type="KeyIdentifierType"/> + <xsd:element name="KeyIdentifier" type="KeyIdentifierType" /> <xsd:element name="SingleSignatureInfo" maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Ermöglichung der Stapelsignatur durch wiederholte Angabe dieses Elements</xsd:documentation> + <xsd:documentation>Ermöglichung der Stapelsignatur durch + wiederholte Angabe dieses Elements</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element name="DataObjectInfo"> <xsd:complexType> <xsd:complexContent> - <xsd:extension base="CMSDataObjectInfoType"/> + <xsd:extension base="CMSDataObjectInfoType" /> </xsd:complexContent> </xsd:complexType> </xsd:element> </xsd:sequence> - <xsd:attribute name="SecurityLayerConformity" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="SecurityLayerConformity" type="xsd:boolean" + use="optional" default="true" /> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> - <!--### Create CMS Signature Response ###--> - <xsd:element name="CreateCMSSignatureResponse" type="CreateCMSSignatureResponseType"/> + <!--### Create CMS Signature Response ### --> + <xsd:element name="CreateCMSSignatureResponse" type="CreateCMSSignatureResponseType" /> <xsd:complexType name="CreateCMSSignatureResponseType"> <xsd:choice maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Kardinalität 1..oo erlaubt die Antwort auf eine Stapelsignatur-Anfrage</xsd:documentation> + <xsd:documentation>Kardinalität 1..oo erlaubt die Antwort auf eine + Stapelsignatur-Anfrage</xsd:documentation> </xsd:annotation> <xsd:element name="CMSSignature" type="xsd:base64Binary"> <xsd:annotation> - <xsd:documentation>Resultat, falls die Signaturerstellung erfolgreich war</xsd:documentation> + <xsd:documentation>Resultat, falls die Signaturerstellung + erfolgreich war</xsd:documentation> </xsd:annotation> </xsd:element> - <xsd:element ref="ErrorResponse"/> + <xsd:element ref="ErrorResponse" /> </xsd:choice> </xsd:complexType> - <!--########## Create XML Signature ###--> - <!--### Create XML Signature Request ###--> + <!--########## Create XML Signature ### --> + <!--### Create XML Signature Request ### --> <xsd:element name="CreateXMLSignatureRequest"> <xsd:complexType> <xsd:complexContent> - <xsd:extension base="CreateXMLSignatureRequestType"/> + <xsd:extension base="CreateXMLSignatureRequestType" /> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:complexType name="CreateXMLSignatureRequestType"> <xsd:sequence> - <xsd:element name="KeyIdentifier" type="KeyIdentifierType"/> + <xsd:element name="KeyIdentifier" type="KeyIdentifierType" /> <xsd:element name="SingleSignatureInfo" maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Ermöglichung der Stapelsignatur durch wiederholte Angabe dieses Elements</xsd:documentation> + <xsd:documentation>Ermöglichung der Stapelsignatur durch + wiederholte Angabe dieses Elements</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> @@ -73,7 +82,8 @@ <xsd:complexType> <xsd:complexContent> <xsd:extension base="DataObjectInfoType"> - <xsd:attribute name="ChildOfManifest" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="ChildOfManifest" type="xsd:boolean" + use="optional" default="false" /> </xsd:extension> </xsd:complexContent> </xsd:complexType> @@ -81,155 +91,192 @@ <xsd:element name="CreateSignatureInfo" minOccurs="0"> <xsd:complexType> <xsd:sequence> - <xsd:element name="CreateSignatureEnvironment" type="ContentOptionalRefType"/> + <xsd:element name="CreateSignatureEnvironment" + type="ContentOptionalRefType" /> <xsd:choice> <xsd:annotation> - <xsd:documentation>Auswahl: Entweder explizite Angabe des Signaturorts sowie ggf. sinnvoller Supplements im Zshg. mit der Signaturumgebung, oder Verweis auf ein benanntes Profil</xsd:documentation> + <xsd:documentation>Auswahl: Entweder explizite Angabe des + Signaturorts sowie ggf. sinnvoller Supplements im Zshg. mit + der Signaturumgebung, oder Verweis auf ein benanntes Profil + </xsd:documentation> </xsd:annotation> - <xsd:element ref="CreateSignatureEnvironmentProfile"/> - <xsd:element name="CreateSignatureEnvironmentProfileID" type="ProfileIdentifierType"/> + <xsd:element ref="CreateSignatureEnvironmentProfile" /> + <xsd:element name="CreateSignatureEnvironmentProfileID" + type="ProfileIdentifierType" /> </xsd:choice> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> - <xsd:attribute name="SecurityLayerConformity" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="SecurityLayerConformity" type="xsd:boolean" + use="optional" default="true" /> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> - <!--### Create XML Signature Response ###--> + <!--### Create XML Signature Response ### --> <xsd:complexType name="CreateXMLSignatureResponseType"> <xsd:choice maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Kardinalität 1..oo erlaubt die Antwort auf eine Stapelsignatur-Anfrage</xsd:documentation> + <xsd:documentation>Kardinalität 1..oo erlaubt die Antwort auf eine + Stapelsignatur-Anfrage</xsd:documentation> </xsd:annotation> <xsd:element name="SignatureEnvironment"> <xsd:annotation> - <xsd:documentation>Resultat, falls die Signaturerstellung erfolgreich war</xsd:documentation> + <xsd:documentation>Resultat, falls die Signaturerstellung + erfolgreich war</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> - <xsd:any namespace="##any" processContents="lax"/> + <xsd:any namespace="##any" processContents="lax" /> </xsd:sequence> </xsd:complexType> </xsd:element> - <xsd:element ref="ErrorResponse"/> + <xsd:element ref="ErrorResponse" /> </xsd:choice> </xsd:complexType> - <xsd:element name="CreateXMLSignatureResponse" type="CreateXMLSignatureResponseType"/> - <!--########## Create PDF Signature ###--> - <!--### Create PDF Signature Request ###--> + <xsd:element name="CreateXMLSignatureResponse" type="CreateXMLSignatureResponseType" /> + <!--########## Create PDF Signature ### --> + <!--### Create PDF Signature Request ### --> <xsd:element name="CreatePDFSignatureRequest"> <xsd:complexType> <xsd:complexContent> - <xsd:extension base="CreatePDFSignatureRequestType"/> + <xsd:extension base="CreatePDFSignatureRequestType" /> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:complexType name="CreatePDFSignatureRequestType"> <xsd:sequence> - <xsd:element name="KeyIdentifier" type="KeyIdentifierType"/> + <xsd:element name="KeyIdentifier" type="KeyIdentifierType" /> <xsd:element name="SingleSignatureInfo" maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Ermöglichung der Stapelsignatur durch wiederholte Angabe dieses Elements</xsd:documentation> + <xsd:documentation>Ermöglichung der Stapelsignatur durch + wiederholte Angabe dieses Elements</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> - <xsd:element name="PDFDocument" type="xsd:base64Binary"/> - <xsd:element name="SignatureProfile" type="xsd:string" minOccurs="0" maxOccurs="1"/> - <xsd:element name="SignaturePosition" type="xsd:string" minOccurs="0" maxOccurs="1"/> - <xsd:element name="SignatureID" type="xsd:string" minOccurs="0" maxOccurs="1"/> + <xsd:element name="PDFDocument" type="xsd:base64Binary" /> + <xsd:element name="SignatureProfile" type="xsd:string" + minOccurs="0" maxOccurs="1" /> + <xsd:element name="SignaturePosition" type="xsd:string" + minOccurs="0" maxOccurs="1" /> + <xsd:element name="SignatureID" type="xsd:string" + minOccurs="0" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> - <!--### Create PDF Signature Response ###--> - <xsd:element name="CreatePDFSignatureResponse" type="CreatePDFSignatureResponseType"/> + <!--### Create PDF Signature Response ### --> + <xsd:element name="CreatePDFSignatureResponse" type="CreatePDFSignatureResponseType" /> <xsd:complexType name="CreatePDFSignatureResponseType"> <xsd:sequence> - <xsd:element name="PDFSignature" type="PDFSignedRepsonse" maxOccurs="unbounded"/> + <xsd:element name="PDFSignature" type="PDFSignedRepsonse" + maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> - <!--########## Verify CMS Signature ###--> - <!--### Verifiy CMS Signature Request ###--> + <!--########## Verify CMS Signature ### --> + <!--### Verifiy CMS Signature Request ### --> <xsd:element name="VerifyCMSSignatureRequest"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="VerifyCMSSignatureRequestType"> - <xsd:attribute name="Signatories" type="SignatoriesType" use="optional" default="1"/> + <xsd:attribute name="Signatories" type="SignatoriesType" + use="optional" default="1" /> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:complexType name="VerifyCMSSignatureRequestType"> <xsd:sequence> - <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/> - <xsd:element name="ExtendedValidation" type="xsd:boolean" minOccurs="0" default="false"/> - <xsd:element name="CMSSignature" type="xsd:base64Binary"/> - <xsd:element name="DataObject" type="CMSDataObjectOptionalMetaType" minOccurs="0"/> + <xsd:element name="DateTime" type="xsd:dateTime" + minOccurs="0" /> + <xsd:element name="ExtendedValidation" type="xsd:boolean" + minOccurs="0" default="false" /> + <xsd:element name="CMSSignature" type="xsd:base64Binary" /> + <xsd:element name="DataObject" type="CMSDataObjectOptionalMetaType" + minOccurs="0" /> <xsd:element name="TrustProfileID" type="xsd:token"> <xsd:annotation> - <xsd:documentation>mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert</xsd:documentation> + <xsd:documentation>mit diesem Profil wird eine Menge von + vertrauenswürdigen Wurzelzertifikaten spezifiziert + </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> - <!--### Verify CMS Signature Response ###--> - <xsd:element name="VerifyCMSSignatureResponse" type="VerifyCMSSignatureResponseType"/> + <!--### Verify CMS Signature Response ### --> + <xsd:element name="VerifyCMSSignatureResponse" type="VerifyCMSSignatureResponseType" /> <xsd:complexType name="VerifyCMSSignatureResponseType"> <xsd:sequence maxOccurs="unbounded"> <xsd:element name="SignerInfo" type="dsig:KeyInfoType"> <xsd:annotation> - <xsd:documentation>only ds:X509Data and RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any;publicAuthority is included as X509Data/any; SecureSignatureCreationDevice is included as X509Data/any, IssuingCountry is included as X509Data/any</xsd:documentation> + <xsd:documentation>only ds:X509Data and RetrievalMethod is + supported; QualifiedCertificate is included as + X509Data/any;publicAuthority is included as X509Data/any; + SecureSignatureCreationDevice is included as X509Data/any, + IssuingCountry is included as X509Data/any</xsd:documentation> </xsd:annotation> </xsd:element> - <xsd:element name="SignatureCheck" type="CheckResultType"/> - <xsd:element name="CertificateCheck" type="CheckResultType"/> - <xsd:element name="FormCheckResult" type="FormResultType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" minOccurs="0" maxOccurs="1"/> + <xsd:element name="SignatureCheck" type="CheckResultType" /> + <xsd:element name="CertificateCheck" type="CheckResultType" /> + <xsd:element name="FormCheckResult" type="FormResultType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" + minOccurs="0" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="VerifyASICCMSSignatureResponseType"> <xsd:sequence maxOccurs="unbounded"> <xsd:element name="SignerInfo" type="dsig:KeyInfoType"> <xsd:annotation> - <xsd:documentation>only ds:X509Data and RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any;publicAuthority is included as X509Data/any; SecureSignatureCreationDevice is included as X509Data/any, IssuingCountry is included as X509Data/any</xsd:documentation> + <xsd:documentation>only ds:X509Data and RetrievalMethod is + supported; QualifiedCertificate is included as + X509Data/any;publicAuthority is included as X509Data/any; + SecureSignatureCreationDevice is included as X509Data/any, + IssuingCountry is included as X509Data/any</xsd:documentation> </xsd:annotation> </xsd:element> - <xsd:element name="SigningTime" type="xsd:dateTime" minOccurs="0"/> - <xsd:element name="SignatureCheck" type="CheckResultType"/> - <xsd:element name="CertificateCheck" type="CheckResultType"/> - <xsd:element name="FormCheckResult" type="FormResultType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" minOccurs="0" maxOccurs="1"/> + <xsd:element name="SigningTime" type="xsd:dateTime" + minOccurs="0" /> + <xsd:element name="SignatureCheck" type="CheckResultType" /> + <xsd:element name="CertificateCheck" type="CheckResultType" /> + <xsd:element name="FormCheckResult" type="FormResultType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" + minOccurs="0" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> - <!--########## Verify PDF Signature ###--> - <!--### Verifiy PDF Signature Request ###--> + <!--########## Verify PDF Signature ### --> + <!--### Verifiy PDF Signature Request ### --> <xsd:element name="VerifyPDFSignatureRequest"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="VerifyPDFSignatureRequestType"> - <xsd:attribute name="Signatories" type="SignatoriesType" use="optional" default="1"/> + <xsd:attribute name="Signatories" type="SignatoriesType" + use="optional" default="1" /> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:complexType name="VerifyPDFSignatureRequestType"> <xsd:sequence> - <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/> - <xsd:element name="ExtendedValidation" type="xsd:boolean" minOccurs="0" default="false"/> - <xsd:element name="PDFSignature" type="xsd:base64Binary"/> + <xsd:element name="DateTime" type="xsd:dateTime" + minOccurs="0" /> + <xsd:element name="ExtendedValidation" type="xsd:boolean" + minOccurs="0" default="false" /> + <xsd:element name="PDFSignature" type="xsd:base64Binary" /> <xsd:element name="TrustProfileID" type="xsd:token"> <xsd:annotation> - <xsd:documentation>mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert</xsd:documentation> + <xsd:documentation>mit diesem Profil wird eine Menge von + vertrauenswürdigen Wurzelzertifikaten spezifiziert + </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> - <!--########## Verify PDF Signature ###--> - <!--### Verifiy ASIC Signature Request ###--> + <!--########## Verify PDF Signature ### --> + <!--### Verifiy ASIC Signature Request ### --> <xsd:element name="VerifyASICSignatureRequest"> <xsd:complexType> <xsd:complexContent> @@ -240,9 +287,11 @@ </xsd:element> <xsd:complexType name="VerifyASICSignatureRequestType"> <xsd:sequence> - <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/> - <xsd:element name="ExtendedValidation" type="xsd:boolean" minOccurs="0" default="false"/> - <xsd:element name="ASICSignature" type="xsd:base64Binary"/> + <xsd:element name="DateTime" type="xsd:dateTime" + minOccurs="0" /> + <xsd:element name="ExtendedValidation" type="xsd:boolean" + minOccurs="0" default="false" /> + <xsd:element name="ASICSignature" type="xsd:base64Binary" /> <xsd:element name="ASICExtension" type="xsd:string"> <xsd:annotation> <xsd:documentation>asics or asice</xsd:documentation> @@ -250,124 +299,169 @@ </xsd:element> <xsd:element name="TrustProfileID" type="xsd:token"> <xsd:annotation> - <xsd:documentation>mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert</xsd:documentation> + <xsd:documentation>mit diesem Profil wird eine Menge von + vertrauenswürdigen Wurzelzertifikaten spezifiziert + </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> - <!--### Verify ASIC Signature Response ###--> - <xsd:element name="VerifyASICSignatureResponse" type="VerifyASICSignatureResponseType"/> + <!--### Verify ASIC Signature Response ### --> + <xsd:element name="VerifyASICSignatureResponse" type="VerifyASICSignatureResponseType" /> <xsd:complexType name="VerifyASICSignatureResponseType"> <xsd:sequence> - <xsd:element name="ASiCSignatureResult" type="ASICResultType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="ASiCSignatureResult" type="ASICResultType" + minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ASICResultType"> <xsd:sequence> - <xsd:element name="signedFiles" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="XMLSignatureResult" type="VerifyASICXMLSignatureResponseType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="CMSSignatureResult" type="VerifyASICCMSSignatureResponseType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="signedFiles" type="xsd:string" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="XMLSignatureResult" type="VerifyASICXMLSignatureResponseType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="CMSSignatureResult" type="VerifyASICCMSSignatureResponseType" + minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> - <!--### Verify CMS Signature Response ###--> - <xsd:element name="VerifyPDFSignatureResponse" type="VerifyPDFSignatureResponseType"/> + <!--### Verify CMS Signature Response ### --> + <xsd:element name="VerifyPDFSignatureResponse" type="VerifyPDFSignatureResponseType" /> <xsd:complexType name="VerifyPDFSignatureResponseType"> <xsd:sequence maxOccurs="unbounded"> - <xsd:element name="SignatureResult" type="PDFSignatureResultType"/> + <xsd:element name="SignatureResult" type="PDFSignatureResultType" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="PDFSignatureResultType"> <xsd:sequence> <xsd:element name="SignerInfo" type="dsig:KeyInfoType"> <xsd:annotation> - <xsd:documentation>only ds:X509Data and RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any;publicAuthority is included as X509Data/any; SecureSignatureCreationDevice is included as X509Data/any, IssuingCountry is included as X509Data/any</xsd:documentation> + <xsd:documentation>only ds:X509Data and RetrievalMethod is + supported; QualifiedCertificate is included as + X509Data/any;publicAuthority is included as X509Data/any; + SecureSignatureCreationDevice is included as X509Data/any, + IssuingCountry is included as X509Data/any</xsd:documentation> </xsd:annotation> </xsd:element> - <xsd:element name="SigningTime" type="xsd:dateTime" minOccurs="0"/> - <xsd:element name="SignatureCheck" type="CheckResultType"/> - <xsd:element name="CertificateCheck" type="CheckResultType"/> - <xsd:element name="FormCheckResult" type="FormResultType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" minOccurs="0" maxOccurs="1"/> + <xsd:element name="SigningTime" type="xsd:dateTime" + minOccurs="0" /> + <xsd:element name="SignatureCheck" type="CheckResultType" /> + <xsd:element name="CertificateCheck" type="CheckResultType" /> + <xsd:element name="FormCheckResult" type="FormResultType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" + minOccurs="0" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> - <!--########## Verify XML Signature ###--> - <!--### Verify XML Signature Request ###--> - <xsd:element name="VerifyXMLSignatureRequest" type="VerifyXMLSignatureRequestType"/> + <!--########## Verify XML Signature ### --> + <!--### Verify XML Signature Request ### --> + <xsd:element name="VerifyXMLSignatureRequest" type="VerifyXMLSignatureRequestType" /> <xsd:complexType name="VerifyXMLSignatureRequestType"> <xsd:sequence> - <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/> - <xsd:element name="ExtendedValidation" type="xsd:boolean" minOccurs="0" default="false"/> + <xsd:element name="DateTime" type="xsd:dateTime" + minOccurs="0" /> + <xsd:element name="ExtendedValidation" type="xsd:boolean" + minOccurs="0" default="false" /> <xsd:element name="VerifySignatureInfo"> <xsd:complexType> <xsd:sequence> - <xsd:element name="VerifySignatureEnvironment" type="ContentOptionalRefType"/> - <xsd:element name="VerifySignatureLocation" type="xsd:token"/> + <xsd:element name="VerifySignatureEnvironment" type="ContentOptionalRefType" /> + <xsd:element name="VerifySignatureLocation" type="xsd:token" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element ref="SupplementProfile"/> - <xsd:element name="SupplementProfileID" type="xsd:string"/> + <xsd:element ref="SupplementProfile" /> + <xsd:element name="SupplementProfileID" type="xsd:string" /> </xsd:choice> - <xsd:element name="SignatureManifestCheckParams" minOccurs="0"> + <xsd:element name="SignatureManifestCheckParams" + minOccurs="0"> <xsd:complexType> <xsd:sequence> - <xsd:element name="ReferenceInfo" type="VerifyTransformsDataType" maxOccurs="unbounded"> + <xsd:element name="ReferenceInfo" type="VerifyTransformsDataType" + maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Pro dsig:Reference-Element in der zu überprüfenden XML-Signatur muss hier ein ReferenceInfo-Element erscheinen. Die Reihenfolge der einzelnen ReferenceInfo Elemente entspricht jener der dsig:Reference Elemente in der XML-Signatur.</xsd:documentation> + <xsd:documentation>Pro dsig:Reference-Element in der zu + überprüfenden XML-Signatur muss hier ein + ReferenceInfo-Element erscheinen. Die Reihenfolge der einzelnen + ReferenceInfo Elemente entspricht jener der dsig:Reference + Elemente in der XML-Signatur.</xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> - <xsd:attribute name="ReturnReferenceInputData" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="ReturnReferenceInputData" type="xsd:boolean" + use="optional" default="true" /> </xsd:complexType> </xsd:element> - <xsd:element name="ReturnHashInputData" minOccurs="0"/> + <xsd:element name="ReturnHashInputData" minOccurs="0" /> <xsd:element name="TrustProfileID" type="xsd:token"> <xsd:annotation> - <xsd:documentation>mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert</xsd:documentation> + <xsd:documentation>mit diesem Profil wird eine Menge von + vertrauenswürdigen Wurzelzertifikaten spezifiziert + </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> - <!--### Verify XML Signature Response ###--> - <xsd:element name="VerifyXMLSignatureResponse" type="VerifyXMLSignatureResponseType"/> + <!--### Verify XML Signature Response ### --> + <xsd:element name="VerifyXMLSignatureResponse" type="VerifyXMLSignatureResponseType" /> <xsd:complexType name="VerifyXMLSignatureResponseType"> <xsd:sequence> <xsd:element name="SignerInfo" type="dsig:KeyInfoType"> <xsd:annotation> - <xsd:documentation>only ds:X509Data and ds:RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any; PublicAuthority is included as X509Data/any; SecureSignatureCreationDevice is included as X509Data/any, IssuingCountry is included as X509Data/any</xsd:documentation> + <xsd:documentation>only ds:X509Data and ds:RetrievalMethod is + supported; QualifiedCertificate is included as X509Data/any; + PublicAuthority is included as X509Data/any; + SecureSignatureCreationDevice is included as X509Data/any, + IssuingCountry is included as X509Data/any</xsd:documentation> </xsd:annotation> </xsd:element> - <xsd:element name="HashInputData" type="InputDataType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="ReferenceInputData" type="InputDataType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="SignatureCheck" type="ReferencesCheckResultType"/> - <xsd:element name="SignatureManifestCheck" type="ReferencesCheckResultType" minOccurs="0"/> - <xsd:element name="XMLDSIGManifestCheck" type="ManifestRefsCheckResultType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="CertificateCheck" type="CheckResultType"/> - <xsd:element name="FormCheckResult" type="FormResultType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" minOccurs="0" maxOccurs="1"/> + <xsd:element name="HashInputData" type="InputDataType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="ReferenceInputData" type="InputDataType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="SignatureCheck" type="ReferencesCheckResultType" /> + <xsd:element name="SignatureManifestCheck" type="ReferencesCheckResultType" + minOccurs="0" /> + <xsd:element name="XMLDSIGManifestCheck" type="ManifestRefsCheckResultType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="CertificateCheck" type="CheckResultType" /> + <xsd:element name="FormCheckResult" type="FormResultType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" + minOccurs="0" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="VerifyASICXMLSignatureResponseType"> <xsd:sequence> <xsd:element name="SignerInfo" type="dsig:KeyInfoType"> <xsd:annotation> - <xsd:documentation>only ds:X509Data and ds:RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any; PublicAuthority is included as X509Data/any; SecureSignatureCreationDevice is included as X509Data/any, IssuingCountry is included as X509Data/any</xsd:documentation> + <xsd:documentation>only ds:X509Data and ds:RetrievalMethod is + supported; QualifiedCertificate is included as X509Data/any; + PublicAuthority is included as X509Data/any; + SecureSignatureCreationDevice is included as X509Data/any, + IssuingCountry is included as X509Data/any</xsd:documentation> </xsd:annotation> </xsd:element> - <xsd:element name="SigningTime" type="xsd:dateTime" minOccurs="0"/> - <xsd:element name="HashInputData" type="InputDataType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="ReferenceInputData" type="InputDataType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="SignatureCheck" type="ReferencesCheckResultType"/> - <xsd:element name="SignatureManifestCheck" type="ReferencesCheckResultType" minOccurs="0"/> - <xsd:element name="XMLDSIGManifestCheck" type="ManifestRefsCheckResultType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="CertificateCheck" type="CheckResultType"/> - <xsd:element name="FormCheckResult" type="FormResultType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" minOccurs="0" maxOccurs="1"/> + <xsd:element name="SigningTime" type="xsd:dateTime" + minOccurs="0" /> + <xsd:element name="HashInputData" type="InputDataType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="ReferenceInputData" type="InputDataType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="SignatureCheck" type="ReferencesCheckResultType" /> + <xsd:element name="SignatureManifestCheck" type="ReferencesCheckResultType" + minOccurs="0" /> + <xsd:element name="XMLDSIGManifestCheck" type="ManifestRefsCheckResultType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="CertificateCheck" type="CheckResultType" /> + <xsd:element name="FormCheckResult" type="FormResultType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" + minOccurs="0" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> <xsd:simpleType name="ProfileIdentifierType"> - <xsd:restriction base="xsd:token"/> + <xsd:restriction base="xsd:token" /> </xsd:simpleType> <xsd:complexType name="InputDataType"> <xsd:complexContent> @@ -375,27 +469,29 @@ <xsd:attribute name="PartOf" use="optional" default="SignedInfo"> <xsd:simpleType> <xsd:restriction base="xsd:token"> - <xsd:enumeration value="SignedInfo"/> - <xsd:enumeration value="XMLDSIGManifest"/> + <xsd:enumeration value="SignedInfo" /> + <xsd:enumeration value="XMLDSIGManifest" /> </xsd:restriction> </xsd:simpleType> </xsd:attribute> - <xsd:attribute name="ReferringSigReference" type="xsd:nonNegativeInteger" use="optional"/> + <xsd:attribute name="ReferringSigReference" type="xsd:nonNegativeInteger" + use="optional" /> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="MetaInfoType"> <xsd:sequence> - <xsd:element name="MimeType" type="MimeTypeType"/> - <xsd:element name="Description" type="xsd:anyURI" minOccurs="0"/> - <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="MimeType" type="MimeTypeType" /> + <xsd:element name="Description" type="xsd:anyURI" + minOccurs="0" /> + <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="FinalDataMetaInfoType"> <xsd:complexContent> <xsd:extension base="MetaInfoType"> <xsd:sequence> - <xsd:element name="Type" type="xsd:anyURI" minOccurs="0"/> + <xsd:element name="Type" type="xsd:anyURI" minOccurs="0" /> </xsd:sequence> </xsd:extension> </xsd:complexContent> @@ -405,23 +501,25 @@ <xsd:element name="DataObject"> <xsd:complexType> <xsd:complexContent> - <xsd:extension base="ContentOptionalRefType"/> + <xsd:extension base="ContentOptionalRefType" /> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:choice> <xsd:annotation> - <xsd:documentation>Auswahl: Entweder explizite Angabe EINER Transformationskette inklusive ggf. sinnvoller Supplements oder Verweis auf ein benanntes Profil</xsd:documentation> + <xsd:documentation>Auswahl: Entweder explizite Angabe EINER + Transformationskette inklusive ggf. sinnvoller Supplements oder + Verweis auf ein benanntes Profil</xsd:documentation> </xsd:annotation> - <xsd:element ref="CreateTransformsInfoProfile"/> - <xsd:element name="CreateTransformsInfoProfileID" type="ProfileIdentifierType"/> + <xsd:element ref="CreateTransformsInfoProfile" /> + <xsd:element name="CreateTransformsInfoProfileID" type="ProfileIdentifierType" /> </xsd:choice> </xsd:sequence> <xsd:attribute name="Structure" use="required"> <xsd:simpleType> <xsd:restriction base="xsd:string"> - <xsd:enumeration value="detached"/> - <xsd:enumeration value="enveloping"/> + <xsd:enumeration value="detached" /> + <xsd:enumeration value="enveloping" /> </xsd:restriction> </xsd:simpleType> </xsd:attribute> @@ -431,7 +529,7 @@ <xsd:element name="DataObject"> <xsd:complexType> <xsd:complexContent> - <xsd:extension base="CMSDataObjectRequiredMetaType"/> + <xsd:extension base="CMSDataObjectRequiredMetaType" /> </xsd:complexContent> </xsd:complexType> </xsd:element> @@ -439,98 +537,113 @@ <xsd:attribute name="Structure" use="required"> <xsd:simpleType> <xsd:restriction base="xsd:string"> - <xsd:enumeration value="detached"/> - <xsd:enumeration value="enveloping"/> + <xsd:enumeration value="detached" /> + <xsd:enumeration value="enveloping" /> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> <xsd:complexType name="TransformsInfoType"> <xsd:sequence> - <xsd:element ref="dsig:Transforms" minOccurs="0"/> - <xsd:element name="FinalDataMetaInfo" type="FinalDataMetaInfoType"/> + <xsd:element ref="dsig:Transforms" minOccurs="0" /> + <xsd:element name="FinalDataMetaInfo" type="FinalDataMetaInfoType" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="XMLDataObjectAssociationType"> <xsd:sequence> - <xsd:element name="MetaInfo" type="MetaInfoType" minOccurs="0"/> - <xsd:element name="Content" type="ContentRequiredRefType"/> + <xsd:element name="MetaInfo" type="MetaInfoType" + minOccurs="0" /> + <xsd:element name="Content" type="ContentRequiredRefType" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="PDFSignedRepsonse"> <xsd:sequence> - <xsd:element name="SignatureID" type="xsd:string" minOccurs="0" maxOccurs="1"/> + <xsd:element name="SignatureID" type="xsd:string" + minOccurs="0" maxOccurs="1" /> <xsd:choice maxOccurs="1"> <xsd:element name="PDFSignature" type="xsd:base64Binary"> <xsd:annotation> - <xsd:documentation>Resultat, falls die Signaturerstellung erfolgreich war</xsd:documentation> + <xsd:documentation>Resultat, falls die Signaturerstellung + erfolgreich war</xsd:documentation> </xsd:annotation> </xsd:element> - <xsd:element ref="ErrorResponse"/> + <xsd:element ref="ErrorResponse" /> </xsd:choice> </xsd:sequence> </xsd:complexType> <xsd:complexType name="CMSDataObjectOptionalMetaType"> <xsd:sequence> - <xsd:element name="MetaInfo" type="MetaInfoType" minOccurs="0"/> - <xsd:element name="Content" type="CMSContentBaseType"/> + <xsd:element name="MetaInfo" type="MetaInfoType" + minOccurs="0" /> + <xsd:element name="Content" type="CMSContentBaseType" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="CMSDataObjectRequiredMetaType"> <xsd:sequence> - <xsd:element name="MetaInfo" type="MetaInfoType"/> - <xsd:element name="Content" type="CMSContentBaseType"/> + <xsd:element name="MetaInfo" type="MetaInfoType" /> + <xsd:element name="Content" type="CMSContentBaseType" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="CMSContentBaseType"> <xsd:complexContent> <xsd:restriction base="ContentOptionalRefType"> <xsd:choice minOccurs="0"> - <xsd:element name="Base64Content" type="xsd:base64Binary"/> + <xsd:element name="Base64Content" type="xsd:base64Binary" /> </xsd:choice> </xsd:restriction> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="CheckResultType"> <xsd:sequence> - <xsd:element name="Code" type="xsd:nonNegativeInteger"/> - <xsd:element name="Info" type="AnyChildrenType" minOccurs="0"/> + <xsd:element name="Code" type="xsd:nonNegativeInteger" /> + <xsd:element name="Info" type="AnyChildrenType" + minOccurs="0" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="FormResultType"> <xsd:sequence> - <xsd:element name="Code" type="xsd:nonNegativeInteger" minOccurs="1" maxOccurs="1"/> - <xsd:element name="Name" type="xsd:string" minOccurs="1" maxOccurs="1"/> + <xsd:element name="Code" type="xsd:nonNegativeInteger" + minOccurs="1" maxOccurs="1" /> + <xsd:element name="Name" type="xsd:string" minOccurs="1" + maxOccurs="1" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="IndicationResultType"> <xsd:sequence> - <xsd:element name="Code" type="xsd:nonNegativeInteger" minOccurs="1" maxOccurs="1"/> - <xsd:element name="Name" type="xsd:string" minOccurs="1" maxOccurs="1"/> + <xsd:element name="Code" type="xsd:nonNegativeInteger" + minOccurs="1" maxOccurs="1" /> + <xsd:element name="Name" type="xsd:string" minOccurs="1" + maxOccurs="1" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ExtendedCertificateCheckResultType"> <xsd:sequence> - <xsd:element name="Major" type="IndicationResultType" minOccurs="1" maxOccurs="1"/> - <xsd:element name="Minor" type="IndicationResultType" minOccurs="0" maxOccurs="1"/> + <xsd:element name="Major" type="IndicationResultType" + minOccurs="1" maxOccurs="1" /> + <xsd:element name="Minor" type="IndicationResultType" + minOccurs="0" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ReferencesCheckResultType"> <xsd:complexContent> <xsd:restriction base="CheckResultType"> <xsd:sequence> - <xsd:element name="Code" type="xsd:nonNegativeInteger"/> - <xsd:element name="Info" type="ReferencesCheckResultInfoType" minOccurs="0"/> + <xsd:element name="Code" type="xsd:nonNegativeInteger" /> + <xsd:element name="Info" type="ReferencesCheckResultInfoType" + minOccurs="0" /> </xsd:sequence> </xsd:restriction> </xsd:complexContent> </xsd:complexType> - <xsd:complexType name="ReferencesCheckResultInfoType" mixed="true"> + <xsd:complexType name="ReferencesCheckResultInfoType" + mixed="true"> <xsd:complexContent> <xsd:restriction base="AnyChildrenType"> <xsd:sequence> - <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="FailedReference" type="xsd:positiveInteger" minOccurs="0" maxOccurs="unbounded"/> + <xsd:any namespace="##other" processContents="lax" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="FailedReference" type="xsd:positiveInteger" + minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:restriction> </xsd:complexContent> @@ -539,73 +652,78 @@ <xsd:complexContent> <xsd:restriction base="CheckResultType"> <xsd:sequence> - <xsd:element name="Code" type="xsd:nonNegativeInteger"/> - <xsd:element name="Info" type="ManifestRefsCheckResultInfoType"/> + <xsd:element name="Code" type="xsd:nonNegativeInteger" /> + <xsd:element name="Info" type="ManifestRefsCheckResultInfoType" /> </xsd:sequence> </xsd:restriction> </xsd:complexContent> </xsd:complexType> - <xsd:complexType name="ManifestRefsCheckResultInfoType" mixed="true"> + <xsd:complexType name="ManifestRefsCheckResultInfoType" + mixed="true"> <xsd:complexContent> <xsd:restriction base="AnyChildrenType"> <xsd:sequence> - <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="FailedReference" type="xsd:positiveInteger" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="ReferringSigReference" type="xsd:positiveInteger"/> + <xsd:any namespace="##other" processContents="lax" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="FailedReference" type="xsd:positiveInteger" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="ReferringSigReference" type="xsd:positiveInteger" /> </xsd:sequence> </xsd:restriction> </xsd:complexContent> </xsd:complexType> - <!--########## Error Response ###--> + <!--########## Error Response ### --> <xsd:element name="ErrorResponse" type="ErrorResponseType"> <xsd:annotation> - <xsd:documentation>Resultat, falls die Signaturerstellung gescheitert ist</xsd:documentation> + <xsd:documentation>Resultat, falls die Signaturerstellung gescheitert + ist</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="ErrorResponseType"> <xsd:sequence> - <xsd:element name="ErrorCode" type="xsd:integer"/> - <xsd:element name="Info" type="xsd:string"/> + <xsd:element name="ErrorCode" type="xsd:integer" /> + <xsd:element name="Info" type="xsd:string" /> </xsd:sequence> </xsd:complexType> - <!--########## Auxiliary Types ###--> + <!--########## Auxiliary Types ### --> <xsd:simpleType name="KeyIdentifierType"> - <xsd:restriction base="xsd:string"/> + <xsd:restriction base="xsd:string" /> </xsd:simpleType> <xsd:simpleType name="KeyStorageType"> <xsd:restriction base="xsd:string"> - <xsd:enumeration value="Software"/> - <xsd:enumeration value="Hardware"/> + <xsd:enumeration value="Software" /> + <xsd:enumeration value="Hardware" /> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="MimeTypeType"> - <xsd:restriction base="xsd:token"/> + <xsd:restriction base="xsd:token" /> </xsd:simpleType> <xsd:complexType name="AnyChildrenType" mixed="true"> <xsd:sequence> - <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + <xsd:any namespace="##any" processContents="lax" minOccurs="0" + maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="XMLContentType" mixed="true"> <xsd:complexContent> <xsd:extension base="AnyChildrenType"> - <xsd:attribute ref="xml:space" use="optional"/> + <xsd:attribute ref="xml:space" use="optional" /> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="ContentBaseType"> <xsd:choice minOccurs="0"> - <xsd:element name="Base64Content" type="xsd:base64Binary"/> - <xsd:element name="XMLContent" type="XMLContentType"/> - <xsd:element name="LocRefContent" type="xsd:anyURI"/> + <xsd:element name="Base64Content" type="xsd:base64Binary" /> + <xsd:element name="XMLContent" type="XMLContentType" /> + <xsd:element name="LocRefContent" type="xsd:anyURI" /> </xsd:choice> </xsd:complexType> <xsd:complexType name="ContentExLocRefBaseType"> <xsd:complexContent> <xsd:restriction base="ContentBaseType"> <xsd:choice minOccurs="0"> - <xsd:element name="Base64Content" type="xsd:base64Binary"/> - <xsd:element name="XMLContent" type="XMLContentType"/> + <xsd:element name="Base64Content" type="xsd:base64Binary" /> + <xsd:element name="XMLContent" type="XMLContentType" /> </xsd:choice> </xsd:restriction> </xsd:complexContent> @@ -613,7 +731,7 @@ <xsd:complexType name="ContentOptionalRefType"> <xsd:complexContent> <xsd:extension base="ContentBaseType"> - <xsd:attribute name="Reference" type="xsd:anyURI" use="optional"/> + <xsd:attribute name="Reference" type="xsd:anyURI" use="optional" /> </xsd:extension> </xsd:complexContent> </xsd:complexType> @@ -621,23 +739,28 @@ <xsd:complexContent> <xsd:restriction base="ContentOptionalRefType"> <xsd:choice minOccurs="0"> - <xsd:element name="Base64Content" type="xsd:base64Binary"/> - <xsd:element name="XMLContent" type="XMLContentType"/> - <xsd:element name="LocRefContent" type="xsd:anyURI"/> + <xsd:element name="Base64Content" type="xsd:base64Binary" /> + <xsd:element name="XMLContent" type="XMLContentType" /> + <xsd:element name="LocRefContent" type="xsd:anyURI" /> </xsd:choice> - <xsd:attribute name="Reference" type="xsd:anyURI" use="required"/> + <xsd:attribute name="Reference" type="xsd:anyURI" use="required" /> </xsd:restriction> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="VerifyTransformsDataType"> <xsd:choice maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Ein oder mehrere Transformationswege können von der Applikation an MOA mitgeteilt werden. Die zu prüfende Signatur hat zumindest einem dieser Transformationswege zu entsprechen. Die Angabe kann explizit oder als Profilbezeichner erfolgen.</xsd:documentation> + <xsd:documentation>Ein oder mehrere Transformationswege können von + der Applikation an MOA mitgeteilt werden. Die zu prüfende Signatur + hat zumindest einem dieser Transformationswege zu entsprechen. Die + Angabe kann explizit oder als Profilbezeichner erfolgen. + </xsd:documentation> </xsd:annotation> - <xsd:element ref="VerifyTransformsInfoProfile"/> + <xsd:element ref="VerifyTransformsInfoProfile" /> <xsd:element name="VerifyTransformsInfoProfileID" type="xsd:string"> <xsd:annotation> - <xsd:documentation>Profilbezeichner für einen Transformationsweg</xsd:documentation> + <xsd:documentation>Profilbezeichner für einen Transformationsweg + </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:choice> @@ -647,8 +770,8 @@ <xsd:attribute name="source" use="optional"> <xsd:simpleType> <xsd:restriction base="xsd:token"> - <xsd:enumeration value="TSL"/> - <xsd:enumeration value="Certificate"/> + <xsd:enumeration value="TSL" /> + <xsd:enumeration value="Certificate" /> </xsd:restriction> </xsd:simpleType> </xsd:attribute> @@ -659,93 +782,107 @@ <xsd:attribute name="source" use="optional"> <xsd:simpleType> <xsd:restriction base="xsd:token"> - <xsd:enumeration value="TSL"/> - <xsd:enumeration value="Certificate"/> + <xsd:enumeration value="TSL" /> + <xsd:enumeration value="Certificate" /> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> - <xsd:element name="IssuingCountry" type="xsd:token"/> - <xsd:element name="PublicAuthority" type="PublicAuthorityType"/> + <xsd:element name="IssuingCountry" type="xsd:token" /> + <xsd:element name="PublicAuthority" type="PublicAuthorityType" /> <xsd:complexType name="PublicAuthorityType"> <xsd:sequence> - <xsd:element name="Code" type="xsd:string" minOccurs="0"/> + <xsd:element name="Code" type="xsd:string" minOccurs="0" /> </xsd:sequence> </xsd:complexType> <xsd:simpleType name="SignatoriesType"> <xsd:union memberTypes="AllSignatoriesType"> <xsd:simpleType> - <xsd:list itemType="xsd:positiveInteger"/> + <xsd:list itemType="xsd:positiveInteger" /> </xsd:simpleType> </xsd:union> </xsd:simpleType> <xsd:simpleType name="AllSignatoriesType"> <xsd:restriction base="xsd:string"> - <xsd:enumeration value="all"/> + <xsd:enumeration value="all" /> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="CreateSignatureLocationType"> <xsd:simpleContent> <xsd:extension base="xsd:token"> - <xsd:attribute name="Index" type="xsd:integer" use="required"/> + <xsd:attribute name="Index" type="xsd:integer" use="required" /> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complexType name="TransformParameterType"> <xsd:choice minOccurs="0"> <xsd:annotation> - <xsd:documentation>Die Angabe des Transformationsparameters (explizit oder als Hashwert) kann unterlassen werden, wenn die Applikation von der Unveränderlichkeit des Inhalts der in "Transformationsparamter", Attribut "URI" angegebenen URI ausgehen kann.</xsd:documentation> + <xsd:documentation>Die Angabe des Transformationsparameters + (explizit oder als Hashwert) kann unterlassen werden, wenn die + Applikation von der Unveränderlichkeit des Inhalts der in + "Transformationsparamter", Attribut "URI" angegebenen URI ausgehen + kann.</xsd:documentation> </xsd:annotation> <xsd:element name="Base64Content" type="xsd:base64Binary"> <xsd:annotation> - <xsd:documentation>Der Transformationsparameter explizit angegeben.</xsd:documentation> + <xsd:documentation>Der Transformationsparameter explizit angegeben. + </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="Hash"> <xsd:annotation> - <xsd:documentation>Der Hashwert des Transformationsparameters.</xsd:documentation> + <xsd:documentation>Der Hashwert des Transformationsparameters. + </xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> - <xsd:element ref="dsig:DigestMethod"/> - <xsd:element ref="dsig:DigestValue"/> + <xsd:element ref="dsig:DigestMethod" /> + <xsd:element ref="dsig:DigestValue" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:choice> - <xsd:attribute name="URI" type="xsd:anyURI" use="required"/> + <xsd:attribute name="URI" type="xsd:anyURI" use="required" /> </xsd:complexType> <xsd:element name="CreateSignatureEnvironmentProfile"> <xsd:complexType> <xsd:sequence> - <xsd:element name="CreateSignatureLocation" type="CreateSignatureLocationType"/> - <xsd:element name="Supplement" type="XMLDataObjectAssociationType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="CreateSignatureLocation" type="CreateSignatureLocationType" /> + <xsd:element name="Supplement" type="XMLDataObjectAssociationType" + minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="VerifyTransformsInfoProfile"> <xsd:annotation> - <xsd:documentation>Explizite Angabe des Transformationswegs</xsd:documentation> + <xsd:documentation>Explizite Angabe des Transformationswegs + </xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> - <xsd:element ref="dsig:Transforms" minOccurs="0"/> - <xsd:element name="TransformParameter" type="TransformParameterType" minOccurs="0" maxOccurs="unbounded"> + <xsd:element ref="dsig:Transforms" minOccurs="0" /> + <xsd:element name="TransformParameter" type="TransformParameterType" + minOccurs="0" maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Alle impliziten Transformationsparameter, die zum Durchlaufen der oben angeführten Transformationskette bekannt sein müssen, müssen hier angeführt werden. Das Attribut "URI" bezeichnet den Transformationsparameter in exakt jener Weise, wie er in der zu überprüfenden Signatur gebraucht wird.</xsd:documentation> + <xsd:documentation>Alle impliziten Transformationsparameter, die + zum Durchlaufen der oben angeführten Transformationskette + bekannt sein müssen, müssen hier angeführt werden. Das + Attribut "URI" bezeichnet den Transformationsparameter in exakt + jener Weise, wie er in der zu überprüfenden Signatur gebraucht + wird.</xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> - <xsd:element name="Supplement" type="XMLDataObjectAssociationType"/> - <xsd:element name="SupplementProfile" type="XMLDataObjectAssociationType"/> + <xsd:element name="Supplement" type="XMLDataObjectAssociationType" /> + <xsd:element name="SupplementProfile" type="XMLDataObjectAssociationType" /> <xsd:element name="CreateTransformsInfoProfile"> <xsd:complexType> <xsd:sequence> - <xsd:element name="CreateTransformsInfo" type="TransformsInfoType"/> - <xsd:element ref="Supplement" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="CreateTransformsInfo" type="TransformsInfoType" /> + <xsd:element ref="Supplement" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> </xsd:element> diff --git a/moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SPSS-3.0.0.xsd b/moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SPSS-3.0.0.xsd index 49255d1..4916b89 100644 --- a/moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SPSS-3.0.0.xsd +++ b/moaSig/moa-sig/src/main/resources/resources/schemas/MOA-SPSS-3.0.0.xsd @@ -1,12 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- - MOA SP/SS 2.0.0 Schema ---> +<!-- MOA SP/SS 2.0.0 Schema --> <xsd:schema xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" targetNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.2"> <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/> - <!--########## Create CMS Signature ###--> - <!--### Create CMS Signature Request ###--> + <!--########## Create CMS Signature ### --> + <!--### Create CMS Signature Request ### --> <xsd:element name="CreateCMSSignatureRequest"> <xsd:complexType> <xsd:complexContent> @@ -19,7 +17,8 @@ <xsd:element name="KeyIdentifier" type="KeyIdentifierType"/> <xsd:element name="SingleSignatureInfo" maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Ermöglichung der Stapelsignatur durch wiederholte Angabe dieses Elements</xsd:documentation> + <xsd:documentation>Ermöglichung der Stapelsignatur durch + wiederholte Angabe dieses Elements</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> @@ -36,23 +35,25 @@ </xsd:element> </xsd:sequence> </xsd:complexType> - <!--### Create CMS Signature Response ###--> + <!--### Create CMS Signature Response ### --> <xsd:element name="CreateCMSSignatureResponse" type="CreateCMSSignatureResponseType"/> <xsd:complexType name="CreateCMSSignatureResponseType"> <xsd:choice maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Kardinalität 1..oo erlaubt die Antwort auf eine Stapelsignatur-Anfrage</xsd:documentation> + <xsd:documentation>Kardinalität 1..oo erlaubt die Antwort auf eine + Stapelsignatur-Anfrage</xsd:documentation> </xsd:annotation> <xsd:element name="CMSSignature" type="xsd:base64Binary"> <xsd:annotation> - <xsd:documentation>Resultat, falls die Signaturerstellung erfolgreich war</xsd:documentation> + <xsd:documentation>Resultat, falls die Signaturerstellung + erfolgreich war</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element ref="ErrorResponse"/> </xsd:choice> </xsd:complexType> - <!--########## Create XML Signature ###--> - <!--### Create XML Signature Request ###--> + <!--########## Create XML Signature ### --> + <!--### Create XML Signature Request ### --> <xsd:element name="CreateXMLSignatureRequest"> <xsd:complexType> <xsd:complexContent> @@ -65,7 +66,8 @@ <xsd:element name="KeyIdentifier" type="KeyIdentifierType"/> <xsd:element name="SingleSignatureInfo" maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Ermöglichung der Stapelsignatur durch wiederholte Angabe dieses Elements</xsd:documentation> + <xsd:documentation>Ermöglichung der Stapelsignatur durch + wiederholte Angabe dieses Elements</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> @@ -84,7 +86,10 @@ <xsd:element name="CreateSignatureEnvironment" type="ContentOptionalRefType"/> <xsd:choice> <xsd:annotation> - <xsd:documentation>Auswahl: Entweder explizite Angabe des Signaturorts sowie ggf. sinnvoller Supplements im Zshg. mit der Signaturumgebung, oder Verweis auf ein benanntes Profil</xsd:documentation> + <xsd:documentation>Auswahl: Entweder explizite Angabe des + Signaturorts sowie ggf. sinnvoller Supplements im Zshg. mit + der Signaturumgebung, oder Verweis auf ein benanntes Profil + </xsd:documentation> </xsd:annotation> <xsd:element ref="CreateSignatureEnvironmentProfile"/> <xsd:element name="CreateSignatureEnvironmentProfileID" type="ProfileIdentifierType"/> @@ -98,15 +103,17 @@ </xsd:element> </xsd:sequence> </xsd:complexType> - <!--### Create XML Signature Response ###--> + <!--### Create XML Signature Response ### --> <xsd:complexType name="CreateXMLSignatureResponseType"> <xsd:choice maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Kardinalität 1..oo erlaubt die Antwort auf eine Stapelsignatur-Anfrage</xsd:documentation> + <xsd:documentation>Kardinalität 1..oo erlaubt die Antwort auf eine + Stapelsignatur-Anfrage</xsd:documentation> </xsd:annotation> <xsd:element name="SignatureEnvironment"> <xsd:annotation> - <xsd:documentation>Resultat, falls die Signaturerstellung erfolgreich war</xsd:documentation> + <xsd:documentation>Resultat, falls die Signaturerstellung + erfolgreich war</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> @@ -118,8 +125,43 @@ </xsd:choice> </xsd:complexType> <xsd:element name="CreateXMLSignatureResponse" type="CreateXMLSignatureResponseType"/> - <!--########## Verify CMS Signature ###--> - <!--### Verifiy CMS Signature Request ###--> + <!--########## Create PDF Signature ### --> + <!--### Create PDF Signature Request ### --> + <xsd:element name="CreatePDFSignatureRequest"> + <xsd:complexType> + <xsd:complexContent> + <xsd:extension base="CreatePDFSignatureRequestType"/> + </xsd:complexContent> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="CreatePDFSignatureRequestType"> + <xsd:sequence> + <xsd:element name="KeyIdentifier" type="KeyIdentifierType"/> + <xsd:element name="SingleSignatureInfo" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation>Ermöglichung der Stapelsignatur durch + wiederholte Angabe dieses Elements</xsd:documentation> + </xsd:annotation> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="PDFDocument" type="xsd:base64Binary"/> + <xsd:element name="SignatureProfile" type="xsd:string" minOccurs="0" maxOccurs="1"/> + <xsd:element name="SignaturePosition" type="xsd:string" minOccurs="0" maxOccurs="1"/> + <xsd:element name="SignatureID" type="xsd:string" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + <!--### Create PDF Signature Response ### --> + <xsd:element name="CreatePDFSignatureResponse" type="CreatePDFSignatureResponseType"/> + <xsd:complexType name="CreatePDFSignatureResponseType"> + <xsd:sequence> + <xsd:element name="PDFSignature" type="PDFSignedRepsonse" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <!--########## Verify CMS Signature ### --> + <!--### Verifiy CMS Signature Request ### --> <xsd:element name="VerifyCMSSignatureRequest"> <xsd:complexType> <xsd:complexContent> @@ -132,34 +174,155 @@ <xsd:complexType name="VerifyCMSSignatureRequestType"> <xsd:sequence> <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/> + <xsd:element name="ExtendedValidation" type="xsd:boolean" default="false" minOccurs="0"/> <xsd:element name="CMSSignature" type="xsd:base64Binary"/> <xsd:element name="DataObject" type="CMSDataObjectOptionalMetaType" minOccurs="0"/> <xsd:element name="TrustProfileID" type="xsd:token"> <xsd:annotation> - <xsd:documentation>mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert</xsd:documentation> + <xsd:documentation>mit diesem Profil wird eine Menge von + vertrauenswürdigen Wurzelzertifikaten spezifiziert + </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> - <!--### Verify CMS Signature Response ###--> + <!--### Verify CMS Signature Response ### --> <xsd:element name="VerifyCMSSignatureResponse" type="VerifyCMSSignatureResponseType"/> <xsd:complexType name="VerifyCMSSignatureResponseType"> <xsd:sequence maxOccurs="unbounded"> <xsd:element name="SignerInfo" type="dsig:KeyInfoType"> <xsd:annotation> - <xsd:documentation>only ds:X509Data and RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any;publicAuthority is included as X509Data/any; SecureSignatureCreationDevice is included as X509Data/any, IssuingCountry is included as X509Data/any</xsd:documentation> + <xsd:documentation>only ds:X509Data and RetrievalMethod is + supported; QualifiedCertificate is included as + X509Data/any;publicAuthority is included as X509Data/any; + SecureSignatureCreationDevice is included as X509Data/any, + IssuingCountry is included as X509Data/any</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="SignatureCheck" type="CheckResultType"/> + <xsd:element name="CertificateCheck" type="CheckResultType"/> + <xsd:element name="FormCheckResult" type="FormResultType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="VerifyASICCMSSignatureResponseType"> + <xsd:sequence maxOccurs="unbounded"> + <xsd:element name="SignerInfo" type="dsig:KeyInfoType"> + <xsd:annotation> + <xsd:documentation>only ds:X509Data and RetrievalMethod is + supported; QualifiedCertificate is included as + X509Data/any;publicAuthority is included as X509Data/any; + SecureSignatureCreationDevice is included as X509Data/any, + IssuingCountry is included as X509Data/any, + TSLInformation is included as X509Data/any</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="SigningTime" type="xsd:dateTime" minOccurs="0"/> + <xsd:element name="SignatureCheck" type="CheckResultType"/> + <xsd:element name="CertificateCheck" type="CheckResultType"/> + <xsd:element name="FormCheckResult" type="FormResultType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <!--########## Verify PDF Signature ### --> + <!--### Verifiy PDF Signature Request ### --> + <xsd:element name="VerifyPDFSignatureRequest"> + <xsd:complexType> + <xsd:complexContent> + <xsd:extension base="VerifyPDFSignatureRequestType"> + <xsd:attribute name="Signatories" type="SignatoriesType" use="optional" default="1"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="VerifyPDFSignatureRequestType"> + <xsd:sequence> + <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/> + <xsd:element name="ExtendedValidation" type="xsd:boolean" default="false" minOccurs="0"/> + <xsd:element name="PDFSignature" type="xsd:base64Binary"/> + <xsd:element name="TrustProfileID" type="xsd:token"> + <xsd:annotation> + <xsd:documentation>mit diesem Profil wird eine Menge von + vertrauenswürdigen Wurzelzertifikaten spezifiziert + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + <!--########## Verify PDF Signature ### --> + <!--### Verifiy ASIC Signature Request ### --> + <xsd:element name="VerifyASICSignatureRequest"> + <xsd:complexType> + <xsd:complexContent> + <xsd:extension base="VerifyASICSignatureRequestType"/> + </xsd:complexContent> + </xsd:complexType> + </xsd:element> + <xsd:complexType name="VerifyASICSignatureRequestType"> + <xsd:sequence> + <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/> + <xsd:element name="ExtendedValidation" type="xsd:boolean" default="false" minOccurs="0"/> + <xsd:element name="ASICSignature" type="xsd:base64Binary"/> + <xsd:element name="ASICExtension" type="xsd:string"> + <xsd:annotation> + <xsd:documentation>asics or asice</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="TrustProfileID" type="xsd:token"> + <xsd:annotation> + <xsd:documentation>mit diesem Profil wird eine Menge von + vertrauenswürdigen Wurzelzertifikaten spezifiziert + </xsd:documentation> + </xsd:annotation> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + <!--### Verify ASIC Signature Response ### --> + <xsd:element name="VerifyASICSignatureResponse" type="VerifyASICSignatureResponseType"/> + <xsd:complexType name="VerifyASICSignatureResponseType"> + <xsd:sequence> + <xsd:element name="ASiCSignatureResult" type="ASICResultType" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="ASICResultType"> + <xsd:sequence> + <xsd:element name="signedFiles" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="XMLSignatureResult" type="VerifyASICXMLSignatureResponseType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="CMSSignatureResult" type="VerifyASICCMSSignatureResponseType" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:complexType> + <!--### Verify CMS Signature Response ### --> + <xsd:element name="VerifyPDFSignatureResponse" type="VerifyPDFSignatureResponseType"/> + <xsd:complexType name="VerifyPDFSignatureResponseType"> + <xsd:sequence maxOccurs="unbounded"> + <xsd:element name="SignatureResult" type="PDFSignatureResultType"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="PDFSignatureResultType"> + <xsd:sequence> + <xsd:element name="SignerInfo" type="dsig:KeyInfoType"> + <xsd:annotation> + <xsd:documentation>only ds:X509Data and RetrievalMethod is + supported; QualifiedCertificate is included as + X509Data/any;publicAuthority is included as X509Data/any; + SecureSignatureCreationDevice is included as X509Data/any, + IssuingCountry is included as X509Data/any</xsd:documentation> </xsd:annotation> </xsd:element> + <xsd:element name="SigningTime" type="xsd:dateTime" minOccurs="0"/> <xsd:element name="SignatureCheck" type="CheckResultType"/> <xsd:element name="CertificateCheck" type="CheckResultType"/> + <xsd:element name="FormCheckResult" type="FormResultType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> - <!--########## Verify XML Signature ###--> - <!--### Verify XML Signature Request ###--> + <!--########## Verify XML Signature ### --> + <!--### Verify XML Signature Request ### --> <xsd:element name="VerifyXMLSignatureRequest" type="VerifyXMLSignatureRequestType"/> <xsd:complexType name="VerifyXMLSignatureRequestType"> <xsd:sequence> <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/> + <xsd:element name="ExtendedValidation" type="xsd:boolean" default="false" minOccurs="0"/> <xsd:element name="VerifySignatureInfo"> <xsd:complexType> <xsd:sequence> @@ -177,7 +340,11 @@ <xsd:sequence> <xsd:element name="ReferenceInfo" type="VerifyTransformsDataType" maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Pro dsig:Reference-Element in der zu überprüfenden XML-Signatur muss hier ein ReferenceInfo-Element erscheinen. Die Reihenfolge der einzelnen ReferenceInfo Elemente entspricht jener der dsig:Reference Elemente in der XML-Signatur.</xsd:documentation> + <xsd:documentation>Pro dsig:Reference-Element in der zu + überprüfenden XML-Signatur muss hier ein + ReferenceInfo-Element erscheinen. Die Reihenfolge der einzelnen + ReferenceInfo Elemente entspricht jener der dsig:Reference + Elemente in der XML-Signatur.</xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> @@ -187,18 +354,24 @@ <xsd:element name="ReturnHashInputData" minOccurs="0"/> <xsd:element name="TrustProfileID" type="xsd:token"> <xsd:annotation> - <xsd:documentation>mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert</xsd:documentation> + <xsd:documentation>mit diesem Profil wird eine Menge von + vertrauenswürdigen Wurzelzertifikaten spezifiziert + </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> - <!--### Verify XML Signature Response ###--> + <!--### Verify XML Signature Response ### --> <xsd:element name="VerifyXMLSignatureResponse" type="VerifyXMLSignatureResponseType"/> <xsd:complexType name="VerifyXMLSignatureResponseType"> <xsd:sequence> <xsd:element name="SignerInfo" type="dsig:KeyInfoType"> <xsd:annotation> - <xsd:documentation>only ds:X509Data and ds:RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any; PublicAuthority is included as X509Data/any; SecureSignatureCreationDevice is included as X509Data/any, IssuingCountry is included as X509Data/any, TSLInformation is included as X509Data/any</xsd:documentation> + <xsd:documentation>only ds:X509Data and ds:RetrievalMethod is + supported; QualifiedCertificate is included as X509Data/any; + PublicAuthority is included as X509Data/any; + SecureSignatureCreationDevice is included as X509Data/any, + IssuingCountry is included as X509Data/any</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="HashInputData" type="InputDataType" minOccurs="0" maxOccurs="unbounded"/> @@ -207,6 +380,30 @@ <xsd:element name="SignatureManifestCheck" type="ReferencesCheckResultType" minOccurs="0"/> <xsd:element name="XMLDSIGManifestCheck" type="ManifestRefsCheckResultType" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="CertificateCheck" type="CheckResultType"/> + <xsd:element name="FormCheckResult" type="FormResultType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="VerifyASICXMLSignatureResponseType"> + <xsd:sequence> + <xsd:element name="SignerInfo" type="dsig:KeyInfoType"> + <xsd:annotation> + <xsd:documentation>only ds:X509Data and ds:RetrievalMethod is + supported; QualifiedCertificate is included as X509Data/any; + PublicAuthority is included as X509Data/any; + SecureSignatureCreationDevice is included as X509Data/any, + IssuingCountry is included as X509Data/any</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="SigningTime" type="xsd:dateTime" minOccurs="0"/> + <xsd:element name="HashInputData" type="InputDataType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="ReferenceInputData" type="InputDataType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="SignatureCheck" type="ReferencesCheckResultType"/> + <xsd:element name="SignatureManifestCheck" type="ReferencesCheckResultType" minOccurs="0"/> + <xsd:element name="XMLDSIGManifestCheck" type="ManifestRefsCheckResultType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="CertificateCheck" type="CheckResultType"/> + <xsd:element name="FormCheckResult" type="FormResultType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <xsd:simpleType name="ProfileIdentifierType"> @@ -254,7 +451,9 @@ </xsd:element> <xsd:choice> <xsd:annotation> - <xsd:documentation>Auswahl: Entweder explizite Angabe EINER Transformationskette inklusive ggf. sinnvoller Supplements oder Verweis auf ein benanntes Profil</xsd:documentation> + <xsd:documentation>Auswahl: Entweder explizite Angabe EINER + Transformationskette inklusive ggf. sinnvoller Supplements oder + Verweis auf ein benanntes Profil</xsd:documentation> </xsd:annotation> <xsd:element ref="CreateTransformsInfoProfile"/> <xsd:element name="CreateTransformsInfoProfileID" type="ProfileIdentifierType"/> @@ -300,24 +499,30 @@ <xsd:element name="Content" type="ContentRequiredRefType"/> </xsd:sequence> </xsd:complexType> + <xsd:complexType name="PDFSignedRepsonse"> + <xsd:sequence> + <xsd:element name="SignatureID" type="xsd:string" minOccurs="0" maxOccurs="1"/> + <xsd:choice maxOccurs="1"> + <xsd:element name="PDFSignature" type="xsd:base64Binary"> + <xsd:annotation> + <xsd:documentation>Resultat, falls die Signaturerstellung + erfolgreich war</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element ref="ErrorResponse"/> + </xsd:choice> + </xsd:sequence> + </xsd:complexType> <xsd:complexType name="CMSDataObjectOptionalMetaType"> <xsd:sequence> <xsd:element name="MetaInfo" type="MetaInfoType" minOccurs="0"/> <xsd:element name="Content" type="CMSContentBaseType"/> - <xsd:element name="ExcludedByteRange" type="ExcludedByteRangeType" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="CMSDataObjectRequiredMetaType"> <xsd:sequence> <xsd:element name="MetaInfo" type="MetaInfoType"/> <xsd:element name="Content" type="CMSContentBaseType"/> - <xsd:element name="ExcludedByteRange" type="ExcludedByteRangeType" minOccurs="0"/> - </xsd:sequence> - </xsd:complexType> - <xsd:complexType name="ExcludedByteRangeType"> - <xsd:sequence> - <xsd:element name="From" type="xsd:unsignedLong"/> - <xsd:element name="To" type="xsd:unsignedLong"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="CMSContentBaseType"> @@ -335,6 +540,24 @@ <xsd:element name="Info" type="AnyChildrenType" minOccurs="0"/> </xsd:sequence> </xsd:complexType> + <xsd:complexType name="FormResultType"> + <xsd:sequence> + <xsd:element name="Code" type="xsd:nonNegativeInteger" minOccurs="1" maxOccurs="1"/> + <xsd:element name="Name" type="xsd:string" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="IndicationResultType"> + <xsd:sequence> + <xsd:element name="Code" type="xsd:nonNegativeInteger" minOccurs="1" maxOccurs="1"/> + <xsd:element name="Name" type="xsd:string" minOccurs="1" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + <xsd:complexType name="ExtendedCertificateCheckResultType"> + <xsd:sequence> + <xsd:element name="Major" type="IndicationResultType" minOccurs="1" maxOccurs="1"/> + <xsd:element name="Minor" type="IndicationResultType" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> <xsd:complexType name="ReferencesCheckResultType"> <xsd:complexContent> <xsd:restriction base="CheckResultType"> @@ -376,10 +599,11 @@ </xsd:restriction> </xsd:complexContent> </xsd:complexType> - <!--########## Error Response ###--> + <!--########## Error Response ### --> <xsd:element name="ErrorResponse" type="ErrorResponseType"> <xsd:annotation> - <xsd:documentation>Resultat, falls die Signaturerstellung gescheitert ist</xsd:documentation> + <xsd:documentation>Resultat, falls die Signaturerstellung gescheitert + ist</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="ErrorResponseType"> @@ -388,7 +612,7 @@ <xsd:element name="Info" type="xsd:string"/> </xsd:sequence> </xsd:complexType> - <!--########## Auxiliary Types ###--> + <!--########## Auxiliary Types ### --> <xsd:simpleType name="KeyIdentifierType"> <xsd:restriction base="xsd:string"/> </xsd:simpleType> @@ -452,12 +676,17 @@ <xsd:complexType name="VerifyTransformsDataType"> <xsd:choice maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Ein oder mehrere Transformationswege können von der Applikation an MOA mitgeteilt werden. Die zu prüfende Signatur hat zumindest einem dieser Transformationswege zu entsprechen. Die Angabe kann explizit oder als Profilbezeichner erfolgen.</xsd:documentation> + <xsd:documentation>Ein oder mehrere Transformationswege können von + der Applikation an MOA mitgeteilt werden. Die zu prüfende Signatur + hat zumindest einem dieser Transformationswege zu entsprechen. Die + Angabe kann explizit oder als Profilbezeichner erfolgen. + </xsd:documentation> </xsd:annotation> <xsd:element ref="VerifyTransformsInfoProfile"/> <xsd:element name="VerifyTransformsInfoProfileID" type="xsd:string"> <xsd:annotation> - <xsd:documentation>Profilbezeichner für einen Transformationsweg</xsd:documentation> + <xsd:documentation>Profilbezeichner für einen Transformationsweg + </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:choice> @@ -515,16 +744,22 @@ <xsd:complexType name="TransformParameterType"> <xsd:choice minOccurs="0"> <xsd:annotation> - <xsd:documentation>Die Angabe des Transformationsparameters (explizit oder als Hashwert) kann unterlassen werden, wenn die Applikation von der Unveränderlichkeit des Inhalts der in "Transformationsparamter", Attribut "URI" angegebenen URI ausgehen kann.</xsd:documentation> + <xsd:documentation>Die Angabe des Transformationsparameters + (explizit oder als Hashwert) kann unterlassen werden, wenn die + Applikation von der Unveränderlichkeit des Inhalts der in + "Transformationsparamter", Attribut "URI" angegebenen URI ausgehen + kann.</xsd:documentation> </xsd:annotation> <xsd:element name="Base64Content" type="xsd:base64Binary"> <xsd:annotation> - <xsd:documentation>Der Transformationsparameter explizit angegeben.</xsd:documentation> + <xsd:documentation>Der Transformationsparameter explizit angegeben. + </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="Hash"> <xsd:annotation> - <xsd:documentation>Der Hashwert des Transformationsparameters.</xsd:documentation> + <xsd:documentation>Der Hashwert des Transformationsparameters. + </xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> @@ -546,14 +781,20 @@ </xsd:element> <xsd:element name="VerifyTransformsInfoProfile"> <xsd:annotation> - <xsd:documentation>Explizite Angabe des Transformationswegs</xsd:documentation> + <xsd:documentation>Explizite Angabe des Transformationswegs + </xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element ref="dsig:Transforms" minOccurs="0"/> <xsd:element name="TransformParameter" type="TransformParameterType" minOccurs="0" maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Alle impliziten Transformationsparameter, die zum Durchlaufen der oben angeführten Transformationskette bekannt sein müssen, müssen hier angeführt werden. Das Attribut "URI" bezeichnet den Transformationsparameter in exakt jener Weise, wie er in der zu überprüfenden Signatur gebraucht wird.</xsd:documentation> + <xsd:documentation>Alle impliziten Transformationsparameter, die + zum Durchlaufen der oben angeführten Transformationskette + bekannt sein müssen, müssen hier angeführt werden. Das + Attribut "URI" bezeichnet den Transformationsparameter in exakt + jener Weise, wie er in der zu überprüfenden Signatur gebraucht + wird.</xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> diff --git a/moaSig/moa-sig/src/main/webapp/WEB-INF/server-config.wsdd b/moaSig/moa-sig/src/main/webapp/WEB-INF/server-config.wsdd index c956f44..db260ef 100644 --- a/moaSig/moa-sig/src/main/webapp/WEB-INF/server-config.wsdd +++ b/moaSig/moa-sig/src/main/webapp/WEB-INF/server-config.wsdd @@ -1,49 +1,52 @@ <?xml version="1.0" encoding="UTF-8"?>
-<!--
- Axis Deployment Descriptor for MOA SP/SS 2
--->
-<deployment name="defaultClientConfig"
- xmlns="http://xml.apache.org/axis/wsdd/"
- xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"
- xmlns:handler="http://xml.apache.org/axis/wsdd/providers/handler">
+<!-- Axis Deployment Descriptor for MOA SP/SS 2 -->
+<deployment name="defaultClientConfig" xmlns="http://xml.apache.org/axis/wsdd/"
+ xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"
+ xmlns:handler="http://xml.apache.org/axis/wsdd/providers/handler">
- <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
- <handler name="MsgDispatcher" type="java:org.apache.axis.providers.java.MsgProvider"/>
- <handler name="HTTPAuthHandler" type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
- <handler name="MOAHandler" type="java:at.gv.egovernment.moa.spss.server.service.AxisHandler"/>
+ <handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper" />
+ <handler name="MsgDispatcher" type="java:org.apache.axis.providers.java.MsgProvider" />
+ <handler name="HTTPAuthHandler"
+ type="java:org.apache.axis.handlers.http.HTTPAuthHandler" />
+ <handler name="MOAHandler"
+ type="java:at.gv.egovernment.moa.spss.server.service.AxisHandler" />
- <service name="SignatureCreation" provider="java:MSG">
- <namespace>http://reference.e-government.gv.at/namespace/moa/20020822#</namespace>
- <parameter name="allowedMethods" value="CreateCMSSignatureRequest CreateXMLSignatureRequest CreatePDFSignatureRequest"/>
- <parameter name="className" value="at.gv.egovernment.moa.spss.server.service.SignatureCreationService"/>
- <wsdlFile>/resources/schemas/MOA-SPSS-2.0.0.wsdl</wsdlFile>
-
- <requestFlow>
- <handler type="MOAHandler"/>
- </requestFlow>
- <responseFlow>
- <handler type="MOAHandler"/>
- </responseFlow>
- </service>
+ <service name="SignatureCreation" provider="java:MSG">
+ <namespace>http://reference.e-government.gv.at/namespace/moa/20020822#</namespace>
+ <parameter name="allowedMethods"
+ value="CreateCMSSignatureRequest CreateXMLSignatureRequest CreatePDFSignatureRequest" />
+ <parameter name="className"
+ value="at.gv.egovernment.moa.spss.server.service.SignatureCreationService" />
+ <wsdlFile>/resources/schemas/MOA-SPSS-2.0.0.wsdl</wsdlFile>
- <service name="SignatureVerification" provider="java:MSG">
- <namespace>http://reference.e-government.gv.at/namespace/moa/20020822#</namespace>
- <parameter name="allowedMethods" value="VerifyCMSSignatureRequest VerifyXMLSignatureRequest VerifyPDFSignatureRequest VerifyASICSignatureRequest"/>
- <parameter name="className" value="at.gv.egovernment.moa.spss.server.service.SignatureVerificationService"/>
- <wsdlFile>/resources/schemas/MOA-SPSS-2.0.0.wsdl</wsdlFile>
- <requestFlow>
- <handler type="MOAHandler"/>
- </requestFlow>
- <responseFlow>
- <handler type="MOAHandler"/>
- </responseFlow>
- </service>
+ <requestFlow>
+ <handler type="MOAHandler" />
+ </requestFlow>
+ <responseFlow>
+ <handler type="MOAHandler" />
+ </responseFlow>
+ </service>
- <transport name="http">
- <requestFlow>
- <handler type="URLMapper"/>
- <handler type="HTTPAuthHandler"/>
- </requestFlow>
- </transport>
+ <service name="SignatureVerification" provider="java:MSG">
+ <namespace>http://reference.e-government.gv.at/namespace/moa/20020822#</namespace>
+ <parameter name="allowedMethods"
+ value="VerifyCMSSignatureRequest VerifyXMLSignatureRequest VerifyPDFSignatureRequest VerifyASICSignatureRequest" />
+ <parameter name="className"
+ value="at.gv.egovernment.moa.spss.server.service.SignatureVerificationService" />
+ <wsdlFile>/resources/schemas/MOA-SPSS-2.0.0.wsdl</wsdlFile>
+ <requestFlow>
+ <handler type="MOAHandler" />
+ </requestFlow>
+ <responseFlow>
+ <handler type="MOAHandler" />
+ </responseFlow>
+ </service>
+
+ <transport name="http">
+ <requestFlow>
+ <handler type="URLMapper" />
+ <handler type="HTTPAuthHandler" />
+ </requestFlow>
+ </transport>
</deployment>
diff --git a/moaSig/moa-sig/src/main/webapp/WEB-INF/web.xml b/moaSig/moa-sig/src/main/webapp/WEB-INF/web.xml index 667f084..910c037 100644 --- a/moaSig/moa-sig/src/main/webapp/WEB-INF/web.xml +++ b/moaSig/moa-sig/src/main/webapp/WEB-INF/web.xml @@ -1,66 +1,61 @@ <?xml version="1.0" encoding="UTF-8"?> <web-app> - <display-name>MOA SP-SS</display-name> - <description>MOA Signature Creation and Verification Services</description> - <servlet> - <servlet-name>ConfigurationServlet</servlet-name> - <display-name>MOA Configuration Servlet</display-name> - <servlet-class>at.gv.egovernment.moa.spss.server.service.ConfigurationServlet</servlet-class> - <load-on-startup>0</load-on-startup> - </servlet> - <servlet> - <servlet-name>AxisServlet</servlet-name> - <display-name>Apache-Axis Servlet</display-name> - <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class> - </servlet> - <!-- servlet> - <servlet-name>SimpleCXFNonSpringServlet</servlet-name> - <display-name>SimpleCXFNonSpringServlet</display-name> - <servlet-class>at.gv.egovernment.moa.spss.server.webservice.impl.SimpleCXFNonSpringServlet</servlet-class> + <display-name>MOA SP-SS</display-name> + <description>MOA Signature Creation and Verification Services</description> + <servlet> + <servlet-name>ConfigurationServlet</servlet-name> + <display-name>MOA Configuration Servlet</display-name> + <servlet-class>at.gv.egovernment.moa.spss.server.service.ConfigurationServlet</servlet-class> + <load-on-startup>0</load-on-startup> + </servlet> + <servlet> + <servlet-name>AxisServlet</servlet-name> + <display-name>Apache-Axis Servlet</display-name> + <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class> + </servlet> + <!-- servlet> <servlet-name>SimpleCXFNonSpringServlet</servlet-name> <display-name>SimpleCXFNonSpringServlet</display-name> + <servlet-class>at.gv.egovernment.moa.spss.server.webservice.impl.SimpleCXFNonSpringServlet</servlet-class> + <load-on-startup>1</load-on-startup> </servlet --> + <servlet> + <servlet-name>CertificateProviderServlet</servlet-name> + <display-name>MOA Certificate Provider Servlet</display-name> + <servlet-class>at.gv.egovernment.moa.spss.server.service.CertificateProviderServlet</servlet-class> <load-on-startup>1</load-on-startup> - </servlet--> - <servlet> - <servlet-name>CertificateProviderServlet</servlet-name> - <display-name>MOA Certificate Provider Servlet</display-name> - <servlet-class>at.gv.egovernment.moa.spss.server.service.CertificateProviderServlet</servlet-class> - <load-on-startup>1</load-on-startup> - </servlet> - <servlet-mapping> - <servlet-name>AxisServlet</servlet-name> - <url-pattern>/services/*</url-pattern> - </servlet-mapping> - <!-- servlet-mapping> - <servlet-name>SimpleCXFNonSpringServlet</servlet-name> - <url-pattern>/services2/*</url-pattern> - </servlet-mapping--> - <servlet-mapping> - <servlet-name>ConfigurationServlet</servlet-name> - <url-pattern>/ConfigurationUpdate</url-pattern> - </servlet-mapping> - <servlet-mapping> - <servlet-name>CertificateProviderServlet</servlet-name> - <url-pattern>/Certificate</url-pattern> - </servlet-mapping> + </servlet> + <servlet-mapping> + <servlet-name>AxisServlet</servlet-name> + <url-pattern>/services/*</url-pattern> + </servlet-mapping> + <!-- servlet-mapping> <servlet-name>SimpleCXFNonSpringServlet</servlet-name> + <url-pattern>/services2/*</url-pattern> </servlet-mapping --> + <servlet-mapping> + <servlet-name>ConfigurationServlet</servlet-name> + <url-pattern>/ConfigurationUpdate</url-pattern> + </servlet-mapping> + <servlet-mapping> + <servlet-name>CertificateProviderServlet</servlet-name> + <url-pattern>/Certificate</url-pattern> + </servlet-mapping> - <security-constraint> - <web-resource-collection> - <web-resource-name>ConfigurationUpdate</web-resource-name> - <url-pattern>/ConfigurationUpdate</url-pattern> - </web-resource-collection> - <auth-constraint> - <role-name>moa-admin</role-name> - </auth-constraint> - </security-constraint> + <security-constraint> + <web-resource-collection> + <web-resource-name>ConfigurationUpdate</web-resource-name> + <url-pattern>/ConfigurationUpdate</url-pattern> + </web-resource-collection> + <auth-constraint> + <role-name>moa-admin</role-name> + </auth-constraint> + </security-constraint> - <login-config> - <auth-method>BASIC</auth-method> - <realm-name>UserDatabase</realm-name> - </login-config> + <login-config> + <auth-method>BASIC</auth-method> + <realm-name>UserDatabase</realm-name> + </login-config> - <security-role> - <description> - The role that is required to log in to the moa Application - </description> - <role-name>moa-admin</role-name> - </security-role> + <security-role> + <description> + The role that is required to log in to the moa Application + </description> + <role-name>moa-admin</role-name> + </security-role> </web-app> diff --git a/moaSig/moa-sig/src/main/webapp/schemas/MOA-SPSS-2.0.0.xsd b/moaSig/moa-sig/src/main/webapp/schemas/MOA-SPSS-2.0.0.xsd index 9f4fe52..b863377 100644 --- a/moaSig/moa-sig/src/main/webapp/schemas/MOA-SPSS-2.0.0.xsd +++ b/moaSig/moa-sig/src/main/webapp/schemas/MOA-SPSS-2.0.0.xsd @@ -1,71 +1,80 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- - MOA SP/SS 2.0.0 Schema ---> -<xsd:schema xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" targetNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.2"> - <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/> - <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/> - <!--########## Create CMS Signature ###--> - <!--### Create CMS Signature Request ###--> +<!-- MOA SP/SS 2.0.0 Schema --> +<xsd:schema xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" + targetNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#" + elementFormDefault="qualified" attributeFormDefault="unqualified" + version="1.2"> + <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" + schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd" /> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2001/xml.xsd" /> + <!--########## Create CMS Signature ### --> + <!--### Create CMS Signature Request ### --> <xsd:element name="CreateCMSSignatureRequest"> <xsd:complexType> <xsd:complexContent> - <xsd:extension base="CreateCMSSignatureRequestType"/> + <xsd:extension base="CreateCMSSignatureRequestType" /> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:complexType name="CreateCMSSignatureRequestType"> <xsd:sequence> - <xsd:element name="KeyIdentifier" type="KeyIdentifierType"/> + <xsd:element name="KeyIdentifier" type="KeyIdentifierType" /> <xsd:element name="SingleSignatureInfo" maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Ermöglichung der Stapelsignatur durch wiederholte Angabe dieses Elements</xsd:documentation> + <xsd:documentation>Ermöglichung der Stapelsignatur durch + wiederholte Angabe dieses Elements</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element name="DataObjectInfo"> <xsd:complexType> <xsd:complexContent> - <xsd:extension base="CMSDataObjectInfoType"/> + <xsd:extension base="CMSDataObjectInfoType" /> </xsd:complexContent> </xsd:complexType> </xsd:element> </xsd:sequence> - <xsd:attribute name="SecurityLayerConformity" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="SecurityLayerConformity" type="xsd:boolean" + use="optional" default="true" /> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> - <!--### Create CMS Signature Response ###--> - <xsd:element name="CreateCMSSignatureResponse" type="CreateCMSSignatureResponseType"/> + <!--### Create CMS Signature Response ### --> + <xsd:element name="CreateCMSSignatureResponse" type="CreateCMSSignatureResponseType" /> <xsd:complexType name="CreateCMSSignatureResponseType"> <xsd:choice maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Kardinalität 1..oo erlaubt die Antwort auf eine Stapelsignatur-Anfrage</xsd:documentation> + <xsd:documentation>Kardinalität 1..oo erlaubt die Antwort auf eine + Stapelsignatur-Anfrage</xsd:documentation> </xsd:annotation> <xsd:element name="CMSSignature" type="xsd:base64Binary"> <xsd:annotation> - <xsd:documentation>Resultat, falls die Signaturerstellung erfolgreich war</xsd:documentation> + <xsd:documentation>Resultat, falls die Signaturerstellung + erfolgreich war</xsd:documentation> </xsd:annotation> </xsd:element> - <xsd:element ref="ErrorResponse"/> + <xsd:element ref="ErrorResponse" /> </xsd:choice> </xsd:complexType> - <!--########## Create XML Signature ###--> - <!--### Create XML Signature Request ###--> + <!--########## Create XML Signature ### --> + <!--### Create XML Signature Request ### --> <xsd:element name="CreateXMLSignatureRequest"> <xsd:complexType> <xsd:complexContent> - <xsd:extension base="CreateXMLSignatureRequestType"/> + <xsd:extension base="CreateXMLSignatureRequestType" /> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:complexType name="CreateXMLSignatureRequestType"> <xsd:sequence> - <xsd:element name="KeyIdentifier" type="KeyIdentifierType"/> + <xsd:element name="KeyIdentifier" type="KeyIdentifierType" /> <xsd:element name="SingleSignatureInfo" maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Ermöglichung der Stapelsignatur durch wiederholte Angabe dieses Elements</xsd:documentation> + <xsd:documentation>Ermöglichung der Stapelsignatur durch + wiederholte Angabe dieses Elements</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> @@ -73,7 +82,8 @@ <xsd:complexType> <xsd:complexContent> <xsd:extension base="DataObjectInfoType"> - <xsd:attribute name="ChildOfManifest" type="xsd:boolean" use="optional" default="false"/> + <xsd:attribute name="ChildOfManifest" type="xsd:boolean" + use="optional" default="false" /> </xsd:extension> </xsd:complexContent> </xsd:complexType> @@ -81,155 +91,192 @@ <xsd:element name="CreateSignatureInfo" minOccurs="0"> <xsd:complexType> <xsd:sequence> - <xsd:element name="CreateSignatureEnvironment" type="ContentOptionalRefType"/> + <xsd:element name="CreateSignatureEnvironment" + type="ContentOptionalRefType" /> <xsd:choice> <xsd:annotation> - <xsd:documentation>Auswahl: Entweder explizite Angabe des Signaturorts sowie ggf. sinnvoller Supplements im Zshg. mit der Signaturumgebung, oder Verweis auf ein benanntes Profil</xsd:documentation> + <xsd:documentation>Auswahl: Entweder explizite Angabe des + Signaturorts sowie ggf. sinnvoller Supplements im Zshg. mit + der Signaturumgebung, oder Verweis auf ein benanntes Profil + </xsd:documentation> </xsd:annotation> - <xsd:element ref="CreateSignatureEnvironmentProfile"/> - <xsd:element name="CreateSignatureEnvironmentProfileID" type="ProfileIdentifierType"/> + <xsd:element ref="CreateSignatureEnvironmentProfile" /> + <xsd:element name="CreateSignatureEnvironmentProfileID" + type="ProfileIdentifierType" /> </xsd:choice> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> - <xsd:attribute name="SecurityLayerConformity" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="SecurityLayerConformity" type="xsd:boolean" + use="optional" default="true" /> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> - <!--### Create XML Signature Response ###--> + <!--### Create XML Signature Response ### --> <xsd:complexType name="CreateXMLSignatureResponseType"> <xsd:choice maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Kardinalität 1..oo erlaubt die Antwort auf eine Stapelsignatur-Anfrage</xsd:documentation> + <xsd:documentation>Kardinalität 1..oo erlaubt die Antwort auf eine + Stapelsignatur-Anfrage</xsd:documentation> </xsd:annotation> <xsd:element name="SignatureEnvironment"> <xsd:annotation> - <xsd:documentation>Resultat, falls die Signaturerstellung erfolgreich war</xsd:documentation> + <xsd:documentation>Resultat, falls die Signaturerstellung + erfolgreich war</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> - <xsd:any namespace="##any" processContents="lax"/> + <xsd:any namespace="##any" processContents="lax" /> </xsd:sequence> </xsd:complexType> </xsd:element> - <xsd:element ref="ErrorResponse"/> + <xsd:element ref="ErrorResponse" /> </xsd:choice> </xsd:complexType> - <xsd:element name="CreateXMLSignatureResponse" type="CreateXMLSignatureResponseType"/> - <!--########## Create PDF Signature ###--> - <!--### Create PDF Signature Request ###--> + <xsd:element name="CreateXMLSignatureResponse" type="CreateXMLSignatureResponseType" /> + <!--########## Create PDF Signature ### --> + <!--### Create PDF Signature Request ### --> <xsd:element name="CreatePDFSignatureRequest"> <xsd:complexType> <xsd:complexContent> - <xsd:extension base="CreatePDFSignatureRequestType"/> + <xsd:extension base="CreatePDFSignatureRequestType" /> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:complexType name="CreatePDFSignatureRequestType"> <xsd:sequence> - <xsd:element name="KeyIdentifier" type="KeyIdentifierType"/> + <xsd:element name="KeyIdentifier" type="KeyIdentifierType" /> <xsd:element name="SingleSignatureInfo" maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Ermöglichung der Stapelsignatur durch wiederholte Angabe dieses Elements</xsd:documentation> + <xsd:documentation>Ermöglichung der Stapelsignatur durch + wiederholte Angabe dieses Elements</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> - <xsd:element name="PDFDocument" type="xsd:base64Binary"/> - <xsd:element name="SignatureProfile" type="xsd:string" minOccurs="0" maxOccurs="1"/> - <xsd:element name="SignaturePosition" type="xsd:string" minOccurs="0" maxOccurs="1"/> - <xsd:element name="SignatureID" type="xsd:string" minOccurs="0" maxOccurs="1"/> + <xsd:element name="PDFDocument" type="xsd:base64Binary" /> + <xsd:element name="SignatureProfile" type="xsd:string" + minOccurs="0" maxOccurs="1" /> + <xsd:element name="SignaturePosition" type="xsd:string" + minOccurs="0" maxOccurs="1" /> + <xsd:element name="SignatureID" type="xsd:string" + minOccurs="0" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> - <!--### Create PDF Signature Response ###--> - <xsd:element name="CreatePDFSignatureResponse" type="CreatePDFSignatureResponseType"/> + <!--### Create PDF Signature Response ### --> + <xsd:element name="CreatePDFSignatureResponse" type="CreatePDFSignatureResponseType" /> <xsd:complexType name="CreatePDFSignatureResponseType"> <xsd:sequence> - <xsd:element name="PDFSignature" type="PDFSignedRepsonse" maxOccurs="unbounded"/> + <xsd:element name="PDFSignature" type="PDFSignedRepsonse" + maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> - <!--########## Verify CMS Signature ###--> - <!--### Verifiy CMS Signature Request ###--> + <!--########## Verify CMS Signature ### --> + <!--### Verifiy CMS Signature Request ### --> <xsd:element name="VerifyCMSSignatureRequest"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="VerifyCMSSignatureRequestType"> - <xsd:attribute name="Signatories" type="SignatoriesType" use="optional" default="1"/> + <xsd:attribute name="Signatories" type="SignatoriesType" + use="optional" default="1" /> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:complexType name="VerifyCMSSignatureRequestType"> <xsd:sequence> - <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/> - <xsd:element name="ExtendedValidation" type="xsd:boolean" minOccurs="0" default="false"/> - <xsd:element name="CMSSignature" type="xsd:base64Binary"/> - <xsd:element name="DataObject" type="CMSDataObjectOptionalMetaType" minOccurs="0"/> + <xsd:element name="DateTime" type="xsd:dateTime" + minOccurs="0" /> + <xsd:element name="ExtendedValidation" type="xsd:boolean" + minOccurs="0" default="false" /> + <xsd:element name="CMSSignature" type="xsd:base64Binary" /> + <xsd:element name="DataObject" type="CMSDataObjectOptionalMetaType" + minOccurs="0" /> <xsd:element name="TrustProfileID" type="xsd:token"> <xsd:annotation> - <xsd:documentation>mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert</xsd:documentation> + <xsd:documentation>mit diesem Profil wird eine Menge von + vertrauenswürdigen Wurzelzertifikaten spezifiziert + </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> - <!--### Verify CMS Signature Response ###--> - <xsd:element name="VerifyCMSSignatureResponse" type="VerifyCMSSignatureResponseType"/> + <!--### Verify CMS Signature Response ### --> + <xsd:element name="VerifyCMSSignatureResponse" type="VerifyCMSSignatureResponseType" /> <xsd:complexType name="VerifyCMSSignatureResponseType"> <xsd:sequence maxOccurs="unbounded"> <xsd:element name="SignerInfo" type="dsig:KeyInfoType"> <xsd:annotation> - <xsd:documentation>only ds:X509Data and RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any;publicAuthority is included as X509Data/any; SecureSignatureCreationDevice is included as X509Data/any, IssuingCountry is included as X509Data/any</xsd:documentation> + <xsd:documentation>only ds:X509Data and RetrievalMethod is + supported; QualifiedCertificate is included as + X509Data/any;publicAuthority is included as X509Data/any; + SecureSignatureCreationDevice is included as X509Data/any, + IssuingCountry is included as X509Data/any</xsd:documentation> </xsd:annotation> </xsd:element> - <xsd:element name="SignatureCheck" type="CheckResultType"/> - <xsd:element name="CertificateCheck" type="CheckResultType"/> - <xsd:element name="FormCheckResult" type="FormResultType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" minOccurs="0" maxOccurs="1"/> + <xsd:element name="SignatureCheck" type="CheckResultType" /> + <xsd:element name="CertificateCheck" type="CheckResultType" /> + <xsd:element name="FormCheckResult" type="FormResultType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" + minOccurs="0" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="VerifyASICCMSSignatureResponseType"> <xsd:sequence maxOccurs="unbounded"> <xsd:element name="SignerInfo" type="dsig:KeyInfoType"> <xsd:annotation> - <xsd:documentation>only ds:X509Data and RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any;publicAuthority is included as X509Data/any; SecureSignatureCreationDevice is included as X509Data/any, IssuingCountry is included as X509Data/any</xsd:documentation> + <xsd:documentation>only ds:X509Data and RetrievalMethod is + supported; QualifiedCertificate is included as + X509Data/any;publicAuthority is included as X509Data/any; + SecureSignatureCreationDevice is included as X509Data/any, + IssuingCountry is included as X509Data/any</xsd:documentation> </xsd:annotation> </xsd:element> - <xsd:element name="SigningTime" type="xsd:dateTime" minOccurs="0"/> - <xsd:element name="SignatureCheck" type="CheckResultType"/> - <xsd:element name="CertificateCheck" type="CheckResultType"/> - <xsd:element name="FormCheckResult" type="FormResultType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" minOccurs="0" maxOccurs="1"/> + <xsd:element name="SigningTime" type="xsd:dateTime" + minOccurs="0" /> + <xsd:element name="SignatureCheck" type="CheckResultType" /> + <xsd:element name="CertificateCheck" type="CheckResultType" /> + <xsd:element name="FormCheckResult" type="FormResultType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" + minOccurs="0" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> - <!--########## Verify PDF Signature ###--> - <!--### Verifiy PDF Signature Request ###--> + <!--########## Verify PDF Signature ### --> + <!--### Verifiy PDF Signature Request ### --> <xsd:element name="VerifyPDFSignatureRequest"> <xsd:complexType> <xsd:complexContent> <xsd:extension base="VerifyPDFSignatureRequestType"> - <xsd:attribute name="Signatories" type="SignatoriesType" use="optional" default="1"/> + <xsd:attribute name="Signatories" type="SignatoriesType" + use="optional" default="1" /> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:complexType name="VerifyPDFSignatureRequestType"> <xsd:sequence> - <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/> - <xsd:element name="ExtendedValidation" type="xsd:boolean" minOccurs="0" default="false"/> - <xsd:element name="PDFSignature" type="xsd:base64Binary"/> + <xsd:element name="DateTime" type="xsd:dateTime" + minOccurs="0" /> + <xsd:element name="ExtendedValidation" type="xsd:boolean" + minOccurs="0" default="false" /> + <xsd:element name="PDFSignature" type="xsd:base64Binary" /> <xsd:element name="TrustProfileID" type="xsd:token"> <xsd:annotation> - <xsd:documentation>mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert</xsd:documentation> + <xsd:documentation>mit diesem Profil wird eine Menge von + vertrauenswürdigen Wurzelzertifikaten spezifiziert + </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> - <!--########## Verify PDF Signature ###--> - <!--### Verifiy ASIC Signature Request ###--> + <!--########## Verify PDF Signature ### --> + <!--### Verifiy ASIC Signature Request ### --> <xsd:element name="VerifyASICSignatureRequest"> <xsd:complexType> <xsd:complexContent> @@ -240,9 +287,11 @@ </xsd:element> <xsd:complexType name="VerifyASICSignatureRequestType"> <xsd:sequence> - <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/> - <xsd:element name="ExtendedValidation" type="xsd:boolean" minOccurs="0" default="false"/> - <xsd:element name="ASICSignature" type="xsd:base64Binary"/> + <xsd:element name="DateTime" type="xsd:dateTime" + minOccurs="0" /> + <xsd:element name="ExtendedValidation" type="xsd:boolean" + minOccurs="0" default="false" /> + <xsd:element name="ASICSignature" type="xsd:base64Binary" /> <xsd:element name="ASICExtension" type="xsd:string"> <xsd:annotation> <xsd:documentation>asics or asice</xsd:documentation> @@ -250,124 +299,169 @@ </xsd:element> <xsd:element name="TrustProfileID" type="xsd:token"> <xsd:annotation> - <xsd:documentation>mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert</xsd:documentation> + <xsd:documentation>mit diesem Profil wird eine Menge von + vertrauenswürdigen Wurzelzertifikaten spezifiziert + </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> - <!--### Verify ASIC Signature Response ###--> - <xsd:element name="VerifyASICSignatureResponse" type="VerifyASICSignatureResponseType"/> + <!--### Verify ASIC Signature Response ### --> + <xsd:element name="VerifyASICSignatureResponse" type="VerifyASICSignatureResponseType" /> <xsd:complexType name="VerifyASICSignatureResponseType"> <xsd:sequence> - <xsd:element name="ASiCSignatureResult" type="ASICResultType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="ASiCSignatureResult" type="ASICResultType" + minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ASICResultType"> <xsd:sequence> - <xsd:element name="signedFiles" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="XMLSignatureResult" type="VerifyASICXMLSignatureResponseType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="CMSSignatureResult" type="VerifyASICCMSSignatureResponseType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="signedFiles" type="xsd:string" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="XMLSignatureResult" type="VerifyASICXMLSignatureResponseType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="CMSSignatureResult" type="VerifyASICCMSSignatureResponseType" + minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> - <!--### Verify CMS Signature Response ###--> - <xsd:element name="VerifyPDFSignatureResponse" type="VerifyPDFSignatureResponseType"/> + <!--### Verify CMS Signature Response ### --> + <xsd:element name="VerifyPDFSignatureResponse" type="VerifyPDFSignatureResponseType" /> <xsd:complexType name="VerifyPDFSignatureResponseType"> <xsd:sequence maxOccurs="unbounded"> - <xsd:element name="SignatureResult" type="PDFSignatureResultType"/> + <xsd:element name="SignatureResult" type="PDFSignatureResultType" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="PDFSignatureResultType"> <xsd:sequence> <xsd:element name="SignerInfo" type="dsig:KeyInfoType"> <xsd:annotation> - <xsd:documentation>only ds:X509Data and RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any;publicAuthority is included as X509Data/any; SecureSignatureCreationDevice is included as X509Data/any, IssuingCountry is included as X509Data/any</xsd:documentation> + <xsd:documentation>only ds:X509Data and RetrievalMethod is + supported; QualifiedCertificate is included as + X509Data/any;publicAuthority is included as X509Data/any; + SecureSignatureCreationDevice is included as X509Data/any, + IssuingCountry is included as X509Data/any</xsd:documentation> </xsd:annotation> </xsd:element> - <xsd:element name="SigningTime" type="xsd:dateTime" minOccurs="0"/> - <xsd:element name="SignatureCheck" type="CheckResultType"/> - <xsd:element name="CertificateCheck" type="CheckResultType"/> - <xsd:element name="FormCheckResult" type="FormResultType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" minOccurs="0" maxOccurs="1"/> + <xsd:element name="SigningTime" type="xsd:dateTime" + minOccurs="0" /> + <xsd:element name="SignatureCheck" type="CheckResultType" /> + <xsd:element name="CertificateCheck" type="CheckResultType" /> + <xsd:element name="FormCheckResult" type="FormResultType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" + minOccurs="0" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> - <!--########## Verify XML Signature ###--> - <!--### Verify XML Signature Request ###--> - <xsd:element name="VerifyXMLSignatureRequest" type="VerifyXMLSignatureRequestType"/> + <!--########## Verify XML Signature ### --> + <!--### Verify XML Signature Request ### --> + <xsd:element name="VerifyXMLSignatureRequest" type="VerifyXMLSignatureRequestType" /> <xsd:complexType name="VerifyXMLSignatureRequestType"> <xsd:sequence> - <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/> - <xsd:element name="ExtendedValidation" type="xsd:boolean" minOccurs="0" default="false"/> + <xsd:element name="DateTime" type="xsd:dateTime" + minOccurs="0" /> + <xsd:element name="ExtendedValidation" type="xsd:boolean" + minOccurs="0" default="false" /> <xsd:element name="VerifySignatureInfo"> <xsd:complexType> <xsd:sequence> - <xsd:element name="VerifySignatureEnvironment" type="ContentOptionalRefType"/> - <xsd:element name="VerifySignatureLocation" type="xsd:token"/> + <xsd:element name="VerifySignatureEnvironment" type="ContentOptionalRefType" /> + <xsd:element name="VerifySignatureLocation" type="xsd:token" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element ref="SupplementProfile"/> - <xsd:element name="SupplementProfileID" type="xsd:string"/> + <xsd:element ref="SupplementProfile" /> + <xsd:element name="SupplementProfileID" type="xsd:string" /> </xsd:choice> - <xsd:element name="SignatureManifestCheckParams" minOccurs="0"> + <xsd:element name="SignatureManifestCheckParams" + minOccurs="0"> <xsd:complexType> <xsd:sequence> - <xsd:element name="ReferenceInfo" type="VerifyTransformsDataType" maxOccurs="unbounded"> + <xsd:element name="ReferenceInfo" type="VerifyTransformsDataType" + maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Pro dsig:Reference-Element in der zu überprüfenden XML-Signatur muss hier ein ReferenceInfo-Element erscheinen. Die Reihenfolge der einzelnen ReferenceInfo Elemente entspricht jener der dsig:Reference Elemente in der XML-Signatur.</xsd:documentation> + <xsd:documentation>Pro dsig:Reference-Element in der zu + überprüfenden XML-Signatur muss hier ein + ReferenceInfo-Element erscheinen. Die Reihenfolge der einzelnen + ReferenceInfo Elemente entspricht jener der dsig:Reference + Elemente in der XML-Signatur.</xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> - <xsd:attribute name="ReturnReferenceInputData" type="xsd:boolean" use="optional" default="true"/> + <xsd:attribute name="ReturnReferenceInputData" type="xsd:boolean" + use="optional" default="true" /> </xsd:complexType> </xsd:element> - <xsd:element name="ReturnHashInputData" minOccurs="0"/> + <xsd:element name="ReturnHashInputData" minOccurs="0" /> <xsd:element name="TrustProfileID" type="xsd:token"> <xsd:annotation> - <xsd:documentation>mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert</xsd:documentation> + <xsd:documentation>mit diesem Profil wird eine Menge von + vertrauenswürdigen Wurzelzertifikaten spezifiziert + </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> - <!--### Verify XML Signature Response ###--> - <xsd:element name="VerifyXMLSignatureResponse" type="VerifyXMLSignatureResponseType"/> + <!--### Verify XML Signature Response ### --> + <xsd:element name="VerifyXMLSignatureResponse" type="VerifyXMLSignatureResponseType" /> <xsd:complexType name="VerifyXMLSignatureResponseType"> <xsd:sequence> <xsd:element name="SignerInfo" type="dsig:KeyInfoType"> <xsd:annotation> - <xsd:documentation>only ds:X509Data and ds:RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any; PublicAuthority is included as X509Data/any; SecureSignatureCreationDevice is included as X509Data/any, IssuingCountry is included as X509Data/any</xsd:documentation> + <xsd:documentation>only ds:X509Data and ds:RetrievalMethod is + supported; QualifiedCertificate is included as X509Data/any; + PublicAuthority is included as X509Data/any; + SecureSignatureCreationDevice is included as X509Data/any, + IssuingCountry is included as X509Data/any</xsd:documentation> </xsd:annotation> </xsd:element> - <xsd:element name="HashInputData" type="InputDataType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="ReferenceInputData" type="InputDataType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="SignatureCheck" type="ReferencesCheckResultType"/> - <xsd:element name="SignatureManifestCheck" type="ReferencesCheckResultType" minOccurs="0"/> - <xsd:element name="XMLDSIGManifestCheck" type="ManifestRefsCheckResultType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="CertificateCheck" type="CheckResultType"/> - <xsd:element name="FormCheckResult" type="FormResultType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" minOccurs="0" maxOccurs="1"/> + <xsd:element name="HashInputData" type="InputDataType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="ReferenceInputData" type="InputDataType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="SignatureCheck" type="ReferencesCheckResultType" /> + <xsd:element name="SignatureManifestCheck" type="ReferencesCheckResultType" + minOccurs="0" /> + <xsd:element name="XMLDSIGManifestCheck" type="ManifestRefsCheckResultType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="CertificateCheck" type="CheckResultType" /> + <xsd:element name="FormCheckResult" type="FormResultType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" + minOccurs="0" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="VerifyASICXMLSignatureResponseType"> <xsd:sequence> <xsd:element name="SignerInfo" type="dsig:KeyInfoType"> <xsd:annotation> - <xsd:documentation>only ds:X509Data and ds:RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any; PublicAuthority is included as X509Data/any; SecureSignatureCreationDevice is included as X509Data/any, IssuingCountry is included as X509Data/any</xsd:documentation> + <xsd:documentation>only ds:X509Data and ds:RetrievalMethod is + supported; QualifiedCertificate is included as X509Data/any; + PublicAuthority is included as X509Data/any; + SecureSignatureCreationDevice is included as X509Data/any, + IssuingCountry is included as X509Data/any</xsd:documentation> </xsd:annotation> </xsd:element> - <xsd:element name="SigningTime" type="xsd:dateTime" minOccurs="0"/> - <xsd:element name="HashInputData" type="InputDataType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="ReferenceInputData" type="InputDataType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="SignatureCheck" type="ReferencesCheckResultType"/> - <xsd:element name="SignatureManifestCheck" type="ReferencesCheckResultType" minOccurs="0"/> - <xsd:element name="XMLDSIGManifestCheck" type="ManifestRefsCheckResultType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="CertificateCheck" type="CheckResultType"/> - <xsd:element name="FormCheckResult" type="FormResultType" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" minOccurs="0" maxOccurs="1"/> + <xsd:element name="SigningTime" type="xsd:dateTime" + minOccurs="0" /> + <xsd:element name="HashInputData" type="InputDataType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="ReferenceInputData" type="InputDataType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="SignatureCheck" type="ReferencesCheckResultType" /> + <xsd:element name="SignatureManifestCheck" type="ReferencesCheckResultType" + minOccurs="0" /> + <xsd:element name="XMLDSIGManifestCheck" type="ManifestRefsCheckResultType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="CertificateCheck" type="CheckResultType" /> + <xsd:element name="FormCheckResult" type="FormResultType" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="ExtendedCertificateCheck" type="ExtendedCertificateCheckResultType" + minOccurs="0" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> <xsd:simpleType name="ProfileIdentifierType"> - <xsd:restriction base="xsd:token"/> + <xsd:restriction base="xsd:token" /> </xsd:simpleType> <xsd:complexType name="InputDataType"> <xsd:complexContent> @@ -375,27 +469,29 @@ <xsd:attribute name="PartOf" use="optional" default="SignedInfo"> <xsd:simpleType> <xsd:restriction base="xsd:token"> - <xsd:enumeration value="SignedInfo"/> - <xsd:enumeration value="XMLDSIGManifest"/> + <xsd:enumeration value="SignedInfo" /> + <xsd:enumeration value="XMLDSIGManifest" /> </xsd:restriction> </xsd:simpleType> </xsd:attribute> - <xsd:attribute name="ReferringSigReference" type="xsd:nonNegativeInteger" use="optional"/> + <xsd:attribute name="ReferringSigReference" type="xsd:nonNegativeInteger" + use="optional" /> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="MetaInfoType"> <xsd:sequence> - <xsd:element name="MimeType" type="MimeTypeType"/> - <xsd:element name="Description" type="xsd:anyURI" minOccurs="0"/> - <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="MimeType" type="MimeTypeType" /> + <xsd:element name="Description" type="xsd:anyURI" + minOccurs="0" /> + <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="FinalDataMetaInfoType"> <xsd:complexContent> <xsd:extension base="MetaInfoType"> <xsd:sequence> - <xsd:element name="Type" type="xsd:anyURI" minOccurs="0"/> + <xsd:element name="Type" type="xsd:anyURI" minOccurs="0" /> </xsd:sequence> </xsd:extension> </xsd:complexContent> @@ -405,23 +501,25 @@ <xsd:element name="DataObject"> <xsd:complexType> <xsd:complexContent> - <xsd:extension base="ContentOptionalRefType"/> + <xsd:extension base="ContentOptionalRefType" /> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:choice> <xsd:annotation> - <xsd:documentation>Auswahl: Entweder explizite Angabe EINER Transformationskette inklusive ggf. sinnvoller Supplements oder Verweis auf ein benanntes Profil</xsd:documentation> + <xsd:documentation>Auswahl: Entweder explizite Angabe EINER + Transformationskette inklusive ggf. sinnvoller Supplements oder + Verweis auf ein benanntes Profil</xsd:documentation> </xsd:annotation> - <xsd:element ref="CreateTransformsInfoProfile"/> - <xsd:element name="CreateTransformsInfoProfileID" type="ProfileIdentifierType"/> + <xsd:element ref="CreateTransformsInfoProfile" /> + <xsd:element name="CreateTransformsInfoProfileID" type="ProfileIdentifierType" /> </xsd:choice> </xsd:sequence> <xsd:attribute name="Structure" use="required"> <xsd:simpleType> <xsd:restriction base="xsd:string"> - <xsd:enumeration value="detached"/> - <xsd:enumeration value="enveloping"/> + <xsd:enumeration value="detached" /> + <xsd:enumeration value="enveloping" /> </xsd:restriction> </xsd:simpleType> </xsd:attribute> @@ -431,7 +529,7 @@ <xsd:element name="DataObject"> <xsd:complexType> <xsd:complexContent> - <xsd:extension base="CMSDataObjectRequiredMetaType"/> + <xsd:extension base="CMSDataObjectRequiredMetaType" /> </xsd:complexContent> </xsd:complexType> </xsd:element> @@ -439,98 +537,113 @@ <xsd:attribute name="Structure" use="required"> <xsd:simpleType> <xsd:restriction base="xsd:string"> - <xsd:enumeration value="detached"/> - <xsd:enumeration value="enveloping"/> + <xsd:enumeration value="detached" /> + <xsd:enumeration value="enveloping" /> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> <xsd:complexType name="TransformsInfoType"> <xsd:sequence> - <xsd:element ref="dsig:Transforms" minOccurs="0"/> - <xsd:element name="FinalDataMetaInfo" type="FinalDataMetaInfoType"/> + <xsd:element ref="dsig:Transforms" minOccurs="0" /> + <xsd:element name="FinalDataMetaInfo" type="FinalDataMetaInfoType" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="XMLDataObjectAssociationType"> <xsd:sequence> - <xsd:element name="MetaInfo" type="MetaInfoType" minOccurs="0"/> - <xsd:element name="Content" type="ContentRequiredRefType"/> + <xsd:element name="MetaInfo" type="MetaInfoType" + minOccurs="0" /> + <xsd:element name="Content" type="ContentRequiredRefType" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="PDFSignedRepsonse"> <xsd:sequence> - <xsd:element name="SignatureID" type="xsd:string" minOccurs="0" maxOccurs="1"/> + <xsd:element name="SignatureID" type="xsd:string" + minOccurs="0" maxOccurs="1" /> <xsd:choice maxOccurs="1"> <xsd:element name="PDFSignature" type="xsd:base64Binary"> <xsd:annotation> - <xsd:documentation>Resultat, falls die Signaturerstellung erfolgreich war</xsd:documentation> + <xsd:documentation>Resultat, falls die Signaturerstellung + erfolgreich war</xsd:documentation> </xsd:annotation> </xsd:element> - <xsd:element ref="ErrorResponse"/> + <xsd:element ref="ErrorResponse" /> </xsd:choice> </xsd:sequence> </xsd:complexType> <xsd:complexType name="CMSDataObjectOptionalMetaType"> <xsd:sequence> - <xsd:element name="MetaInfo" type="MetaInfoType" minOccurs="0"/> - <xsd:element name="Content" type="CMSContentBaseType"/> + <xsd:element name="MetaInfo" type="MetaInfoType" + minOccurs="0" /> + <xsd:element name="Content" type="CMSContentBaseType" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="CMSDataObjectRequiredMetaType"> <xsd:sequence> - <xsd:element name="MetaInfo" type="MetaInfoType"/> - <xsd:element name="Content" type="CMSContentBaseType"/> + <xsd:element name="MetaInfo" type="MetaInfoType" /> + <xsd:element name="Content" type="CMSContentBaseType" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="CMSContentBaseType"> <xsd:complexContent> <xsd:restriction base="ContentOptionalRefType"> <xsd:choice minOccurs="0"> - <xsd:element name="Base64Content" type="xsd:base64Binary"/> + <xsd:element name="Base64Content" type="xsd:base64Binary" /> </xsd:choice> </xsd:restriction> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="CheckResultType"> <xsd:sequence> - <xsd:element name="Code" type="xsd:nonNegativeInteger"/> - <xsd:element name="Info" type="AnyChildrenType" minOccurs="0"/> + <xsd:element name="Code" type="xsd:nonNegativeInteger" /> + <xsd:element name="Info" type="AnyChildrenType" + minOccurs="0" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="FormResultType"> <xsd:sequence> - <xsd:element name="Code" type="xsd:nonNegativeInteger" minOccurs="1" maxOccurs="1"/> - <xsd:element name="Name" type="xsd:string" minOccurs="1" maxOccurs="1"/> + <xsd:element name="Code" type="xsd:nonNegativeInteger" + minOccurs="1" maxOccurs="1" /> + <xsd:element name="Name" type="xsd:string" minOccurs="1" + maxOccurs="1" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="IndicationResultType"> <xsd:sequence> - <xsd:element name="Code" type="xsd:nonNegativeInteger" minOccurs="1" maxOccurs="1"/> - <xsd:element name="Name" type="xsd:string" minOccurs="1" maxOccurs="1"/> + <xsd:element name="Code" type="xsd:nonNegativeInteger" + minOccurs="1" maxOccurs="1" /> + <xsd:element name="Name" type="xsd:string" minOccurs="1" + maxOccurs="1" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ExtendedCertificateCheckResultType"> <xsd:sequence> - <xsd:element name="Major" type="IndicationResultType" minOccurs="1" maxOccurs="1"/> - <xsd:element name="Minor" type="IndicationResultType" minOccurs="0" maxOccurs="1"/> + <xsd:element name="Major" type="IndicationResultType" + minOccurs="1" maxOccurs="1" /> + <xsd:element name="Minor" type="IndicationResultType" + minOccurs="0" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ReferencesCheckResultType"> <xsd:complexContent> <xsd:restriction base="CheckResultType"> <xsd:sequence> - <xsd:element name="Code" type="xsd:nonNegativeInteger"/> - <xsd:element name="Info" type="ReferencesCheckResultInfoType" minOccurs="0"/> + <xsd:element name="Code" type="xsd:nonNegativeInteger" /> + <xsd:element name="Info" type="ReferencesCheckResultInfoType" + minOccurs="0" /> </xsd:sequence> </xsd:restriction> </xsd:complexContent> </xsd:complexType> - <xsd:complexType name="ReferencesCheckResultInfoType" mixed="true"> + <xsd:complexType name="ReferencesCheckResultInfoType" + mixed="true"> <xsd:complexContent> <xsd:restriction base="AnyChildrenType"> <xsd:sequence> - <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="FailedReference" type="xsd:positiveInteger" minOccurs="0" maxOccurs="unbounded"/> + <xsd:any namespace="##other" processContents="lax" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="FailedReference" type="xsd:positiveInteger" + minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:restriction> </xsd:complexContent> @@ -539,73 +652,78 @@ <xsd:complexContent> <xsd:restriction base="CheckResultType"> <xsd:sequence> - <xsd:element name="Code" type="xsd:nonNegativeInteger"/> - <xsd:element name="Info" type="ManifestRefsCheckResultInfoType"/> + <xsd:element name="Code" type="xsd:nonNegativeInteger" /> + <xsd:element name="Info" type="ManifestRefsCheckResultInfoType" /> </xsd:sequence> </xsd:restriction> </xsd:complexContent> </xsd:complexType> - <xsd:complexType name="ManifestRefsCheckResultInfoType" mixed="true"> + <xsd:complexType name="ManifestRefsCheckResultInfoType" + mixed="true"> <xsd:complexContent> <xsd:restriction base="AnyChildrenType"> <xsd:sequence> - <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="FailedReference" type="xsd:positiveInteger" minOccurs="0" maxOccurs="unbounded"/> - <xsd:element name="ReferringSigReference" type="xsd:positiveInteger"/> + <xsd:any namespace="##other" processContents="lax" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="FailedReference" type="xsd:positiveInteger" + minOccurs="0" maxOccurs="unbounded" /> + <xsd:element name="ReferringSigReference" type="xsd:positiveInteger" /> </xsd:sequence> </xsd:restriction> </xsd:complexContent> </xsd:complexType> - <!--########## Error Response ###--> + <!--########## Error Response ### --> <xsd:element name="ErrorResponse" type="ErrorResponseType"> <xsd:annotation> - <xsd:documentation>Resultat, falls die Signaturerstellung gescheitert ist</xsd:documentation> + <xsd:documentation>Resultat, falls die Signaturerstellung gescheitert + ist</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:complexType name="ErrorResponseType"> <xsd:sequence> - <xsd:element name="ErrorCode" type="xsd:integer"/> - <xsd:element name="Info" type="xsd:string"/> + <xsd:element name="ErrorCode" type="xsd:integer" /> + <xsd:element name="Info" type="xsd:string" /> </xsd:sequence> </xsd:complexType> - <!--########## Auxiliary Types ###--> + <!--########## Auxiliary Types ### --> <xsd:simpleType name="KeyIdentifierType"> - <xsd:restriction base="xsd:string"/> + <xsd:restriction base="xsd:string" /> </xsd:simpleType> <xsd:simpleType name="KeyStorageType"> <xsd:restriction base="xsd:string"> - <xsd:enumeration value="Software"/> - <xsd:enumeration value="Hardware"/> + <xsd:enumeration value="Software" /> + <xsd:enumeration value="Hardware" /> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="MimeTypeType"> - <xsd:restriction base="xsd:token"/> + <xsd:restriction base="xsd:token" /> </xsd:simpleType> <xsd:complexType name="AnyChildrenType" mixed="true"> <xsd:sequence> - <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + <xsd:any namespace="##any" processContents="lax" minOccurs="0" + maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="XMLContentType" mixed="true"> <xsd:complexContent> <xsd:extension base="AnyChildrenType"> - <xsd:attribute ref="xml:space" use="optional"/> + <xsd:attribute ref="xml:space" use="optional" /> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="ContentBaseType"> <xsd:choice minOccurs="0"> - <xsd:element name="Base64Content" type="xsd:base64Binary"/> - <xsd:element name="XMLContent" type="XMLContentType"/> - <xsd:element name="LocRefContent" type="xsd:anyURI"/> + <xsd:element name="Base64Content" type="xsd:base64Binary" /> + <xsd:element name="XMLContent" type="XMLContentType" /> + <xsd:element name="LocRefContent" type="xsd:anyURI" /> </xsd:choice> </xsd:complexType> <xsd:complexType name="ContentExLocRefBaseType"> <xsd:complexContent> <xsd:restriction base="ContentBaseType"> <xsd:choice minOccurs="0"> - <xsd:element name="Base64Content" type="xsd:base64Binary"/> - <xsd:element name="XMLContent" type="XMLContentType"/> + <xsd:element name="Base64Content" type="xsd:base64Binary" /> + <xsd:element name="XMLContent" type="XMLContentType" /> </xsd:choice> </xsd:restriction> </xsd:complexContent> @@ -613,7 +731,7 @@ <xsd:complexType name="ContentOptionalRefType"> <xsd:complexContent> <xsd:extension base="ContentBaseType"> - <xsd:attribute name="Reference" type="xsd:anyURI" use="optional"/> + <xsd:attribute name="Reference" type="xsd:anyURI" use="optional" /> </xsd:extension> </xsd:complexContent> </xsd:complexType> @@ -621,23 +739,28 @@ <xsd:complexContent> <xsd:restriction base="ContentOptionalRefType"> <xsd:choice minOccurs="0"> - <xsd:element name="Base64Content" type="xsd:base64Binary"/> - <xsd:element name="XMLContent" type="XMLContentType"/> - <xsd:element name="LocRefContent" type="xsd:anyURI"/> + <xsd:element name="Base64Content" type="xsd:base64Binary" /> + <xsd:element name="XMLContent" type="XMLContentType" /> + <xsd:element name="LocRefContent" type="xsd:anyURI" /> </xsd:choice> - <xsd:attribute name="Reference" type="xsd:anyURI" use="required"/> + <xsd:attribute name="Reference" type="xsd:anyURI" use="required" /> </xsd:restriction> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="VerifyTransformsDataType"> <xsd:choice maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Ein oder mehrere Transformationswege können von der Applikation an MOA mitgeteilt werden. Die zu prüfende Signatur hat zumindest einem dieser Transformationswege zu entsprechen. Die Angabe kann explizit oder als Profilbezeichner erfolgen.</xsd:documentation> + <xsd:documentation>Ein oder mehrere Transformationswege können von + der Applikation an MOA mitgeteilt werden. Die zu prüfende Signatur + hat zumindest einem dieser Transformationswege zu entsprechen. Die + Angabe kann explizit oder als Profilbezeichner erfolgen. + </xsd:documentation> </xsd:annotation> - <xsd:element ref="VerifyTransformsInfoProfile"/> + <xsd:element ref="VerifyTransformsInfoProfile" /> <xsd:element name="VerifyTransformsInfoProfileID" type="xsd:string"> <xsd:annotation> - <xsd:documentation>Profilbezeichner für einen Transformationsweg</xsd:documentation> + <xsd:documentation>Profilbezeichner für einen Transformationsweg + </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:choice> @@ -647,8 +770,8 @@ <xsd:attribute name="source" use="optional"> <xsd:simpleType> <xsd:restriction base="xsd:token"> - <xsd:enumeration value="TSL"/> - <xsd:enumeration value="Certificate"/> + <xsd:enumeration value="TSL" /> + <xsd:enumeration value="Certificate" /> </xsd:restriction> </xsd:simpleType> </xsd:attribute> @@ -659,93 +782,107 @@ <xsd:attribute name="source" use="optional"> <xsd:simpleType> <xsd:restriction base="xsd:token"> - <xsd:enumeration value="TSL"/> - <xsd:enumeration value="Certificate"/> + <xsd:enumeration value="TSL" /> + <xsd:enumeration value="Certificate" /> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> </xsd:element> - <xsd:element name="IssuingCountry" type="xsd:token"/> - <xsd:element name="PublicAuthority" type="PublicAuthorityType"/> + <xsd:element name="IssuingCountry" type="xsd:token" /> + <xsd:element name="PublicAuthority" type="PublicAuthorityType" /> <xsd:complexType name="PublicAuthorityType"> <xsd:sequence> - <xsd:element name="Code" type="xsd:string" minOccurs="0"/> + <xsd:element name="Code" type="xsd:string" minOccurs="0" /> </xsd:sequence> </xsd:complexType> <xsd:simpleType name="SignatoriesType"> <xsd:union memberTypes="AllSignatoriesType"> <xsd:simpleType> - <xsd:list itemType="xsd:positiveInteger"/> + <xsd:list itemType="xsd:positiveInteger" /> </xsd:simpleType> </xsd:union> </xsd:simpleType> <xsd:simpleType name="AllSignatoriesType"> <xsd:restriction base="xsd:string"> - <xsd:enumeration value="all"/> + <xsd:enumeration value="all" /> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="CreateSignatureLocationType"> <xsd:simpleContent> <xsd:extension base="xsd:token"> - <xsd:attribute name="Index" type="xsd:integer" use="required"/> + <xsd:attribute name="Index" type="xsd:integer" use="required" /> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complexType name="TransformParameterType"> <xsd:choice minOccurs="0"> <xsd:annotation> - <xsd:documentation>Die Angabe des Transformationsparameters (explizit oder als Hashwert) kann unterlassen werden, wenn die Applikation von der Unveränderlichkeit des Inhalts der in "Transformationsparamter", Attribut "URI" angegebenen URI ausgehen kann.</xsd:documentation> + <xsd:documentation>Die Angabe des Transformationsparameters + (explizit oder als Hashwert) kann unterlassen werden, wenn die + Applikation von der Unveränderlichkeit des Inhalts der in + "Transformationsparamter", Attribut "URI" angegebenen URI ausgehen + kann.</xsd:documentation> </xsd:annotation> <xsd:element name="Base64Content" type="xsd:base64Binary"> <xsd:annotation> - <xsd:documentation>Der Transformationsparameter explizit angegeben.</xsd:documentation> + <xsd:documentation>Der Transformationsparameter explizit angegeben. + </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="Hash"> <xsd:annotation> - <xsd:documentation>Der Hashwert des Transformationsparameters.</xsd:documentation> + <xsd:documentation>Der Hashwert des Transformationsparameters. + </xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> - <xsd:element ref="dsig:DigestMethod"/> - <xsd:element ref="dsig:DigestValue"/> + <xsd:element ref="dsig:DigestMethod" /> + <xsd:element ref="dsig:DigestValue" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:choice> - <xsd:attribute name="URI" type="xsd:anyURI" use="required"/> + <xsd:attribute name="URI" type="xsd:anyURI" use="required" /> </xsd:complexType> <xsd:element name="CreateSignatureEnvironmentProfile"> <xsd:complexType> <xsd:sequence> - <xsd:element name="CreateSignatureLocation" type="CreateSignatureLocationType"/> - <xsd:element name="Supplement" type="XMLDataObjectAssociationType" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="CreateSignatureLocation" type="CreateSignatureLocationType" /> + <xsd:element name="Supplement" type="XMLDataObjectAssociationType" + minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="VerifyTransformsInfoProfile"> <xsd:annotation> - <xsd:documentation>Explizite Angabe des Transformationswegs</xsd:documentation> + <xsd:documentation>Explizite Angabe des Transformationswegs + </xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> - <xsd:element ref="dsig:Transforms" minOccurs="0"/> - <xsd:element name="TransformParameter" type="TransformParameterType" minOccurs="0" maxOccurs="unbounded"> + <xsd:element ref="dsig:Transforms" minOccurs="0" /> + <xsd:element name="TransformParameter" type="TransformParameterType" + minOccurs="0" maxOccurs="unbounded"> <xsd:annotation> - <xsd:documentation>Alle impliziten Transformationsparameter, die zum Durchlaufen der oben angeführten Transformationskette bekannt sein müssen, müssen hier angeführt werden. Das Attribut "URI" bezeichnet den Transformationsparameter in exakt jener Weise, wie er in der zu überprüfenden Signatur gebraucht wird.</xsd:documentation> + <xsd:documentation>Alle impliziten Transformationsparameter, die + zum Durchlaufen der oben angeführten Transformationskette + bekannt sein müssen, müssen hier angeführt werden. Das + Attribut "URI" bezeichnet den Transformationsparameter in exakt + jener Weise, wie er in der zu überprüfenden Signatur gebraucht + wird.</xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> - <xsd:element name="Supplement" type="XMLDataObjectAssociationType"/> - <xsd:element name="SupplementProfile" type="XMLDataObjectAssociationType"/> + <xsd:element name="Supplement" type="XMLDataObjectAssociationType" /> + <xsd:element name="SupplementProfile" type="XMLDataObjectAssociationType" /> <xsd:element name="CreateTransformsInfoProfile"> <xsd:complexType> <xsd:sequence> - <xsd:element name="CreateTransformsInfo" type="TransformsInfoType"/> - <xsd:element ref="Supplement" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="CreateTransformsInfo" type="TransformsInfoType" /> + <xsd:element ref="Supplement" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> </xsd:element> |