summaryrefslogtreecommitdiff
path: root/bkucommon/src/test/resources
diff options
context:
space:
mode:
Diffstat (limited to 'bkucommon/src/test/resources')
-rw-r--r--bkucommon/src/test/resources/MOA-SPSS-1.3.wsdl57
-rw-r--r--bkucommon/src/test/resources/MOA-SPSS-1.3.xsd469
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/accesscontroller/AccessControlConfig.xml78
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/accesscontroller/SimpleChainTest.xml39
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/accesscontroller/www.a-trust.at.crt28
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/binding/Multipart.txt.bin337
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/binding/MultipartEmpty.txt17
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/binding/MultipartFromTutorial.txt37
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/binding/NOPMultipartDataUrl.txt47
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/binding/Nulloperation.xml1
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/binding/NulloperationRequest.txt.bin1
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/binding/Statemachine1.txt36
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/binding/Stylesheet.txt56
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/binding/XWWWFormUrlEncoded1.txt1
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/binding/XWWWFormUrlEncoded2.txt1
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/binding/stylesheet.xslt16
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/CACerts/A-Trust-Qual-01a.cerbin0 -> 1111 bytes
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/CACerts/A-Trust-Qual-02a.cerbin0 -> 975 bytes
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/CACerts/A-Trust-Qual-03a.cerbin0 -> 975 bytes
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/CACerts/A-Trust-nQual-01a.cerbin0 -> 865 bytes
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/CACerts/A-Trust-nQual-03.cerbin0 -> 979 bytes
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/A-Trust-Qual-01a.cerbin0 -> 1111 bytes
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/A-Trust-Qual-02a.cerbin0 -> 975 bytes
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/A-Trust-Qual-03a.cerbin0 -> 975 bytes
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/A-Trust-nQual-01a.cerbin0 -> 865 bytes
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/A-Trust-nQual-03.cerbin0 -> 979 bytes
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-SSL-03.cer26
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-03.cer27
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-light-01a.cer21
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-light-02a.cer27
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-light-03.cer27
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-medium-01a.cer21
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-medium-02a.cer27
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/testCerts/www.a-trust.at.derbin0 -> 1230 bytes
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/createxmlsignaturerequest/CreateXMLSignatureRequest.xml23
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/Cert.p12bin0 -> 4158 bytes
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObject1.bin6
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObject1.txt1
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObject1.xml6
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_Base64Content_1.xml13
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_Detached_1.xml11
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_Detached_Base64Content.xml13
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_Detached_LocRefContent.xml13
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_LocRefContent_1.xml11
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_LocRefContent_2.xml13
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_Reference_1.xml13
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_XMLContent_1.xml14
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_XMLContent_2.xml17
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/Document.dtd3
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureEnvironment1.xml6
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureInfo_Base64_1.xml23
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureInfo_Base64_2.xml18
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureInfo_Base64_3.xml20
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureInfo_Reference_1.xml11
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureInfo_XMLContent_1.xml13
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/TransformsInfo_1.xml304
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/TransformsInfo_2.xml397
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/XMLDocument.xsd15
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/infoboxreadcommand/IdentityLink.Binary.Invalid-1.xml1
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/infoboxreadcommand/IdentityLink.Binary.Invalid-2.xml1
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/infoboxreadcommand/IdentityLink.Binary.xml1
-rw-r--r--bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/testApplicationContext.xml53
-rw-r--r--bkucommon/src/test/resources/commons-logging.properties1
-rw-r--r--bkucommon/src/test/resources/log4j.properties19
-rw-r--r--bkucommon/src/test/resources/moaspss/CreateXMLSignatureRequest.xml16
65 files changed, 2453 insertions, 0 deletions
diff --git a/bkucommon/src/test/resources/MOA-SPSS-1.3.wsdl b/bkucommon/src/test/resources/MOA-SPSS-1.3.wsdl
new file mode 100644
index 00000000..25accfce
--- /dev/null
+++ b/bkucommon/src/test/resources/MOA-SPSS-1.3.wsdl
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Web Service Description for MOA SP/SS 1.4
+ modified for BKU2 testing
+-->
+<definitions name="MOA"
+ targetNamespace="http://reference.e-government.gv.at/namespace/moa/wsdl/20020822#"
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:tns="http://reference.e-government.gv.at/namespace/moa/wsdl/20020822#"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:moa="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+ <types>
+ <xsd:schema targetNamespace="http://reference.e-government.gv.at/namespace/moa/wsdl/20020822#">
+ <xsd:import namespace="http://reference.e-government.gv.at/namespace/moa/20020822#" schemaLocation="MOA-SPSS-1.3.xsd"/>
+ </xsd:schema>
+ </types>
+
+ <message name="VerifyXMLSignatureInput">
+ <part name="body" element="moa:VerifyXMLSignatureRequest"/>
+ </message>
+ <message name="VerifyXMLSignatureOutput">
+ <part name="body" element="moa:VerifyXMLSignatureResponse"/>
+ </message>
+ <message name="MOAFault">
+ <part name="body" element="moa:ErrorResponse"/>
+ </message>
+ <portType name="SignatureVerificationPortType">
+ <operation name="verifyXMLSignature">
+ <input message="tns:VerifyXMLSignatureInput"/>
+ <output message="tns:VerifyXMLSignatureOutput"/>
+ <fault name="MOAFault" message="tns:MOAFault"/>
+ </operation>
+ </portType>
+ <binding name="SignatureVerificationBinding" type="tns:SignatureVerificationPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="verifyXMLSignature">
+ <soap:operation soapAction="urn:VerifyXMLSignatureAction"/>
+ <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="MOAFault" use="literal" namespace="http://reference.e-government.gv.at/namespace/moa/20020822#"/>
+ </fault>
+ </operation>
+ </binding>
+ <service name="SignatureVerificationService">
+ <port name="SignatureVerificationPort" binding="tns:SignatureVerificationBinding">
+ <soap:address location="http://localhost:8080/moa-spss/services/SignatureVerification"/>
+ </port>
+ </service>
+</definitions>
diff --git a/bkucommon/src/test/resources/MOA-SPSS-1.3.xsd b/bkucommon/src/test/resources/MOA-SPSS-1.3.xsd
new file mode 100644
index 00000000..756b5127
--- /dev/null
+++ b/bkucommon/src/test/resources/MOA-SPSS-1.3.xsd
@@ -0,0 +1,469 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ MOA SP/SS 1.3 Schema
+-->
+<xsd:schema targetNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.2" 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#">
+ <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 XML Signature ###-->
+ <!--### Create XML Signature Request ###-->
+ <xsd:element name="CreateXMLSignatureRequest">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <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="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="DataObjectInfo" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="DataObjectInfoType">
+ <xsd:attribute name="ChildOfManifest" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="CreateSignatureInfo" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <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:annotation>
+ <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:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--### 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:annotation>
+ <xsd:element name="SignatureEnvironment">
+ <xsd:annotation>
+ <xsd:documentation>Resultat, falls die Signaturerstellung erfolgreich war</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:any namespace="##any" processContents="lax"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element ref="ErrorResponse"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:element name="CreateXMLSignatureResponse" type="CreateXMLSignatureResponseType"/>
+ <!--########## 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: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="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:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--### 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</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="SignatureCheck" type="CheckResultType"/>
+ <xsd:element name="CertificateCheck" type="CheckResultType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--########## 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="VerifySignatureInfo">
+ <xsd:complexType>
+ <xsd:sequence>
+ <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:choice>
+ <xsd:element name="SignatureManifestCheckParams" minOccurs="0">
+ <xsd:complexType>
+ <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:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="ReturnReferenceInputData" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ </xsd:element>
+ <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:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--### 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</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:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ProfileIdentifierType">
+ <xsd:restriction base="xsd:token"/>
+ </xsd:simpleType>
+ <xsd:complexType name="InputDataType">
+ <xsd:complexContent>
+ <xsd:extension base="ContentExLocRefBaseType">
+ <xsd:attribute name="PartOf" use="optional" default="SignedInfo">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="SignedInfo"/>
+ <xsd:enumeration value="XMLDSIGManifest"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <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: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:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="DataObjectInfoType">
+ <xsd:sequence>
+ <xsd:element name="DataObject">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <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:annotation>
+ <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: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:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="XMLDataObjectAssociationType">
+ <xsd:sequence>
+ <xsd:element name="MetaInfo" type="MetaInfoType" minOccurs="0"/>
+ <xsd:element name="Content" type="ContentRequiredRefType"/>
+ </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: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: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: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:sequence>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="ReferencesCheckResultInfoType" mixed="true">
+ <xsd:complexContent mixed="true">
+ <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:sequence>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="ManifestRefsCheckResultType">
+ <xsd:complexContent>
+ <xsd:restriction base="CheckResultType">
+ <xsd:sequence>
+ <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:complexContent mixed="true">
+ <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:sequence>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <!--########## Error Response ###-->
+ <xsd:element name="ErrorResponse" type="ErrorResponseType">
+ <xsd:annotation>
+ <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:sequence>
+ </xsd:complexType>
+ <!--########## Auxiliary Types ###-->
+ <xsd:simpleType name="KeyIdentifierType">
+ <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:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="MimeTypeType">
+ <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:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="XMLContentType" mixed="true">
+ <xsd:complexContent mixed="true">
+ <xsd:extension base="AnyChildrenType">
+ <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: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:choice>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="ContentOptionalRefType">
+ <xsd:complexContent>
+ <xsd:extension base="ContentBaseType">
+ <xsd:attribute name="Reference" type="xsd:anyURI" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="ContentRequiredRefType">
+ <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:choice>
+ <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:annotation>
+ <xsd:element ref="VerifyTransformsInfoProfile"/>
+ <xsd:element name="VerifyTransformsInfoProfileID" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation>Profilbezeichner für einen Transformationsweg</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:element name="QualifiedCertificate"/>
+ <xsd:element name="PublicAuthority" type="PublicAuthorityType"/>
+ <xsd:complexType name="PublicAuthorityType">
+ <xsd:sequence>
+ <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:simpleType>
+ </xsd:union>
+ </xsd:simpleType>
+ <xsd:simpleType name="AllSignatoriesType">
+ <xsd:restriction base="xsd:string">
+ <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: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:annotation>
+ <xsd:element name="Base64Content" type="xsd:base64Binary">
+ <xsd:annotation>
+ <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:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <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: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:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="VerifyTransformsInfoProfile">
+ <xsd:annotation>
+ <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:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <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:sequence>
+ </xsd:complexType>
+ </xsd:element>
+</xsd:schema>
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/accesscontroller/AccessControlConfig.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/accesscontroller/AccessControlConfig.xml
new file mode 100644
index 00000000..22f9e4a5
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/accesscontroller/AccessControlConfig.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AccessControl>
+ <Chains>
+ <Chain Id="Identification">
+ <Rules>
+ <Rule Id="rule-1">
+ <AuthClass>certifiedGovAgency</AuthClass>
+ <AnyPeer />
+ <Action>
+ <RuleAction>allow</RuleAction>
+ </Action>
+ <UserInteraction>confirm</UserInteraction>
+ </Rule>
+ <Rule Id="rule-2">
+ <AuthClass>pseudoanonymous</AuthClass>
+ <AnyPeer />
+ <Action>
+ <ChainRef>Command</ChainRef>
+ </Action>
+ <UserInteraction>none</UserInteraction>
+ </Rule>
+ <Rule Id="rule-3">
+ <AuthClass>anonymous</AuthClass>
+ <IPv4Address>127.0.0.1</IPv4Address>
+ <Action>
+ <ChainRef>Command</ChainRef>
+ </Action>
+ <UserInteraction>none</UserInteraction>
+ </Rule>
+ <Rule Id="rule-4">
+ <AuthClass>anonymous</AuthClass>
+ <DomainName>$.gv.at</DomainName>
+ <Action>
+ <RuleAction>allow</RuleAction>
+ </Action>
+ <UserInteraction>confirm</UserInteraction>
+ </Rule>
+ </Rules>
+ </Chain>
+ <Chain Id="Command">
+ <Rules>
+ <Rule Id="cmd-rule-1">
+ <AuthClass>certified</AuthClass>
+ <AnyPeer />
+ <Command Name="Infobox*">
+ <Param Name="InfoboxIdentifier">IdentityLink</Param>
+ <Param Name="PersonIdentifier">.*</Param>
+ </Command>
+ <Action>
+ <RuleAction>allow</RuleAction>
+ </Action>
+ <UserInteraction>confirm</UserInteraction>
+ </Rule>
+ <Rule Id="cmd-rule-2">
+ <AuthClass>certified</AuthClass>
+ <URL>https://finanzonline.bmf.gv.at/*</URL>
+ <Command Name="InfoboxReadRequest">
+ <Param Name="InfoboxIdentifier">Mandates</Param>
+ <Param Name="PersonIdentifier">.*</Param>
+ </Command>
+ <Action>
+ <RuleAction>allow</RuleAction>
+ </Action>
+ <UserInteraction>info</UserInteraction>
+ </Rule>
+ <Rule Id="cmd-rule-3">
+ <AuthClass>certified</AuthClass>
+ <AnyPeer />
+ <Command Name="InfoboxReadRequest" />
+ <Action>
+ <RuleAction>allow</RuleAction>
+ </Action>
+ <UserInteraction>none</UserInteraction>
+ </Rule>
+ </Rules>
+ </Chain>
+ </Chains>
+</AccessControl>
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/accesscontroller/SimpleChainTest.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/accesscontroller/SimpleChainTest.xml
new file mode 100644
index 00000000..92490fb2
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/accesscontroller/SimpleChainTest.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<AccessControl>
+ <Chains>
+ <Chain Id="InputFilter">
+ <Rules>
+ <Rule Id="rule-IF1">
+ <AuthClass>pseudoanonymous</AuthClass>
+ <Action>
+ <ChainRef>DelegateFilter</ChainRef>
+ </Action>
+ </Rule>
+ </Rules>
+ </Chain>
+
+ <Chain Id="DelegateFilter">
+ <Rules>
+ <Rule Id="rule-DF1">
+ <AuthClass>certified</AuthClass>
+ <Command Name="Infobox.*">
+ <Param Name="InfoboxIdentifier">IdentityLink</Param>
+ <Param Name="PersonIdentifier">derived</Param>
+ </Command>
+ <Action>
+ <RuleAction>allow</RuleAction>
+ </Action>
+ </Rule>
+ <Rule Id="rule-DF2">
+ <AuthClass>certified</AuthClass>
+ <Command Name="Infobox.*">
+ <Param Name="InfoboxIdentifier">IdentityLink</Param>
+ </Command>
+ <Action>
+ <RuleAction>deny</RuleAction>
+ </Action>
+ </Rule>
+ </Rules>
+ </Chain>
+ </Chains>
+</AccessControl> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/accesscontroller/www.a-trust.at.crt b/bkucommon/src/test/resources/at/gv/egiz/bku/accesscontroller/www.a-trust.at.crt
new file mode 100644
index 00000000..11cde026
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/accesscontroller/www.a-trust.at.crt
@@ -0,0 +1,28 @@
+-----BEGIN CERTIFICATE-----
+MIIEyjCCA7KgAwIBAgIDA4LFMA0GCSqGSIb3DQEBBQUAMIGHMQswCQYDVQQGEwJB
+VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp
+bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRYwFAYDVQQLDA1hLXNpZ24tU1NM
+LTAzMRYwFAYDVQQDDA1hLXNpZ24tU1NMLTAzMB4XDTA3MTIxMTExMTQ0NFoXDTEy
+MTIxMTExMTQ0NFowYTELMAkGA1UEBhMCQVQxEDAOBgNVBAoMB0EtVHJ1c3QxEDAO
+BgNVBAsMB0EtVHJ1c3QxFzAVBgNVBAMMDnd3dy5hLXRydXN0LmF0MRUwEwYDVQQF
+Eww2NDk2ODY0MDkzMzkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAK2oRtJ4
+R9ipr/NUH5F4p86cjWtzT1g+ytpjg1lwh4HNY+lTjdUcx/VKBrtf0N8qnMK1UHhA
+LLvvZeKTFi3L15i5or1WjZRi4RfH/4vcL0o1w/91liwMOKH3D30omnVceuxmQp2j
+V9QrGPbz0/IsP51cnBWCBTWGqgfBebB8v1FLAgMBAAGjggHmMIIB4jATBgNVHSME
+DDAKgAhAPqHTYrQD3TByBggrBgEFBQcBAQRmMGQwJwYIKwYBBQUHMAGGG2h0dHA6
+Ly9vY3NwLmEtdHJ1c3QuYXQvb2NzcDA5BggrBgEFBQcwAoYtaHR0cDovL3d3dy5h
+LXRydXN0LmF0L2NlcnRzL2Etc2lnbi1zc2wtMDMuY3J0MEsGA1UdIAREMEIwQAYG
+KigAEQEUMDYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cuYS10cnVzdC5hdC9kb2Nz
+L2NwL2Etc2lnbi1zc2wwgY8GA1UdHwSBhzCBhDCBgaB/oH2Ge2xkYXA6Ly9sZGFw
+LmEtdHJ1c3QuYXQvb3U9YS1zaWduLVNTTC0wMyxvPUEtVHJ1c3QsYz1BVD9jZXJ0
+aWZpY2F0ZXJldm9jYXRpb25saXN0P2Jhc2U/b2JqZWN0Y2xhc3M9ZWlkQ2VydGlm
+aWNhdGlvbkF1dGhvcml0eTARBgNVHQ4ECgQIRu1a/pOZZpMwDgYDVR0PAQH/BAQD
+AgWgMEoGA1UdEQRDMEGBEW9mZmljZUBhLXRydXN0LmF0gg53d3cuYS10cnVzdC5h
+dIIcemRhLnNvemlhbHZlcnNpY2hlcnVuZy5ndi5hdDAJBgNVHRMEAjAAMA0GCSqG
+SIb3DQEBBQUAA4IBAQCQGheDpci0lnSEoKw/N3tbJqn/KG49/OWZcsw6XZiAEHsx
+Rx9TlNJhL2d/SqFXBmmqfR496gdzTb4823WJsmXtyBY2t5ZnmD9tY5oJi5bHKchO
+50QCd1x24HzH1mxPReCJzRxzLEM/znojEMdYqQ5Y+BZuj7n9BY+l2nY0Qnhn09FE
+dxXAfNcuZnZavLJgk7vTBg8OFkAh6DJ21ACxf/y+rN53gKFK4Jh+PodRu0J2tK8B
+wAZg7HlnT8U7tcEsf1JnsBhlzAWCHgZc6whgBbDHFs6WSFWuobKN+maU91g/Tvgk
+Obos/EhVNti54Zhu1PO9RSKpKkwzTJT4kmGtaOJN
+-----END CERTIFICATE-----
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/binding/Multipart.txt.bin b/bkucommon/src/test/resources/at/gv/egiz/bku/binding/Multipart.txt.bin
new file mode 100644
index 00000000..6b00acc5
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/binding/Multipart.txt.bin
@@ -0,0 +1,337 @@
+POST http://www.opinionatedgeek.com:80/dotnet/tools/Base64Encode/Default.aspx HTTP/1.1
+Host: www.opinionatedgeek.com
+User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.15) Gecko/20080623 Firefox/2.0.0.15
+Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
+Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
+Accept-Encoding: gzip,deflate
+Accept-Charset: UTF-8,*
+Keep-Alive: 300
+Proxy-Connection: keep-alive
+Referer: http://www.opinionatedgeek.com/dotnet/tools/Base64Encode/
+Cookie: __utma=87673542.1058874134.1202897575.1205922938.1215441720.3; __utmz=87673542.1215441720.3.3.utmccn=(organic)|utmcsr=google|utmctr=base64+encoder|utmcmd=organic; __utmb=87673542; __utmc=87673542
+Content-Type: multipart/form-data; boundary=---------------------------15671293698853
+Content-length: 11576
+
+-----------------------------15671293698853
+Content-Disposition: form-data; name="ctl00$ctl00$ctl00$WholeBody$ContentPane$ContentArea$ctl01$ctl01$Body$ctl00_Hidden"
+
+False
+-----------------------------15671293698853
+Content-Disposition: form-data; name="__VIEWSTATE"
+
+/wEPDwUJNzM1NDA1ODc3D2QWAmYPZBYCZg9kFgJmD2QWAgIFD2QWAgIFD2QWAgIBD2QWAgIBDxYCHgdlbmN0eXBlBRNtdWx0aXBhcnQvZm9ybS1kYXRhFgICAQ9kFgICAw9kFgICAQ9kFgICAQ8PFCsDA2hoZ2QWBGYPDxYEHghDc3NDbGFzcwUPc3Vic2VjdGlvbnRpdGxlHgRfIVNCAgJkFgJmDw8WBB8BBQ9zdWJzZWN0aW9udGl0bGUfAgICZBYCZg8PFgQeC05hdmlnYXRlVXJsBQEjHgdUb29sVGlwBRhDbGljayB0byBleHBhbmQvY29sbGFwc2UWBh4Hb25jbGljawXCAXJldHVybiB0b2dnbGVfZXhjX29wZ2VlayAoJ2N0bDAwX2N0bDAwX2N0bDAwX1dob2xlQm9keV9Db250ZW50UGFuZV9Db250ZW50QXJlYV9jdGwwMV9jdGwwMV9Cb2R5X2N0bDAwX2N0bDAwJywgJ2N0bDAwJGN0bDAwJGN0bDAwJFdob2xlQm9keSRDb250ZW50UGFuZSRDb250ZW50QXJlYSRjdGwwMSRjdGwwMSRCb2R5JGN0bDAwX0hpZGRlbicpHgtvbm1vdXNlb3ZlcgU3d2luZG93LnN0YXR1cyA9ICdDbGljayB0byBleHBhbmQvY29sbGFwc2UnOyByZXR1cm4gdHJ1ZR4Kb25tb3VzZW91dAUfd2luZG93LnN0YXR1cyA9ICcnOyByZXR1cm4gdHJ1ZWQCAQ8PFgQfAQULc2VjdGlvbmJvZHkfAgICZBYCZg8PFgQfAQULc2VjdGlvbmJvZHkfAgICZGQYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgEFSmN0bDAwJGN0bDAwJGN0bDAwJFdob2xlQm9keSRDb250ZW50UGFuZSRDb250ZW50QXJlYSRjdGwwMSRjdGwwMSRCb2R5JGN0bDAwm1Yd0S+llPVzX/xfKb3tdvK8fNQ=
+-----------------------------15671293698853
+Content-Disposition: form-data; name="ctl00$ctl00$ctl00$WholeBody$ContentPane$ContentArea$ctl01$ctl01$Body$ctl00$ctl02"
+
+False
+-----------------------------15671293698853
+Content-Disposition: form-data; name="XMLRequest"; filename="project.xml"
+Content-Type: text/xml
+
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<project>
+ <pomVersion>3</pomVersion>
+
+ <name>FileUpload</name>
+ <groupId>commons-fileupload</groupId>
+ <artifactId>commons-fileupload</artifactId>
+ <currentVersion>1.3-SNAPSHOT</currentVersion>
+ <inceptionYear>2002</inceptionYear>
+ <shortDescription>File upload component for Java servlets</shortDescription>
+ <description>
+ The FileUpload component provides a simple yet flexible means of adding
+ support for multipart file upload functionality to servlets and web
+ applications.
+ </description>
+ <logo>/images/logo.png</logo>
+
+ <url>http://commons.apache.org/${pom.artifactId.substring(8)}/</url>
+ <package>org.apache.commons.${pom.artifactId.substring(8)}</package>
+
+ <organization>
+ <name>The Apache Software Foundation</name>
+ <url>http://commons.apache.org/</url>
+ <logo>http://commons.apache.org/images/logo.png</logo>
+ </organization>
+
+ <licenses>
+ <license>
+ <name>The Apache Software License, Version 2.0</name>
+ <url>/LICENSE.txt</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+
+ <gumpRepositoryId>commons</gumpRepositoryId>
+ <issueTrackingUrl>http://issues.apache.org/jira/</issueTrackingUrl>
+ <siteAddress>people.apache.org</siteAddress>
+ <siteDirectory>/www/commons.apache.org/${pom.artifactId.substring(8)}/</siteDirectory>
+ <distributionDirectory>/www/people.apache.org/builds/commons/${pom.artifactId.substring(8)}/</distributionDirectory>
+
+ <repository>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/commons/proper/${pom.artifactId.substring(8)}/trunk</connection>
+ <url>http://svn.apache.org/repos/asf</url>
+ </repository>
+
+ <mailingLists>
+ <mailingList>
+ <name>Commons Dev List</name>
+ <subscribe>dev-subscribe@commons.apache.org</subscribe>
+ <unsubscribe>dev-unsubscribe@commons.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/commons-dev/</archive>
+ </mailingList>
+ <mailingList>
+ <name>Commons User List</name>
+ <subscribe>user-subscribe@commons.apache.org</subscribe>
+ <unsubscribe>user-unsubscribe@commons.apache.org</unsubscribe>
+ <archive>http://mail-archives.apache.org/mod_mbox/commons-user/</archive>
+ </mailingList>
+ </mailingLists>
+
+
+ <versions>
+ <version>
+ <id>1.2.1</id>
+ <name>1.2.1</name>
+ <tag>commons-fileupload-1.2.1</tag>
+ </version>
+ <version>
+ <id>1.2</id>
+ <name>1.2</name>
+ <tag>commons-fileupload-1.2</tag>
+ </version>
+ <version>
+ <id>1.1.1</id>
+ <name>1.1.1</name>
+ <tag>FILEUPLOAD_1_1_1</tag>
+ </version>
+ <version>
+ <id>1.1</id>
+ <name>1.1</name>
+ <tag>FILEUPLOAD_1_1</tag>
+ </version>
+ <version>
+ <id>1.1-rc2</id>
+ <name>1.1-rc2</name>
+ <tag>FILEUPLOAD_1_1_RC2</tag>
+ </version>
+ <version>
+ <id>1.1-rc1</id>
+ <name>1.1-rc1</name>
+ <tag>FILEUPLOAD_1_1_RC1</tag>
+ </version>
+ <version>
+ <id>1.0</id>
+ <name>1.0</name>
+ <tag>FILEUPLOAD_1_0</tag>
+ </version>
+ <version>
+ <id>1.0-rc1</id>
+ <name>1.0-rc1</name>
+ <tag>FILEUPLOAD_1_0_RC1</tag>
+ </version>
+ <version>
+ <id>1.0-beta-1</id>
+ <name>1.0-beta-1</name>
+ <tag>FILEUPLOAD_1_0_B1</tag>
+ </version>
+ </versions>
+
+ <developers>
+ <developer>
+ <name>Martin Cooper</name>
+ <id>martinc</id>
+ <email>martinc@apache.org</email>
+ <organization>EMC</organization>
+ </developer>
+ <developer>
+ <name>dIon Gillard</name>
+ <id>dion</id>
+ <email>dion@apache.org</email>
+ <organization>Multitask Consulting</organization>
+ </developer>
+ <developer>
+ <name>John McNally</name>
+ <id>jmcnally</id>
+ <email>jmcnally@collab.net</email>
+ <organization>CollabNet</organization>
+ </developer>
+ <developer>
+ <name>Daniel Rall</name>
+ <id>dlr</id>
+ <email>dlr@finemaltcoding.com</email>
+ <organization>CollabNet</organization>
+ </developer>
+ <developer>
+ <name>Jason van Zyl</name>
+ <id>jvanzyl</id>
+ <email>jason@zenplex.com</email>
+ <organization>Zenplex</organization>
+ </developer>
+ <developer>
+ <name>Robert Burrell Donkin</name>
+ <id>rdonkin</id>
+ <email>rdonkin@apache.org</email>
+ <organization/>
+ </developer>
+ <developer>
+ <name>Sean C. Sullivan</name>
+ <id>sullis</id>
+ <email>sean |at| seansullivan |dot| com</email>
+ <organization></organization>
+ </developer>
+ <developer>
+ <name>Jochen Wiedmann</name>
+ <id>jochen</id>
+ <email>jochen.wiedmann@gmail.com</email>
+ <organization/>
+ </developer>
+ </developers>
+
+ <dependencies>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>1.3.2</version>
+ <url>http://commons.apache.org/io/</url>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ <version>2.4</version>
+ <url>http://java.sun.com/products/servlet/</url>
+ <properties>
+ <scope>provided</scope>
+ </properties>
+ </dependency>
+ <dependency>
+ <groupId>javax.portlet</groupId>
+ <artifactId>portlet-api</artifactId>
+ <version>1.0</version>
+ <url>http://portals.apache.org/pluto</url>
+ <properties>
+ <scope>provided</scope>
+ <comment>
+ Required only when using FileUpload in a portlet environment.
+ </comment>
+ </properties>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <url>http://www.junit.org/</url>
+ <properties>
+ <scope>test</scope>
+ <comment>
+ &lt;strong&gt;Test Only&lt;/strong&gt; - required only for
+ running the FileUpload unit tests.
+ </comment>
+ </properties>
+ </dependency>
+
+ <dependency>
+ <groupId>maven</groupId>
+ <artifactId>maven-xdoc-plugin</artifactId>
+ <version>1.9.2</version>
+ <url>http://maven.apache.org/reference/plugins/xdoc/</url>
+ <type>plugin</type>
+ <properties>
+ <comment>
+ &lt;strong&gt;Site Only&lt;/strong&gt; - v1.9.2 (minimum)
+ required for building the FileUpload Site documentation.
+ </comment>
+ </properties>
+ </dependency>
+
+ <dependency>
+ <groupId>maven</groupId>
+ <artifactId>maven-changelog-plugin</artifactId>
+ <version>1.9.1</version>
+ <url>http://maven.apache.org/reference/plugins/changelog/</url>
+ <type>plugin</type>
+ <properties>
+ <comment>
+ &lt;strong&gt;Site Only&lt;/strong&gt; - v1.9.1 (minimum)
+ required for building the FileUpload Site documentation.
+ </comment>
+ </properties>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <nagEmailAddress>dev@commons.apache.org</nagEmailAddress>
+ <sourceDirectory>src/java</sourceDirectory>
+ <unitTestSourceDirectory>src/test</unitTestSourceDirectory>
+ <unitTest>
+ <includes>
+ <include>**/*Test.java</include>
+ </includes>
+ <resources>
+ <resource>
+ <directory>${pom.build.unitTestSourceDirectory}</directory>
+ <includes>
+ <include>**/*.xml</include>
+ </includes>
+ </resource>
+ </resources>
+ </unitTest>
+
+ <resources>
+ <resource>
+ <directory>${basedir}</directory>
+ <targetPath>META-INF</targetPath>
+ <includes>
+ <include>NOTICE.txt</include>
+ </includes>
+ </resource>
+ </resources>
+ </build>
+
+ <reports>
+ <report>maven-changes-plugin</report>
+ <report>maven-changelog-plugin</report>
+ <report>maven-checkstyle-plugin</report>
+ <!--report>maven-clover-plugin</report-->
+ <report>maven-developer-activity-plugin</report>
+ <report>maven-faq-plugin</report>
+ <report>maven-file-activity-plugin</report>
+ <report>maven-javadoc-plugin</report>
+ <report>maven-jdepend-plugin</report>
+ <report>maven-junit-report-plugin</report>
+ <report>maven-jxr-plugin</report>
+ <report>maven-license-plugin</report>
+ <!--report>maven-linkcheck-plugin</report-->
+ <report>maven-pmd-plugin</report>
+ <report>maven-simian-plugin</report>
+ <report>maven-tasklist-plugin</report>
+ </reports>
+
+</project>
+
+-----------------------------15671293698853
+Content-Disposition: form-data; name="ctl00$ctl00$ctl00$WholeBody$ContentPane$ContentArea$ctl01$ctl01$Body$textToEncode"
+
+
+-----------------------------15671293698853
+Content-Disposition: form-data; name="ctl00$ctl00$ctl00$WholeBody$ContentPane$ContentArea$ctl01$ctl01$Body$butSubmit"
+
+Encode
+-----------------------------15671293698853--
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/binding/MultipartEmpty.txt b/bkucommon/src/test/resources/at/gv/egiz/bku/binding/MultipartEmpty.txt
new file mode 100644
index 00000000..97c29894
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/binding/MultipartEmpty.txt
@@ -0,0 +1,17 @@
+POST /http-security-layer-request HTTP/1.1
+User-Agent: Jakarta Commons-HttpClient/3.0
+Host: 127.0.0.1:13495
+Content-Length: 855
+Content-Type: multipart/form-data; boundary=uW10q_I9UeqKyw-1o5EW4jtEAaGs7-mC6o
+
+--uW10q_I9UeqKyw-1o5EW4jtEAaGs7-mC6o
+Content-Disposition: form-data; name="XMLRequest"
+
+<?xml version="1.0" encoding="UTF-8"?><sl:CreateXMLSignatureRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#"><sl:KeyboxIdentifier>SecureSignatureKeypair</sl:KeyboxIdentifier><sl:DataObjectInfo Structure="detached"><sl:DataObject Reference="urn:Document"><sl:LocRefContent>formdata:fileupload</sl:LocRefContent></sl:DataObject><sl:TransformsInfo><sl:FinalDataMetaInfo><sl:MimeType>text/plain</sl:MimeType></sl:FinalDataMetaInfo></sl:TransformsInfo></sl:DataObjectInfo></sl:CreateXMLSignatureRequest>
+--uW10q_I9UeqKyw-1o5EW4jtEAaGs7-mC6o
+Content-Disposition: form-data; name="fileupload"; filename="myfile.txt"
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: binary
+
+
+--uW10q_I9UeqKyw-1o5EW4jtEAaGs7-mC6o--
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/binding/MultipartFromTutorial.txt b/bkucommon/src/test/resources/at/gv/egiz/bku/binding/MultipartFromTutorial.txt
new file mode 100644
index 00000000..7014b1cf
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/binding/MultipartFromTutorial.txt
@@ -0,0 +1,37 @@
+POST /http-security-layer-request HTTP/1.1
+Host: 127.0.0.1
+User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0
+Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
+Accept-Language: de-at,de;q=0.7,en;q=0.3
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 300
+Connection: keep-alive
+Content-Type: multipart/form-data; boundary=---------------------------2330864292941
+Content-Length: 1800
+
+-----------------------------2330864292941
+Content-Disposition: form-data; name="Vorname_"
+
+Thassilo
+-----------------------------2330864292941
+Content-Disposition: form-data; name="Nachname_"
+
+Tester
+-----------------------------2330864292941
+Content-Disposition: form-data; name="Beilage_"; filename="Beilage.png"
+Content-Type: image/png
+
+‰PNG
+
+ IHDR   <Œ"¢ tRNS n¦‘ pHYs  ÒÝ~ü tEXtComment ‰*? WIDATxœ­”½NÂPÇ?qö|ŸÁ„÷18XB\HtpëÀ.nº ƒpcÀ&°2ºº¢.LþšÓ\n/åzÁ›œ¶çãÿç«­¬¦õÅUŠ ˆ>ÔU6J0®Žd…¦RÖÖÑåsÓDT ”*[°jÜM?‚þ{”‚)?¯¶ Sl»8X?ªàªÈh‚ÃZÏ&AÇc8röff#Ãì0Á¸Ð¼;ôQ@ÇÉËé#ÛAP0Ý}???û—v.LœkP÷ ÛV–†dvÖuV㬠€<? üƒ ÷-?€| ~€0¦ š‚º šSèÄCwçq{øF½óó­-M¦À~¢•?X G ….®SO»vJ?àí/P4@3ïí›?)6…SœÕôBÃÔìŒj'á, ðóc
+{©À Oþ÷c®ÿä‚!ÿgÆäŠÙcÌÙ¯"¾Æç]u@{C¿Ií$õC¨ IEND®B`‚
+-----------------------------2330864292941
+Content-Disposition: form-data; name="XMLRequest"
+
+<?xml version="1.0" encoding="UTF-8"?><sl:CreateHashRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#"> <sl:HashInfo RespondHashData="false"> <sl:HashData> <sl:MetaInfo> <sl:MimeType>application/octet-stream</sl:MimeType> </sl:MetaInfo> <sl:Content Reference="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/tutorial/examples/bindings/signattachments/Beilage.png"/> </sl:HashData> <sl:HashAlgorithm>http://www.w3.org/2000/09/xmldsig#sha1</sl:HashAlgorithm> <sl:FriendlyName>Beilage zum Formular 0815</sl:FriendlyName> </sl:HashInfo></sl:CreateHashRequest>
+-----------------------------2330864292941
+Content-Disposition: form-data; name="DataURL"
+
+http://localhost:18080/SL12Tutorial/SignAttachments;jsessionid=2BAF01A9069F6AF073A25B4D9B8E803E?use=sign
+-----------------------------2330864292941--
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/binding/NOPMultipartDataUrl.txt b/bkucommon/src/test/resources/at/gv/egiz/bku/binding/NOPMultipartDataUrl.txt
new file mode 100644
index 00000000..fb8cc1c3
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/binding/NOPMultipartDataUrl.txt
@@ -0,0 +1,47 @@
+POST /http-security-layer-request HTTP/1.1
+Host: 127.0.0.1
+User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0
+Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
+Accept-Language: de-at,de;q=0.7,en;q=0.3
+Accept-Encoding: gzip,deflate
+Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
+Keep-Alive: 300
+Connection: keep-alive
+Content-Type: multipart/form-data; boundary=---------------------------2330864292941
+Content-Length: 1800
+
+-----------------------------2330864292941
+Content-Disposition: form-data; name="Vorname_"
+Content-Type:text/xml;charset=UTF-8
+
+Thassilo
+-----------------------------2330864292941
+Content-Disposition: form-data; name="Nachname_"
+
+Tester
+-----------------------------2330864292941
+Content-Disposition: form-data; name="Beilage_"; filename="Beilage.png"
+Content-Type: image/png
+
+�PNG
+
+
+IHDR   <�"� tRNS n�� pHYs  ��~� tEXtComment �*? WIDATx����N�P�?q�|�D�18XB\Htp��.n�
+�pc�&�2���.L���\n/�z[�����竭����U���>�U6J0��d��R����s�DT
+�*[�j�M?��{��)?�� Sl�8X?���h��Z�&A�c8r�ff#��0xм;�Q@����#�AP0�}???�v.L�kP� �V��dv�uV� �<? � �-?�|
+~�0����� �S��Cw�q{�F����-M��~��?X G �.�SO�vJ?��/P4@3��?)6�S���B���j'�, ��c
+{�� O��c���!�g���c�ٯ"���]u@{C�I�$�C� IEND�B`�
+-----------------------------2330864292941
+Content-Disposition: form-data; name="XMLRequest"
+
+<?xml version="1.0" encoding="UTF-8"?><sl:NullOperationRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#"/>
+-----------------------------2330864292941
+Content-Disposition: form-data; name="WeitergabeHeader__";
+
+MyHeader:veryUgly
+
+-----------------------------2330864292941
+Content-Disposition: form-data; name="DataURL"
+
+http://localhost:8080/
+-----------------------------2330864292941--
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/binding/Nulloperation.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/binding/Nulloperation.xml
new file mode 100644
index 00000000..29ab2d41
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/binding/Nulloperation.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><sl:NullOperationRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#"/> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/binding/NulloperationRequest.txt.bin b/bkucommon/src/test/resources/at/gv/egiz/bku/binding/NulloperationRequest.txt.bin
new file mode 100644
index 00000000..5ee5aee6
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/binding/NulloperationRequest.txt.bin
@@ -0,0 +1 @@
+XMLRequest=%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%3CNullOperationRequest+xmlns%3D%22http%3A%2F%2Fwww.buergerkarte.at%2Fnamespaces%2Fsecuritylayer%2F1.2%23%22%2F%3E&RedirectURL=https%3A%2F%2Fdemo.egiz.gv.at%2Fbku-erkennung%2Fv1.1%2Fbku-erkennung%2Fbku-erkennung_helper.html \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/binding/Statemachine1.txt b/bkucommon/src/test/resources/at/gv/egiz/bku/binding/Statemachine1.txt
new file mode 100644
index 00000000..92d75066
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/binding/Statemachine1.txt
@@ -0,0 +1,36 @@
+
+-----------------------------2330864292941
+Content-Disposition: form-data; name="Vorname_"
+Content-Type:text/plain;charset=UTF-8
+
+Thassilo
+-----------------------------2330864292941
+Content-Disposition: form-data; name="Nachname_"
+
+Tester
+-----------------------------2330864292941
+Content-Disposition: form-data; name="Beilage_"; filename="Beilage.png"
+Content-Type: image/png
+
+�PNG
+
+
+IHDR   <�"� tRNS n�� pHYs  ��~� tEXtComment �*? WIDATx����N�P�?q�|�D�18XB\Htp��.n�
+�pc�&�2���.L���\n/�z[�����竭����U���>�U6J0��d��R����s�DT
+�*[�j�M?��{��)?�� Sl�8X?���h��Z�&A�c8r�ff#��0xм;�Q@����#�AP0�}???�v.L�kP� �V��dv�uV� �<? � �-?�|
+~�0����� �S��Cw�q{�F����-M��~��?X G �.�SO�vJ?��/P4@3��?)6�S���B���j'�, ��c
+{�� O��c���!�g���c�ٯ"���]u@{C�I�$�C� IEND�B`�
+-----------------------------2330864292941
+Content-Disposition: form-data; name="XMLRequest"
+Content-Type:text/xml;charset=UTF-8
+
+<?xml version="1.0" encoding="UTF-8"?><sl:NullOperationRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#"/>
+-----------------------------2330864292941
+Content-Disposition: form-data; name="WeitergabeHeader__";
+
+MyHeader:veryUgly
+-----------------------------2330864292941
+Content-Disposition: form-data; name="DataURL"
+
+http://localhost:8080/
+-----------------------------2330864292941--
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/binding/Stylesheet.txt b/bkucommon/src/test/resources/at/gv/egiz/bku/binding/Stylesheet.txt
new file mode 100644
index 00000000..71dbd103
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/binding/Stylesheet.txt
@@ -0,0 +1,56 @@
+
+-----------------------------2330864292941
+Content-Disposition: form-data; name="Vorname_"
+Content-Type:text/plain;charset=UTF-8
+
+Thassilo
+-----------------------------2330864292941
+Content-Disposition: form-data; name="Nachname_"
+
+Tester
+-----------------------------2330864292941
+Content-Disposition: form-data; name="StylesheetURL"
+
+formdata:Stylesheet
+-----------------------------2330864292941
+Content-Disposition: form-data; name="Beilage_"; filename="Beilage.png"
+Content-Type: image/png
+
+�PNG
+
+
+IHDR   <�"� tRNS n�� pHYs  ��~� tEXtComment �*? WIDATx����N�P�?q�|�D�18XB\Htp��.n�
+�pc�&�2���.L���\n/�z[�����竭����U���>�U6J0��d��R����s�DT
+�*[�j�M?��{��)?�� Sl�8X?���h��Z�&A�c8r�ff#��0xм;�Q@����#�AP0�}???�v.L�kP� �V��dv�uV� �<? � �-?�|
+~�0����� �S��Cw�q{�F����-M��~��?X G �.�SO�vJ?��/P4@3��?)6�S���B���j'�, ��c
+{�� O��c���!�g���c�ٯ"���]u@{C�I�$�C� IEND�B`�
+-----------------------------2330864292941
+Content-Disposition: form-data; name="XMLRequest"
+Content-Type:text/xml;charset=UTF-8
+
+<?xml version="1.0" encoding="UTF-8"?><sl:NullOperationRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#"/>
+-----------------------------2330864292941
+Content-Disposition: form-data; name="Stylesheet";
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:output media-type="text/html" encoding="ISO8859-1"/>
+ <xsl:template match="/">
+ <html>
+ <body>
+ <xsl:choose>
+ <xsl:when test="ok">
+ <h1>Alles Roger</h1>
+ </xsl:when>
+ <xsl:otherwise>
+ <h1>Uuups</h1>
+ </xsl:otherwise>
+ </xsl:choose>
+ </body>
+ </html>
+ </xsl:template>
+</xsl:stylesheet>
+-----------------------------2330864292941
+Content-Disposition: form-data; name="DataURL"
+
+http://localhost:8080/
+-----------------------------2330864292941--
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/binding/XWWWFormUrlEncoded1.txt b/bkucommon/src/test/resources/at/gv/egiz/bku/binding/XWWWFormUrlEncoded1.txt
new file mode 100644
index 00000000..32804c17
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/binding/XWWWFormUrlEncoded1.txt
@@ -0,0 +1 @@
+XMLRequest=%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Csl%3ACreateXMLSignatureRequest+%0D%0A++xmlns%3Asl%3D%22http%3A%2F%2Fwww.buergerkarte.at%2Fnamespaces%2Fsecuritylayer%2F1.2%23%22%3E%0D%0A%3Csl%3AKeyboxIdentifier%3ESecureSignatureKeypair%3C%2Fsl%3AKeyboxIdentifier%3E%0D%0A++%3Csl%3ADataObjectInfo+Structure%3D%22enveloping%22%3E%0D%0A++++%3Csl%3ADataObject%3E%0D%0A++++++%3Csl%3AXMLContent%3ELorem+ipsum+dolor+sit+amet%2C+consectetur+adipiscing+elit.+Pellentesque+sed+dui+sed+enim+lobortis+ullamcorper+eu+sit+amet+libero.+Cras+mi+dolor%2C+ultrices+quis+tincidunt+non%2C+imperdiet+in+orci.+Nulla+placerat+sodales+nibh+sit+amet+ornare.+Suspendisse+potenti.+Duis+ultricies+metus+tortor%2C+id+mattis+nulla.+Proin+cursus+commodo+aliquet.+In+posuere%2C+lorem+sit+amet+egestas+consequat%2C+diam+ligula+accumsan+dui%2C+non+placerat+diam+nisl+id+tortor.+Aliquam+blandit+viverra+tellus%2C+vel+facilisis+eros+fermentum+ultrices.+Nullam+sodales+mattis+vulputate.+Suspendisse+luctus+dapibus+odio%2C+tincidunt+tempus+dui+sollicitudin+sed.%0D%0A%0D%0AMauris+auctor%2C+est+non+mattis+consequat%2C+ante+sem+tristique+sem%2C+eget+porttitor+nisl+magna+consectetur+tortor.+Sed+semper+diam+nec+leo+fermentum+dictum.+Suspendisse+sed+ipsum+orci.+Phasellus+rhoncus+odio+sed+lorem+rhoncus+et+tincidunt+mi+semper.+Etiam+accumsan+aliquam+augue%2C+id+aliquet+dui+lacinia+non.+Suspendisse+non+purus+a+turpis+imperdiet+vestibulum+id+in+nisi.+Sed+quis+leo+nec+massa+rhoncus+pharetra+ac+non+ipsum.+Proin+tristique+est+eget+dolor+euismod+vitae+rhoncus+metus+molestie.+Duis+volutpat+leo+libero%2C+molestie+fermentum+turpis.+Praesent+interdum+tellus+mattis+lorem+mollis+sit+amet+elementum+risus+cursus.+Nam+erat+nulla%2C+mollis+sit+amet+rutrum+ut%2C+pharetra+gravida+ligula.+In+hac+habitasse+platea+dictumst.+Maecenas+non+massa+ac+ipsum+eleifend+tempor.+Ut+sed+diam+nisi%2C+in+volutpat+libero.+Duis+vehicula+purus+eu+risus+ultricies+rutrum.+Duis+risus+mi%2C+aliquam+nec+venenatis+vel%2C+scelerisque+eget+eros.+Pellentesque+mollis+aliquet+nibh%2C+et+hendrerit+tortor+lobortis+sed.%0D%0A%0D%0AAenean+odio+sem%2C+pretium+eget+sagittis+sed%2C+rhoncus+a+nisi.+Nulla+cursus+diam+sit+amet+massa+iaculis+ultricies.+Aenean+odio+lorem%2C+bibendum+vitae+consequat+vel%2C+luctus+id+diam.+Proin+congue%2C+dui+non+eleifend+interdum%2C+lorem+lorem+semper+ligula%2C+in+condimentum+orci+enim+eget+tellus.+Aliquam+erat+volutpat.+Quisque+porttitor+volutpat+elit%2C+quis+ultricies+elit+imperdiet+at.+Donec+dictum+ultricies+ligula.+Aliquam+in+condimentum+quam.+Ut+placerat+suscipit+dolor%2C+a+aliquet+arcu+suscipit+ut.+Suspendisse+et+arcu+id+quam+vehicula+ultrices.+Duis+erat+leo%2C+tempor+vel+aliquet+eu%2C+feugiat+eget+erat.+Nulla+facilisi.+Nulla+sed+lorem+sapien.+Aliquam+ullamcorper+dui+sed+nisl+sollicitudin+tempus.+Donec+ipsum+quam%2C+placerat+at+tincidunt+et%2C+condimentum+sit+amet+sapien.+In+luctus+ullamcorper+molestie.+Cras+non+augue+elit.+Ut+cursus+volutpat+augue%2C+sed+condimentum+est+mollis+vitae.+Class+aptent+taciti+sociosqu+ad+litora+torquent+per+conubia+nostra%2C+per+inceptos+himenaeos.+Donec+consectetur+lacus+quis+turpis+semper+elementum+vitae+eleifend+dui.%0D%0A%0D%0APraesent+sed+libero+metus.+Nulla+est+nulla%2C+condimentum+non+volutpat+nec%2C+elementum+at+nisi.+Vivamus+posuere+dignissim+ultricies.+Fusce+massa+velit%2C+dignissim+quis+vehicula+in%2C+consequat+at+purus.+Duis+accumsan+lacinia+mattis.+Aliquam+eget+felis+eget+odio+viverra+ornare+ut+non+orci.+Vivamus+porta%2C+magna+sit+amet+ornare+lacinia%2C+sem+erat+porta+lectus%2C+at+porttitor+nisl+nisl+tincidunt+nisi.+Pellentesque+ornare+massa+ac+urna+feugiat+dignissim.+Ut+at+metus+nunc%2C+sit+amet+vulputate+arcu.+In+hac+habitasse+platea+dictumst.+Suspendisse+eget+elit+nec+erat+iaculis+accumsan+ac+nec+velit.+Aliquam+erat+volutpat.+Proin+id+nibh+odio.+Cras+ullamcorper%2C+dolor+a+rutrum+pharetra%2C+turpis+ligula+adipiscing+nisl%2C+a+tristique+tortor+lorem+in+dolor.+Proin+ac+ligula+felis%2C+et+malesuada+orci.+Aliquam+erat+volutpat.+Phasellus+faucibus+ipsum+quis+libero+posuere+vitae+accumsan+enim+mollis.+Cras+metus+odio%2C+eleifend+sed+suscipit+at%2C+gravida+quis+diam.%0D%0A%0D%0AEtiam+lorem+turpis%2C+consequat+sit+amet+vestibulum+faucibus%2C+accumsan+in+libero.+Nam+ornare+laoreet+placerat.+Nam+pellentesque+lectus+at+urna+tincidunt+facilisis.+Suspendisse+a+libero+in+arcu+eleifend+semper+vitae+sed+tortor.+Curabitur+ac+magna+a+eros+blandit+eleifend+vel+in+tortor.+Morbi+pretium+ullamcorper+ligula+rutrum+porta.+Pellentesque+vitae+viverra+erat.+Quisque+neque+orci%2C+condimentum+id+tempus+in%2C+porttitor+nec+nibh.+Donec+a+odio+a+lectus+dapibus+fermentum+a+sit+amet+sem.+Cras+risus+dolor%2C+ultricies+eget+suscipit+nec%2C+tempus+eget+justo.+Aenean+suscipit+fermentum+nisl%2C+vel+sodales+elit+euismod+ac.+In+non+laoreet+mi.+Morbi+aliquet+quam+id+nunc+aliquet+facilisis.+Nulla+elementum+fringilla+eleifend.+Sed+tristique+nunc+eget+turpis+ullamcorper+varius.+Pellentesque+non+diam+nec+lorem+mollis+vulputate.+In+hac+habitasse+platea+dictumst.+Aenean+pellentesque+leo+ac+augue+molestie+non+varius+nibh+consectetur.+Donec+quis+dui+eget+tortor+pharetra+convallis+vel+quis+orci.+Nulla+at+odio+nisi%2C+sit+amet+luctus+diam.%0D%0A%0D%0ANam+nisl+nibh%2C+faucibus+eu+aliquet+non%2C+elementum+vitae+quam.+Etiam+massa+massa%2C+gravida+ut+pharetra+non%2C+mollis+in+augue.+Integer+urna+quam%2C+tincidunt+et+lacinia+et%2C+vehicula+sit+amet+justo.+Nulla+dui+dui%2C+semper+eget+adipiscing+rutrum%2C+dignissim+a+mi.+Cras+sit+amet+mauris+ac+neque+pretium+ultricies+sit+amet+non+elit.+Praesent+viverra+vehicula+orci+ut+congue.+Quisque+fermentum+neque+eu+turpis+scelerisque+sit+amet+luctus+erat+imperdiet.+Nulla+volutpat+quam+ut+ante+eleifend+in+tempus+diam+laoreet.+Cum+sociis+natoque+penatibus+et+magnis+dis+parturient+montes%2C+nascetur+ridiculus+mus.+Proin+et+lacus+ligula%2C+eget+fermentum+urna.+Ut+quis+urna+ac+nibh+molestie+sollicitudin.+Morbi+interdum+arcu+mauris.%0D%0A%0D%0ASed+posuere%2C+eros+eu+tempus+tempus%2C+nulla+felis+ultrices+tortor%2C+vel+fermentum+nunc+lectus+a+nisi.+Duis+enim+nisl%2C+facilisis+sit+amet+ullamcorper+nec%2C+imperdiet+vulputate+massa.+Nam+semper+aliquet+nunc%2C+vitae+malesuada+turpis+congue+a.+Proin+dolor+eros%2C+sollicitudin+eget+gravida+id%2C+adipiscing+a+risus.+Praesent+sed+mauris+ut+diam+mollis+tempus.+Curabitur+pulvinar+tortor+non+sapien+interdum+in+aliquet+metus+dignissim.+Aliquam+ut+orci+id+nunc+elementum+dapibus+non+ac+odio.+Etiam+nibh+ligula%2C+varius+sed+congue+et%2C+euismod+ac+dui.+Suspendisse+sit+amet+malesuada+ligula.+Aliquam+tempus+nunc+et+massa+mattis+iaculis.%0D%0A%0D%0ADonec+sit+amet+tincidunt+elit.+Vestibulum+ante+ipsum+primis+in+faucibus+orci+luctus+et+ultrices+posuere+cubilia+Curae%3B+Aenean+id+ante+ligula.+Fusce+at+libero+sed+nisl+luctus+sagittis.+Vivamus+sodales+nibh+eros%2C+at+pulvinar+neque.+Lorem+ipsum+dolor+sit+amet%2C+consectetur+adipiscing+elit.+Proin+augue+libero%2C+euismod+nec+semper+quis%2C+sollicitudin+ut+nulla.+Suspendisse+egestas+sapien+et+ante+interdum+ac+sollicitudin+arcu+malesuada.+Nulla+posuere+pretium+felis+id+ultricies.+Curabitur+nec+porttitor+lectus.%0D%0A%0D%0ANam+consectetur+tempor+sapien.+Nam+lobortis+porttitor+bibendum.+Maecenas+ac+enim+at+magna+tempor+imperdiet.+Donec+sed+ligula+ligula.+Morbi+et+orci+tortor.+Nulla+egestas+enim+vitae+libero+tincidunt+quis+rhoncus+quam+aliquam.+Etiam+non+justo+orci%2C+sit+amet+aliquam+eros.+Proin+vestibulum+leo+convallis+velit+tincidunt+nec+egestas+odio+lacinia.+Quisque+pellentesque+tempus+nisl%2C+ut+porta+tellus+aliquet+in.+Vestibulum+mollis+dapibus+velit+non+egestas.+Proin+vel+viverra+sapien.+Aliquam+erat+volutpat.+Curabitur+enim+eros%2C+aliquam+nec+dictum+eu%2C+fermentum+quis+nibh.+Donec+eget+enim+in+velit+viverra+scelerisque+sit+amet+in+lectus.+Etiam+sit+amet+orci+nisi.+Maecenas+ullamcorper%2C+nibh+quis+eleifend+euismod%2C+enim+turpis+pretium+nibh%2C+nec+venenatis+velit+risus+eu+tellus.%0D%0A%0D%0APraesent+elementum+mattis+placerat.+Curabitur+at+interdum+nibh.+Quisque+ullamcorper+eleifend+nunc+a+mollis.+Cras+ut+nulla+risus%2C+et+suscipit+risus.+Aenean+erat+diam%2C+facilisis+at+placerat+id%2C+placerat+sed+est.+Ut+nibh+libero%2C+varius+eget+suscipit+sed%2C+ultrices+eget+nisl.+Aenean+dignissim+enim+eget+dui+malesuada+et+consectetur+lorem+ullamcorper.+Class+aptent+taciti+sociosqu+ad+litora+torquent+per+conubia+nostra%2C+per+inceptos+himenaeos.+Donec+at+nisl+ut+eros+facilisis+congue+nec+at+dui.+Vestibulum+ante+ipsum+primis+in+faucibus+orci+luctus+et+ultrices+posuere+cubilia+Curae%3B+Proin+in+sem+nulla.+Class+aptent+taciti+sociosqu+ad+litora+torquent+per+conubia+nostra%2C+per+inceptos+himenaeos.+Integer+facilisis%2C+odio+vel+euismod+pretium%2C+libero+lorem+elementum+lorem%2C+at+accumsan+nisl+est+sed+nibh.+Etiam+blandit+diam+sed+tortor+molestie+at+rutrum+neque+viverra.%0D%0A%0D%0AUt+ultricies+pharetra+velit%2C+a+viverra+metus+elementum+vel.+Pellentesque+vitae+interdum+lorem.+Nam+tincidunt+nibh+eu+neque+rutrum+vehicula.+Vestibulum+vitae+arcu+vel+ante+commodo+blandit.+Sed+placerat+lobortis+nisi%2C+et+hendrerit+justo+ultrices+aliquam.+Suspendisse+eget+risus+vel+sapien+hendrerit+dignissim.+Sed+interdum+pellentesque+varius.+Nam+scelerisque%2C+mauris+ut+cursus+hendrerit%2C+purus+felis+rutrum+ante%2C+in+convallis+velit+urna+ornare+nisi.+Vestibulum+et+sapien+quis+justo+pretium+interdum.+Praesent+volutpat%2C+nisi+at+hendrerit+aliquet%2C+elit+libero+tincidunt+purus%2C+egestas+viverra+risus+magna+quis+risus.%0D%0A%0D%0ADonec+id+justo+sem.+Aenean+facilisis+pulvinar+est+ut+auctor.+Morbi+tincidunt+mollis+adipiscing.+Sed+pulvinar+lorem+neque.+Duis+eros+felis%2C+ultricies+eget+ultrices+ut%2C+dignissim+vitae+arcu.+Proin+quis+quam+mi.+Nunc+sagittis+ultricies+nibh%2C+eu+porttitor+urna+eleifend+in.+Sed+eget+lorem+eros.+Duis+non+tincidunt+sapien.+Vivamus+blandit+facilisis+ante.+Quisque+lectus+neque%2C+varius+vel+fringilla+eget%2C+vulputate+non+libero.%0D%0A%0D%0AClass+aptent+taciti+sociosqu+ad+litora+torquent+per+conubia+nostra%2C+per+inceptos+himenaeos.+Aenean+varius+congue+ultrices.+Phasellus+suscipit+vulputate+tristique.+Donec+nec+libero+vel+diam+sagittis+dignissim.+Donec+sed+dui+at+augue+sollicitudin+tristique+sollicitudin+in+nulla.+Nullam+id+magna+enim.+Etiam+convallis+mollis+urna+a+malesuada.+Duis+ac+iaculis+tellus.+Donec+scelerisque+eleifend+elit+ut+ornare.+Cras+vitae+sem+augue%2C+quis+lacinia+elit.+Pellentesque+sit+amet+nunc+metus%2C+luctus+lobortis+erat.+Nulla+lacus+lorem%2C+pharetra+ac+consectetur+at%2C+mattis+id+arcu.%0D%0A%0D%0ANunc+mi+est%2C+pharetra+vel+mattis+sit+amet%2C+faucibus+ut+tortor.+Morbi+ut+ante+eget+purus+gravida+dictum+in+sit+amet+ligula.+Aliquam+malesuada+metus+quis+nunc+placerat+lobortis.+Nulla+venenatis+vehicula+lacus%2C+sed+vestibulum+nibh+egestas+ornare.+Sed+a+lorem+nulla.+Donec+malesuada+dolor+congue+est+condimentum+eu+tincidunt+orci+ullamcorper.+Nam+porttitor+fermentum+purus+nec+molestie.+Nunc+porttitor+tincidunt+lobortis.+Nullam+vulputate+imperdiet+neque%2C+et+consectetur+lectus+molestie+vitae.+Nulla+facilisi.%0D%0A%0D%0APhasellus+laoreet+auctor+elit%2C+ac+sagittis+mi+tincidunt+eu.+Nunc+cursus+ipsum+eget+nulla+molestie+sollicitudin.+Vivamus+sapien+orci%2C+cursus+ut+fringilla+sed%2C+suscipit+id+libero.+Proin+convallis+lectus+et+mauris+suscipit+aliquet+non+quis+urna.+Donec+sit+amet+consequat+metus.+Praesent+lacus+ligula%2C+interdum+quis+rutrum+ut%2C+sodales+in+neque.+Donec+sed+nisi+nibh%2C+aliquet+volutpat+est.+Curabitur+volutpat+nunc+ante.+Nullam+pharetra+enim+at+eros+pulvinar+in+tincidunt+augue+interdum.+Maecenas+mi+quam%2C+placerat+nec+mollis+nec%2C+iaculis+eu+lorem.+Suspendisse+potenti.+Aenean+eu+neque+sit+amet+sapien+pulvinar+pretium.+Etiam+augue+quam%2C+malesuada+non+pretium+at%2C+feugiat+sit+amet+tortor.%0D%0A%0D%0ADonec+a+dui+in+augue+lacinia+pellentesque.+Praesent+vitae+tortor+sit+amet+velit+posuere+accumsan.+Phasellus+et+augue+ac+mauris+porttitor+tempus.+Pellentesque+non+odio+quis+nulla+dictum+facilisis.+Donec+blandit+odio+quam.+Mauris+quam+nunc%2C+semper+semper+posuere+eu%2C+pharetra+sed+diam.+Donec+tincidunt+ultrices+cursus.+Sed+venenatis+rhoncus+nisl%2C+nec+tempus+augue+imperdiet+non.+Nulla+facilisi.+Sed+rutrum+accumsan+velit+sit+amet+placerat.+Sed+rhoncus+quam+nec+enim+feugiat+ultricies.+Sed+et+lorem+elit.+Integer+semper+aliquam+nibh%2C+non+lobortis+lorem+fringilla+a.+Suspendisse+potenti.+Suspendisse+suscipit+est+mattis+massa+imperdiet+lacinia.+Integer+interdum+nisl+a+neque+posuere+porta.+Ut+eget+velit+ut+leo+elementum+vulputate.+Maecenas+congue+dignissim+bibendum.%0D%0A%0D%0ACurabitur+sed+cursus+nunc.+Pellentesque+aliquet+odio+et+augue+cursus+lacinia.+Nullam+molestie%2C+lorem+nec+gravida+aliquet%2C+augue+diam+vestibulum+tellus%2C+vitae+gravida+eros+ante+consequat+metus.+Donec+tempor+rhoncus+interdum.+Proin+laoreet+pretium+placerat.+Mauris+id+eros+eget+nisl+cursus+consequat+et+id+mauris.+Cras+non+nulla+a+tellus+sodales+eleifend+nec+quis+augue.+Class+aptent+taciti+sociosqu+ad+litora+torquent+per+conubia+nostra%2C+per+inceptos+himenaeos.+Nunc+blandit+est+nec+dolor+facilisis+eget+placerat+libero+imperdiet.+Cras+ultricies+mollis+nulla%2C+ut+ullamcorper+neque+bibendum+a.+Fusce+ullamcorper+orci+vitae+metus+auctor+tempor.+In+sit+amet+tellus+sed+libero+sagittis+consequat.+Aenean+posuere+nisi+id+sapien+tristique+a+malesuada+lorem+fermentum.+Quisque+pretium+malesuada+fermentum.+Sed+ut+nunc+ac+risus+consectetur+consequat+a+quis+dolor.+Cras+sit+amet+leo+felis.%0D%0A%0D%0ASed+vitae+justo+dolor%2C+eu+adipiscing+nibh.+Aliquam+ut+ultrices+ligula.+Cum+sociis+natoque+penatibus+et+magnis+dis+parturient+montes%2C+nascetur+ridiculus+mus.+Ut+sed+porttitor+felis.+Etiam+lectus+dolor%2C+egestas+id+scelerisque+vitae%2C+tristique+sed+justo.+Pellentesque+habitant+morbi+tristique+senectus+et+netus+et+malesuada+fames+ac+turpis+egestas.+Suspendisse+eu+quam+vel+lorem+sollicitudin+mattis.+Nulla+dictum+consequat+convallis.+Morbi+convallis+ligula+ac+sem+pellentesque+consequat.+Nam+et+est+nec+diam+eleifend+blandit+at+ac+metus.+Duis+rutrum+elementum+consequat.+Sed+semper+accumsan+pharetra.+Suspendisse+volutpat+nisi+hendrerit+justo+tincidunt+tempus.+Ut+venenatis+tincidunt+pretium.+Phasellus+porta+diam+in+purus+pulvinar+et+iaculis+massa+mollis.+Nulla+facilisi.+Vivamus+justo+felis%2C+euismod+vel+volutpat+vel%2C+euismod+at+orci.+Morbi+cursus%2C+massa+nec+ornare+consequat%2C+quam+leo+laoreet+lectus%2C+non+placerat+tortor+enim+eu+tellus.+Sed+ut+purus+nibh%2C+eget+dictum+purus.%0D%0A%0D%0ADonec+nisl+est%2C+pretium+sit+amet+faucibus+id%2C+vestibulum+et+nisl.+Morbi+egestas+pulvinar+sollicitudin.+Duis+tincidunt+enim+id+nulla+commodo+nec+lobortis+lacus+tristique.+Mauris+iaculis+mattis+turpis+non+molestie.+Quisque+non+ante+sed+orci+dictum+egestas.+In+ac+enim+at+dolor+posuere+laoreet.+Morbi+tortor+libero%2C+iaculis+nec+rhoncus+id%2C+laoreet+at+elit.+Cras+orci+dui%2C+interdum+at+lacinia+non%2C+venenatis+a+elit.+Etiam+suscipit+massa+in+ante+auctor+faucibus.+Praesent+non+quam+a+diam+viverra+gravida+sit+amet+eu+eros.+Quisque+sit+amet+suscipit+turpis.%0D%0A%0D%0APhasellus+non+tellus+purus%2C+sed+tempor+elit.+Cras+rutrum+condimentum+congue.+Sed+nec+felis+nibh.+Nam+condimentum+nisi+et+nulla+eleifend+in+imperdiet+velit+imperdiet.+Cras+ut+leo+sed+lectus+interdum+vehicula+quis+in+erat.+Nulla+et+semper+risus.+Cras+velit+sem%2C+sagittis+sit+amet+scelerisque+ut%2C+cursus+vitae+quam.+Maecenas+neque+dui%2C+dictum+non+porttitor+sed%2C+adipiscing+at+massa.+Phasellus+pulvinar+dui+ut+turpis+sagittis+et+imperdiet+nisl+porttitor.+Curabitur+porttitor+velit+in+justo+luctus+vel+placerat+est+tristique.+Maecenas+non+nisi+eget+est+feugiat+blandit.+Proin+eget+dui+lorem.+Aenean+id+sem+non+velit+commodo+sagittis+eget+in+quam.+Mauris+vitae+diam+quam%2C+et+mattis+turpis.+Integer+a+fringilla+erat.+Nunc+ligula+enim%2C+varius+eget+varius+non%2C+consectetur+sit+amet+nibh.+In+interdum+justo+sollicitudin+ipsum+pulvinar+ornare.+Aenean+et+gravida+nunc.+Fusce+in+ipsum+quis+lectus+commodo+laoreet+eu+eget+lorem.%0D%0A%0D%0APhasellus+dui+justo%2C+pulvinar+scelerisque+consectetur+nec%2C+mollis+vitae+metus.+Integer+id+tortor+nec+dui+rhoncus+vulputate+sed+id+tellus.+Nulla+sodales+suscipit+dolor%2C+vitae+pharetra+lacus+sagittis+ullamcorper.+Aenean+convallis+dapibus+sapien%2C+eget+interdum+tellus+accumsan+eget.+Nulla+at+purus+vel+nulla+auctor+fermentum+sed+aliquet+odio.+Pellentesque+habitant+morbi+tristique+senectus+et+netus+et+malesuada+fames+ac+turpis+egestas.+Pellentesque+laoreet%2C+nunc+vitae+venenatis+viverra%2C+velit+purus+aliquam+neque%2C+vitae+luctus+risus+magna+a+ante.+Proin+et+lectus+odio%2C+id+pulvinar+sapien.+Maecenas+vulputate+gravida+laoreet.+Sed+ut+nisl+vel+risus+malesuada+auctor.+Aenean+viverra+fermentum+sem+nec+sodales.+Etiam+eget+arcu+nibh.+Sed+eget+euismod+massa.+Sed+feugiat+nibh+aliquam+odio+lobortis+vehicula.+Duis+vulputate+mattis+enim+at+semper.+Pellentesque+habitant+morbi+tristique+senectus+et+netus+et+malesuada+fames+ac+turpis+egestas.+Aenean+laoreet+ultricies+neque.+Vestibulum+ante+ipsum+primis+in+faucibus+orci+luctus+et+ultrices+posuere+cubilia+Curae%3B%0D%0A%0D%0ACras+condimentum+magna+nec+mauris+viverra+eu+vulputate+nunc+feugiat.+Proin+lobortis+ultrices+mauris.+Sed+euismod%2C+nunc+et+ullamcorper+tincidunt%2C+eros+lectus+egestas+lectus%2C+eget+aliquam+elit+augue+in+eros.+Aenean+in+lorem+sed+tellus+porta+convallis.+Phasellus+sem+nunc%2C+facilisis+vel+luctus+ut%2C+mattis+vel+risus.+Donec+quis+feugiat+nulla.+Donec+eleifend+tempor+sodales.+Sed+mattis+congue+orci+non+tincidunt.+Fusce+massa+nisi%2C+pretium+ac+consequat+non%2C+sagittis+et+justo.+Phasellus+est+velit%2C+placerat+quis+posuere+et%2C+pellentesque+at+est.+Etiam+quis+lacus+a+nibh+eleifend+adipiscing.+Sed+vel+leo+arcu.+Fusce+porta+fringilla+felis+in+blandit.%0D%0A%0D%0ADonec+pretium%2C+eros+eget+auctor+elementum%2C+neque+tortor+placerat+urna%2C+id+dapibus+magna+lacus+sed+elit.+Quisque+auctor+molestie+turpis+et+mollis.+Nam+ipsum+metus%2C+lacinia+et+blandit+a%2C+egestas+aliquam+quam.+Suspendisse+potenti.+Morbi+tempus+lorem+eget+nibh+ultricies+congue.+Maecenas+in+enim+sed+odio+cursus+tincidunt.+Aliquam+erat+volutpat.+Fusce+fermentum+consectetur+bibendum.+Aenean+adipiscing+augue+non+ante+mattis+egestas.+Maecenas+porttitor+egestas+convallis.+Pellentesque+rhoncus+tincidunt+volutpat.+Aliquam+sed+sem+ac+augue+placerat+placerat+nec+sed+neque.%0D%0A%0D%0AMorbi+congue+eleifend+metus+at+pellentesque.+Maecenas+odio+mauris%2C+suscipit+eu+placerat+rutrum%2C+venenatis+ac+libero.+Duis+eleifend%2C+risus+placerat+congue+vestibulum%2C+neque+sem+varius+diam%2C+ultricies+auctor+nisi+massa+et+tellus.+Morbi+neque+odio%2C+suscipit+eleifend+dapibus+eget%2C+sodales+ac+massa.+Nullam+laoreet%2C+libero+sit+amet+ultricies+gravida%2C+neque+sem+eleifend+metus%2C+nec+consectetur+eros+lacus+ac+mauris.+Quisque+sollicitudin+consectetur+ante+non+lacinia.+Sed+quis+dolor+dolor%2C+eu+euismod+turpis.+In+posuere+metus+et+ligula+imperdiet+vitae+placerat+eros+bibendum.+Nullam+tincidunt+tincidunt+nisl+ac+mollis.+Mauris+at+augue+justo.+Nam+ac+vestibulum+justo.+In+id+elit+tortor.+Nunc+feugiat+molestie+orci%2C+in+molestie+elit+bibendum+eu.+Proin+libero+ipsum%2C+consectetur+sit+amet+facilisis+euismod%2C+bibendum+vel+felis.+Aliquam+posuere+quam+non+sapien+placerat+porttitor.%0D%0A%0D%0ANunc+volutpat%2C+arcu+sed+fringilla+blandit%2C+odio+risus+gravida+odio%2C+sollicitudin+tincidunt+lacus+odio+a+lectus.+Morbi+lacus+quam%2C+hendrerit+nec+facilisis+non%2C+luctus+ac+velit.+Lorem+ipsum+dolor+sit+amet%2C+consectetur+adipiscing+elit.+Proin+vitae+quam+orci%2C+quis+pellentesque+nisl.+Nullam+congue+risus+non+nisl+pulvinar+iaculis.+Integer+id+nisl+lorem%2C+eget+egestas+lacus.+Sed+nec+felis+eget+nisl+sagittis+sagittis.+Nunc+eu+laoreet+velit.+Vestibulum+quis+turpis+mi%2C+eget+tempor+ipsum.+Mauris+aliquet+tristique+feugiat.+Nulla+condimentum+bibendum+augue%2C+et+hendrerit+quam+porta+eget.+Etiam+imperdiet+tellus+nisl%2C+non+laoreet+neque.+Integer+sit+amet+pulvinar+lectus.+Cras+aliquam+turpis+at+urna+aliquam+vitae+dignissim+enim+tempor.+In+hac+habitasse+platea+dictumst.+Nulla+facilisi.+Integer+id+metus+orci.+Fusce+posuere+fermentum+scelerisque.+Praesent+non+facilisis+arcu.+Mauris+cursus+sem+sed+est+consequat+et+iaculis+orci+tincidunt.%0D%0A%0D%0ACurabitur+vulputate+faucibus+elit%2C+vitae+euismod+enim+condimentum+quis.+Aenean+pretium+cursus+odio%2C+in+interdum+magna+elementum+eu.+Donec+mi+lacus%2C+pulvinar+at+euismod+id%2C+mattis+sed+mi.+Vivamus+vehicula+dolor+id+arcu+commodo+scelerisque.+Nunc+ante+enim%2C+elementum+eu+sodales+pharetra%2C+placerat+id+orci.+Pellentesque+habitant+morbi+tristique+senectus+et+netus+et+malesuada+fames+ac+turpis+egestas.+Nam+porttitor+ornare+sapien%2C+sit+amet+ultrices+lorem+viverra+ac.+Nunc+nec+consequat+arcu.+Pellentesque+quis+pharetra+purus.+Vestibulum+consequat+sapien+non+velit+euismod+ultrices.+Donec+ultrices+mattis+metus%2C+id+suscipit+ipsum+tempus+vitae.+Duis+sodales%2C+arcu+et+tempor+molestie%2C+nibh+enim+ornare+dolor%2C+eu+rutrum+sapien+mauris+porttitor+sem.+Cras+at+convallis+dui.+Integer+sed+magna+turpis.+Morbi+congue+dictum+mauris%2C+ut+pellentesque+lorem+rhoncus+sit+amet.+Praesent+venenatis+purus+a+augue+rutrum+scelerisque.+Nulla+vitae+enim+quis+massa+mattis+malesuada+vitae+sed+purus.+Integer+luctus+posuere+arcu%2C+eu+lacinia+nunc+porttitor+vitae.+Curabitur+ullamcorper+consectetur+velit%2C+ut+porttitor+nulla+consequat+at.+Proin+quis+sapien+quis+lorem+venenatis+venenatis+sed+a+ante.%0D%0A%0D%0ANam+elementum+mauris+in+felis+accumsan+dignissim.+Etiam+sit+amet+elit+velit%2C+id+pellentesque+lorem.+Suspendisse+potenti.+Nam+imperdiet+interdum+lacus+et+facilisis.+Mauris+a+erat+leo%2C+posuere+dignissim+ante.+Pellentesque+at+turpis+sit+amet+odio+venenatis+accumsan+ut+in+diam.+Duis+vel+dolor+condimentum+erat+cursus+ornare.+Praesent+tempor+erat+vel+sapien+tempus+tincidunt.+Curabitur+consequat+lectus+lacus.+Suspendisse+ac+lectus+mauris%2C+ut+pharetra+diam.+Nam+massa+eros%2C+tincidunt+sit+amet+rhoncus+quis%2C+tincidunt+id+ipsum.+Aenean+tempus+porta+nibh+volutpat+iaculis.+Nulla+eleifend+laoreet+laoreet.+Aliquam+erat+volutpat.+Praesent+dolor+purus%2C+congue+eu+condimentum+sollicitudin%2C+posuere+ac+purus.+Sed+dolor+augue%2C+pretium+vel+mattis+sit+amet%2C+volutpat+eget+elit.%0D%0A%0D%0AAenean+sed+turpis+ac+odio+varius+bibendum.+Suspendisse+nulla+metus%2C+accumsan+non+euismod+nec%2C+fermentum+id+turpis.+Integer+venenatis+ante+et+odio+viverra+eget+condimentum+ipsum+blandit.+Morbi+convallis+venenatis+massa+ut+varius.+Vivamus+non+massa+sed+augue+pulvinar+porta.+Phasellus+sem+orci%2C+ultricies+et+lobortis+ac%2C+iaculis+non+libero.+Donec+non+magna+sit+amet+dolor+eleifend+pharetra+eu+eu+risus.+Duis+in+nisi+nulla%2C+sed+egestas+diam.+Morbi+at+nisl+metus%2C+in+tincidunt+tellus.+Mauris+a+rutrum+justo.+Proin+ligula+quam%2C+hendrerit+eu+viverra+non%2C+blandit+at+massa.+Praesent+ornare+nisi+et+dolor+vulputate+vel+porttitor+quam+varius.%0D%0A%0D%0ASuspendisse+tempor+pretium+luctus.+Nunc+cursus+sapien+rutrum+dolor+dictum+a+tincidunt+leo+pretium.+Ut+porta%2C+magna+bibendum+cursus+mollis%2C+lorem+augue+rhoncus+metus%2C+in+convallis+diam+elit+rhoncus+ante.+Integer+ut+condimentum+turpis.+Nulla+quis+erat+lectus.+Phasellus+volutpat+pulvinar+convallis.+Donec+quis+ante+sem%2C+ac+elementum+urna.+Suspendisse+ullamcorper+commodo+tortor%2C+a+venenatis+nisl+ullamcorper+a.+Integer+euismod+lobortis+purus%2C+non+fringilla+nunc+aliquam+vitae.+Sed+sit+amet+dolor+dui.+Donec+ultricies+bibendum+condimentum.+Nunc+mi+elit%2C+viverra+vitae+volutpat+blandit%2C+laoreet+id+diam.%0D%0A%0D%0AAenean+at+venenatis+nisi.+Morbi+vulputate+elit+sit+amet+felis+placerat+nec+bibendum+erat+aliquam.+Nullam+dignissim+nulla+sit+amet+tortor+dictum+pulvinar+ut+at+massa.+Sed+a+feugiat+nisi.+Quisque+ultricies+egestas+dui%2C+imperdiet+accumsan+leo+rhoncus+eget.+Mauris+molestie+diam+eget+nulla+sollicitudin+ut+lobortis+purus+rhoncus.+Aenean+ut+ligula+et+lacus+iaculis+ullamcorper.+Mauris+non+felis+sed+massa+imperdiet+mollis.+Proin+tristique+lorem+id+sem+placerat+ac+egestas+ipsum+vestibulum.+Maecenas+enim+nisl%2C+sollicitudin+quis+consequat+eu%2C+mollis+quis+ipsum.+Proin+leo+mauris%2C+pulvinar+sit+amet+vestibulum+ac%2C+pulvinar+ac+quam.%0D%0A%0D%0AFusce+sem+odio%2C+pretium+non+bibendum+nec%2C+suscipit+nec+tortor.+Donec+elit+odio%2C+sollicitudin+vitae+pretium+in%2C+ultricies+sit+amet+turpis.+Curabitur+at+justo+nunc.+Sed+in+consectetur+magna.+Cras+imperdiet+felis+a+turpis+ultricies+blandit.+In+aliquam+dictum+ante+eget+vehicula.+Aliquam+erat+volutpat.+Nulla+interdum+purus+dolor.+Nullam+convallis+hendrerit+commodo.+Donec+consectetur+nulla+ac+ligula+suscipit+dignissim.+Pellentesque+eget+mauris+nec+orci+pharetra+tempus+at+eu+quam.+Phasellus+neque+massa%2C+convallis+sed+interdum+et%2C+iaculis+vel+tellus.%0D%0A%0D%0ADonec+tincidunt+nulla+sed+orci+tempor+eget+pretium+magna+ultrices.+Fusce+vestibulum+lacus+vel+ante+hendrerit+fringilla.+Donec+risus+felis%2C+varius+sit+amet+semper+a%2C+porttitor+at+metus.+Curabitur+dui+nulla%2C+convallis+in+posuere+eget%2C+iaculis+non+arcu.+In+facilisis+erat+vitae+ligula+rhoncus+eget+mollis+nibh+tempor.+Nunc+posuere+pretium+lacinia.+Sed+condimentum+bibendum+fringilla.+Donec+sit+amet+purus+id+odio+venenatis+pulvinar.+Nam+vitae+risus+sed+libero+luctus+blandit.+In+eget+massa+sit+amet+mi+tempor+semper+in+quis+nisi.+Fusce+nec+semper+ligula.+Aliquam+a+orci+id+lectus+adipiscing+bibendum+eget+non+nulla.+Morbi+vitae+ornare+lorem.+Nunc+faucibus%2C+enim+vel+vehicula+faucibus%2C+ligula+nibh+interdum+ipsum%2C+ut+eleifend+nisl+dolor+nec+nisi.%0D%0A%0D%0AIn+et+venenatis+ligula.+Quisque+pulvinar%2C+tellus+sed+molestie+vulputate%2C+lacus+odio+ultrices+lorem%2C+a+ornare+tortor+sapien+ac+sem.+Vestibulum+nibh+enim%2C+auctor+at+condimentum+ut%2C+tincidunt+at+orci.+Phasellus+placerat+sem+id+purus+consequat+non+venenatis+dui+consequat.+Cum+sociis+natoque+penatibus+et+magnis+dis+parturient+montes%2C+nascetur+ridiculus+mus.+Vivamus+aliquam+rutrum+diam+at+rutrum.+Vivamus+a+nunc+eros.+Donec+aliquam+turpis+facilisis+lorem+aliquam+sit+amet+euismod+augue+lacinia.+Duis+ligula+orci%2C+dictum+sed+venenatis+vitae%2C+elementum+scelerisque+neque.+Pellentesque+habitant+morbi+tristique+senectus+et+netus+et+malesuada+fames+ac+turpis+egestas.+Curabitur+imperdiet+tincidunt+auctor.+Integer+ut+tellus+sed+justo+blandit+congue+sit+amet+malesuada+diam.+Aenean+egestas+congue+augue+ac+mattis.+Nam+vestibulum+dapibus+mattis.+Morbi+elit+metus%2C+sagittis+quis+faucibus+sit+amet%2C+varius+in+elit.+Maecenas+eu+ante+et+arcu+sagittis+sodales+at+in+volutpat.%3C%2Fsl%3AXMLContent%3E%0D%0A++++%3C%2Fsl%3ADataObject%3E%0D%0A+++%3Csl%3ATransformsInfo%3E%0D%0A+++++%3Csl%3AFinalDataMetaInfo%3E%0D%0A++++++%3Csl%3AMimeType%3Etext%2Fplain%3C%2Fsl%3AMimeType%3E%0D%0A++++++%3C%2Fsl%3AFinalDataMetaInfo%3E%0D%0A+++%3C%2Fsl%3ATransformsInfo%3E%0D%0A+%3C%2Fsl%3ADataObjectInfo%3E%0D%0A%3C%2Fsl%3ACreateXMLSignatureRequest%3E \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/binding/XWWWFormUrlEncoded2.txt b/bkucommon/src/test/resources/at/gv/egiz/bku/binding/XWWWFormUrlEncoded2.txt
new file mode 100644
index 00000000..de63c03c
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/binding/XWWWFormUrlEncoded2.txt
@@ -0,0 +1 @@
+XMLRequest=%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Csl%3ACreateXMLSignatureRequest+%0D%0A++xmlns%3Asl%3D%22http%3A%2F%2Fwww.buergerkarte.at%2Fnamespaces%2Fsecuritylayer%2F1.2%23%22%3E%0D%0A%3Csl%3AKeyboxIdentifier%3ESecureSignatureKeypair%3C%2Fsl%3AKeyboxIdentifier%3E%0D%0A++%3Csl%3ADataObjectInfo+Structure%3D%22enveloping%22%3E%0D%0A++++%3Csl%3ADataObject%3E%0D%0A++++++%3Csl%3AXMLContent%3ELorem+ipsum+dolor+sit+amet%2C+consectetur+adipiscing+elit.+Pellentesque+sed+dui+sed+enim+lobortis+ullamcorper+eu+sit+amet+libero.+Cras+mi+dolor%2C+ultrices+quis+tincidunt+non%2C+imperdiet+in+orci.+Nulla+placerat+sodales+nibh+sit+amet+ornare.+Suspendisse+potenti.+Duis+ultricies+metus+tortor%2C+id+mattis+nulla.+Proin+cursus+commodo+aliquet.+In+posuere%2C+lorem+sit+amet+egestas+consequat%2C+diam+ligula+accumsan+dui%2C+non+placerat+diam+nisl+id+tortor.+Aliquam+blandit+viverra+tellus%2C+vel+facilisis+eros+fermentum+ultrices.+Nullam+sodales+mattis+vulputate.+Suspendisse+luctus+dapibus+odio%2C+tincidunt+tempus+dui+sollicitudin+sed.%0D%0A%0D%0AMauris+auctor%2C+est+non+mattis+consequat%2C+ante+sem+tristique+sem%2C+eget+porttitor+nisl+magna+consectetur+tortor.+Sed+semper+diam+nec+leo+fermentum+dictum.+Suspendisse+sed+ipsum+orci.+Phasellus+rhoncus+odio+sed+lorem+rhoncus+et+tincidunt+mi+semper.+Etiam+accumsan+aliquam+augue%2C+id+aliquet+dui+lacinia+non.+Suspendisse+non+purus+a+turpis+imperdiet+vestibulum+id+in+nisi.+Sed+quis+leo+nec+massa+rhoncus+pharetra+ac+non+ipsum.+Proin+tristique+est+eget+dolor+euismod+vitae+rhoncus+metus+molestie.+Duis+volutpat+leo+libero%2C+molestie+fermentum+turpis.+Praesent+interdum+tellus+mattis+lorem+mollis+sit+amet+elementum+risus+cursus.+Nam+erat+nulla%2C+mollis+sit+amet+rutrum+ut%2C+pharetra+gravida+ligula.+In+hac+habitasse+platea+dictumst.+Maecenas+non+massa+ac+ipsum+eleifend+tempor.+Ut+sed+diam+nisi%2C+in+volutpat+libero.+Duis+vehicula+purus+eu+risus+ultricies+rutrum.+Duis+risus+mi%2C+aliquam+nec+venenatis+vel%2C+scelerisque+eget+eros.+Pellentesque+mollis+aliquet+nibh%2C+et+hendrerit+tortor+lobortis+sed.%0D%0A%0D%0AAenean+odio+sem%2C+pretium+eget+sagittis+sed%2C+rhoncus+a+nisi.+Nulla+cursus+diam+sit+amet+massa+iaculis+ultricies.+Aenean+odio+lorem%2C+bibendum+vitae+consequat+vel%2C+luctus+id+diam.+Proin+congue%2C+dui+non+eleifend+interdum%2C+lorem+lorem+semper+ligula%2C+in+condimentum+orci+enim+eget+tellus.+Aliquam+erat+volutpat.+Quisque+porttitor+volutpat+elit%2C+quis+ultricies+elit+imperdiet+at.+Donec+dictum+ultricies+ligula.+Aliquam+in+condimentum+quam.+Ut+placerat+suscipit+dolor%2C+a+aliquet+arcu+suscipit+ut.+Suspendisse+et+arcu+id+quam+vehicula+ultrices.+Duis+erat+leo%2C+tempor+vel+aliquet+eu%2C+feugiat+eget+erat.+Nulla+facilisi.+Nulla+sed+lorem+sapien.+Aliquam+ullamcorper+dui+sed+nisl+sollicitudin+tempus.+Donec+ipsum+quam%2C+placerat+at+tincidunt+et%2C+condimentum+sit+amet+sapien.+In+luctus+ullamcorper+molestie.+Cras+non+augue+elit.+Ut+cursus+volutpat+augue%2C+sed+condimentum+est+mollis+vitae.+Class+aptent+taciti+sociosqu+ad+litora+torquent+per+conubia+nostra%2C+per+inceptos+himenaeos.+Donec+consectetur+lacus+quis+turpis+semper+elementum+vitae+eleifend+dui.%0D%0A%0D%0APraesent+sed+libero+metus.+Nulla+est+nulla%2C+condimentum+non+volutpat+nec%2C+elementum+at+nisi.+Vivamus+posuere+dignissim+ultricies.+Fusce+massa+velit%2C+dignissim+quis+vehicula+in%2C+consequat+at+purus.+Duis+accumsan+lacinia+mattis.+Aliquam+eget+felis+eget+odio+viverra+ornare+ut+non+orci.+Vivamus+porta%2C+magna+sit+amet+ornare+lacinia%2C+sem+erat+porta+lectus%2C+at+porttitor+nisl+nisl+tincidunt+nisi.+Pellentesque+ornare+massa+ac+urna+feugiat+dignissim.+Ut+at+metus+nunc%2C+sit+amet+vulputate+arcu.+In+hac+habitasse+platea+dictumst.+Suspendisse+eget+elit+nec+erat+iaculis+accumsan+ac+nec+velit.+Aliquam+erat+volutpat.+Proin+id+nibh+odio.+Cras+ullamcorper%2C+dolor+a+rutrum+pharetra%2C+turpis+ligula+adipiscing+nisl%2C+a+tristique+tortor+lorem+in+dolor.+Proin+ac+ligula+felis%2C+et+malesuada+orci.+Aliquam+erat+volutpat.+Phasellus+faucibus+ipsum+quis+libero+posuere+vitae+accumsan+enim+mollis.+Cras+metus+odio%2C+eleifend+sed+suscipit+at%2C+gravida+quis+diam.%0D%0A%0D%0AEtiam+lorem+turpis%2C+consequat+sit+amet+vestibulum+faucibus%2C+accumsan+in+libero.+Nam+ornare+laoreet+placerat.+Nam+pellentesque+lectus+at+urna+tincidunt+facilisis.+Suspendisse+a+libero+in+arcu+eleifend+semper+vitae+sed+tortor.+Curabitur+ac+magna+a+eros+blandit+eleifend+vel+in+tortor.+Morbi+pretium+ullamcorper+ligula+rutrum+porta.+Pellentesque+vitae+viverra+erat.+Quisque+neque+orci%2C+condimentum+id+tempus+in%2C+porttitor+nec+nibh.+Donec+a+odio+a+lectus+dapibus+fermentum+a+sit+amet+sem.+Cras+risus+dolor%2C+ultricies+eget+suscipit+nec%2C+tempus+eget+justo.+Aenean+suscipit+fermentum+nisl%2C+vel+sodales+elit+euismod+ac.+In+non+laoreet+mi.+Morbi+aliquet+quam+id+nunc+aliquet+facilisis.+Nulla+elementum+fringilla+eleifend.+Sed+tristique+nunc+eget+turpis+ullamcorper+varius.+Pellentesque+non+diam+nec+lorem+mollis+vulputate.+In+hac+habitasse+platea+dictumst.+Aenean+pellentesque+leo+ac+augue+molestie+non+varius+nibh+consectetur.+Donec+quis+dui+eget+tortor+pharetra+convallis+vel+quis+orci.+Nulla+at+odio+nisi%2C+sit+amet+luctus+diam.%0D%0A%0D%0ANam+nisl+nibh%2C+faucibus+eu+aliquet+non%2C+elementum+vitae+quam.+Etiam+massa+massa%2C+gravida+ut+pharetra+non%2C+mollis+in+augue.+Integer+urna+quam%2C+tincidunt+et+lacinia+et%2C+vehicula+sit+amet+justo.+Nulla+dui+dui%2C+semper+eget+adipiscing+rutrum%2C+dignissim+a+mi.+Cras+sit+amet+mauris+ac+neque+pretium+ultricies+sit+amet+non+elit.+Praesent+viverra+vehicula+orci+ut+congue.+Quisque+fermentum+neque+eu+turpis+scelerisque+sit+amet+luctus+erat+imperdiet.+Nulla+volutpat+quam+ut+ante+eleifend+in+tempus+diam+laoreet.+Cum+sociis+natoque+penatibus+et+magnis+dis+parturient+montes%2C+nascetur+ridiculus+mus.+Proin+et+lacus+ligula%2C+eget+fermentum+urna.+Ut+quis+urna+ac+nibh+molestie+sollicitudin.+Morbi+interdum+arcu+mauris.%0D%0A%0D%0ASed+posuere%2C+eros+eu+tempus+tempus%2C+nulla+felis+ultrices+tortor%2C+vel+fermentum+nunc+lectus+a+nisi.+Duis+enim+nisl%2C+facilisis+sit+amet+ullamcorper+nec%2C+imperdiet+vulputate+massa.+Nam+semper+aliquet+nunc%2C+vitae+malesuada+turpis+congue+a.+Proin+dolor+eros%2C+sollicitudin+eget+gravida+id%2C+adipiscing+a+risus.+Praesent+sed+mauris+ut+diam+mollis+tempus.+Curabitur+pulvinar+tortor+non+sapien+interdum+in+aliquet+metus+dignissim.+Aliquam+ut+orci+id+nunc+elementum+dapibus+non+ac+odio.+Etiam+nibh+ligula%2C+varius+sed+congue+et%2C+euismod+ac+dui.+Suspendisse+sit+amet+malesuada+ligula.+Aliquam+tempus+nunc+et+massa+mattis+iaculis.%0D%0A%0D%0ADonec+sit+amet+tincidunt+elit.+Vestibulum+ante+ipsum+primis+in+faucibus+orci+luctus+et+ultrices+posuere+cubilia+Curae%3B+Aenean+id+ante+ligula.+Fusce+at+libero+sed+nisl+luctus+sagittis.+Vivamus+sodales+nibh+eros%2C+at+pulvinar+neque.+Lorem+ipsum+dolor+sit+amet%2C+consectetur+adipiscing+elit.+Proin+augue+libero%2C+euismod+nec+semper+quis%2C+sollicitudin+ut+nulla.+Suspendisse+egestas+sapien+et+ante+interdum+ac+sollicitudin+arcu+malesuada.+Nulla+posuere+pretium+felis+id+ultricies.+Curabitur+nec+porttitor+lectus.%0D%0A%0D%0ANam+consectetur+tempor+sapien.+Nam+lobortis+porttitor+bibendum.+Maecenas+ac+enim+at+magna+tempor+imperdiet.+Donec+sed+ligula+ligula.+Morbi+et+orci+tortor.+Nulla+egestas+enim+vitae+libero+tincidunt+quis+rhoncus+quam+aliquam.+Etiam+non+justo+orci%2C+sit+amet+aliquam+eros.+Proin+vestibulum+leo+convallis+velit+tincidunt+nec+egestas+odio+lacinia.+Quisque+pellentesque+tempus+nisl%2C+ut+porta+tellus+aliquet+in.+Vestibulum+mollis+dapibus+velit+non+egestas.+Proin+vel+viverra+sapien.+Aliquam+erat+volutpat.+Curabitur+enim+eros%2C+aliquam+nec+dictum+eu%2C+fermentum+quis+nibh.+Donec+eget+enim+in+velit+viverra+scelerisque+sit+amet+in+lectus.+Etiam+sit+amet+orci+nisi.+Maecenas+ullamcorper%2C+nibh+quis+eleifend+euismod%2C+enim+turpis+pretium+nibh%2C+nec+venenatis+velit+risus+eu+tellus.%0D%0A%0D%0APraesent+elementum+mattis+placerat.+Curabitur+at+interdum+nibh.+Quisque+ullamcorper+eleifend+nunc+a+mollis.+Cras+ut+nulla+risus%2C+et+suscipit+risus.+Aenean+erat+diam%2C+facilisis+at+placerat+id%2C+placerat+sed+est.+Ut+nibh+libero%2C+varius+eget+suscipit+sed%2C+ultrices+eget+nisl.+Aenean+dignissim+enim+eget+dui+malesuada+et+consectetur+lorem+ullamcorper.+Class+aptent+taciti+sociosqu+ad+litora+torquent+per+conubia+nostra%2C+per+inceptos+himenaeos.+Donec+at+nisl+ut+eros+facilisis+congue+nec+at+dui.+Vestibulum+ante+ipsum+primis+in+faucibus+orci+luctus+et+ultrices+posuere+cubilia+Curae%3B+Proin+in+sem+nulla.+Class+aptent+taciti+sociosqu+ad+litora+torquent+per+conubia+nostra%2C+per+inceptos+himenaeos.+Integer+facilisis%2C+odio+vel+euismod+pretium%2C+libero+lorem+elementum+lorem%2C+at+accumsan+nisl+est+sed+nibh.+Etiam+blandit+diam+sed+tortor+molestie+at+rutrum+neque+viverra.%0D%0A%0D%0AUt+ultricies+pharetra+velit%2C+a+viverra+metus+elementum+vel.+Pellentesque+vitae+interdum+lorem.+Nam+tincidunt+nibh+eu+neque+rutrum+vehicula.+Vestibulum+vitae+arcu+vel+ante+commodo+blandit.+Sed+placerat+lobortis+nisi%2C+et+hendrerit+justo+ultrices+aliquam.+Suspendisse+eget+risus+vel+sapien+hendrerit+dignissim.+Sed+interdum+pellentesque+varius.+Nam+scelerisque%2C+mauris+ut+cursus+hendrerit%2C+purus+felis+rutrum+ante%2C+in+convallis+velit+urna+ornare+nisi.+Vestibulum+et+sapien+quis+justo+pretium+interdum.+Praesent+volutpat%2C+nisi+at+hendrerit+aliquet%2C+elit+libero+tincidunt+purus%2C+egestas+viverra+risus+magna+quis+risus.%0D%0A%0D%0ADonec+id+justo+sem.+Aenean+facilisis+pulvinar+est+ut+auctor.+Morbi+tincidunt+mollis+adipiscing.+Sed+pulvinar+lorem+neque.+Duis+eros+felis%2C+ultricies+eget+ultrices+ut%2C+dignissim+vitae+arcu.+Proin+quis+quam+mi.+Nunc+sagittis+ultricies+nibh%2C+eu+porttitor+urna+eleifend+in.+Sed+eget+lorem+eros.+Duis+non+tincidunt+sapien.+Vivamus+blandit+facilisis+ante.+Quisque+lectus+neque%2C+varius+vel+fringilla+eget%2C+vulputate+non+libero.%0D%0A%0D%0AClass+aptent+taciti+sociosqu+ad+litora+torquent+per+conubia+nostra%2C+per+inceptos+himenaeos.+Aenean+varius+congue+ultrices.+Phasellus+suscipit+vulputate+tristique.+Donec+nec+libero+vel+diam+sagittis+dignissim.+Donec+sed+dui+at+augue+sollicitudin+tristique+sollicitudin+in+nulla.+Nullam+id+magna+enim.+Etiam+convallis+mollis+urna+a+malesuada.+Duis+ac+iaculis+tellus.+Donec+scelerisque+eleifend+elit+ut+ornare.+Cras+vitae+sem+augue%2C+quis+lacinia+elit.+Pellentesque+sit+amet+nunc+metus%2C+luctus+lobortis+erat.+Nulla+lacus+lorem%2C+pharetra+ac+consectetur+at%2C+mattis+id+arcu.%0D%0A%0D%0ANunc+mi+est%2C+pharetra+vel+mattis+sit+amet%2C+faucibus+ut+tortor.+Morbi+ut+ante+eget+purus+gravida+dictum+in+sit+amet+ligula.+Aliquam+malesuada+metus+quis+nunc+placerat+lobortis.+Nulla+venenatis+vehicula+lacus%2C+sed+vestibulum+nibh+egestas+ornare.+Sed+a+lorem+nulla.+Donec+malesuada+dolor+congue+est+condimentum+eu+tincidunt+orci+ullamcorper.+Nam+porttitor+fermentum+purus+nec+molestie.+Nunc+porttitor+tincidunt+lobortis.+Nullam+vulputate+imperdiet+neque%2C+et+consectetur+lectus+molestie+vitae.+Nulla+facilisi.%0D%0A%0D%0APhasellus+laoreet+auctor+elit%2C+ac+sagittis+mi+tincidunt+eu.+Nunc+cursus+ipsum+eget+nulla+molestie+sollicitudin.+Vivamus+sapien+orci%2C+cursus+ut+fringilla+sed%2C+suscipit+id+libero.+Proin+convallis+lectus+et+mauris+suscipit+aliquet+non+quis+urna.+Donec+sit+amet+consequat+metus.+Praesent+lacus+ligula%2C+interdum+quis+rutrum+ut%2C+sodales+in+neque.+Donec+sed+nisi+nibh%2C+aliquet+volutpat+est.+Curabitur+volutpat+nunc+ante.+Nullam+pharetra+enim+at+eros+pulvinar+in+tincidunt+augue+interdum.+Maecenas+mi+quam%2C+placerat+nec+mollis+nec%2C+iaculis+eu+lorem.+Suspendisse+potenti.+Aenean+eu+neque+sit+amet+sapien+pulvinar+pretium.+Etiam+augue+quam%2C+malesuada+non+pretium+at%2C+feugiat+sit+amet+tortor.%0D%0A%0D%0ADonec+a+dui+in+augue+lacinia+pellentesque.+Praesent+vitae+tortor+sit+amet+velit+posuere+accumsan.+Phasellus+et+augue+ac+mauris+porttitor+tempus.+Pellentesque+non+odio+quis+nulla+dictum+facilisis.+Donec+blandit+odio+quam.+Mauris+quam+nunc%2C+semper+semper+posuere+eu%2C+pharetra+sed+diam.+Donec+tincidunt+ultrices+cursus.+Sed+venenatis+rhoncus+nisl%2C+nec+tempus+augue+imperdiet+non.+Nulla+facilisi.+Sed+rutrum+accumsan+velit+sit+amet+placerat.+Sed+rhoncus+quam+nec+enim+feugiat+ultricies.+Sed+et+lorem+elit.+Integer+semper+aliquam+nibh%2C+non+lobortis+lorem+fringilla+a.+Suspendisse+potenti.+Suspendisse+suscipit+est+mattis+massa+imperdiet+lacinia.+Integer+interdum+nisl+a+neque+posuere+porta.+Ut+eget+velit+ut+leo+elementum+vulputate.+Maecenas+congue+dignissim+bibendum.%0D%0A%0D%0ACurabitur+sed+cursus+nunc.+Pellentesque+aliquet+odio+et+augue+cursus+lacinia.+Nullam+molestie%2C+lorem+nec+gravida+aliquet%2C+augue+diam+vestibulum+tellus%2C+vitae+gravida+eros+ante+consequat+metus.+Donec+tempor+rhoncus+interdum.+Proin+laoreet+pretium+placerat.+Mauris+id+eros+eget+nisl+cursus+consequat+et+id+mauris.+Cras+non+nulla+a+tellus+sodales+eleifend+nec+quis+augue.+Class+aptent+taciti+sociosqu+ad+litora+torquent+per+conubia+nostra%2C+per+inceptos+himenaeos.+Nunc+blandit+est+nec+dolor+facilisis+eget+placerat+libero+imperdiet.+Cras+ultricies+mollis+nulla%2C+ut+ullamcorper+neque+bibendum+a.+Fusce+ullamcorper+orci+vitae+metus+auctor+tempor.+In+sit+amet+tellus+sed+libero+sagittis+consequat.+Aenean+posuere+nisi+id+sapien+tristique+a+malesuada+lorem+fermentum.+Quisque+pretium+malesuada+fermentum.+Sed+ut+nunc+ac+risus+consectetur+consequat+a+quis+dolor.+Cras+sit+amet+leo+felis.%0D%0A%0D%0ASed+vitae+justo+dolor%2C+eu+adipiscing+nibh.+Aliquam+ut+ultrices+ligula.+Cum+sociis+natoque+penatibus+et+magnis+dis+parturient+montes%2C+nascetur+ridiculus+mus.+Ut+sed+porttitor+felis.+Etiam+lectus+dolor%2C+egestas+id+scelerisque+vitae%2C+tristique+sed+justo.+Pellentesque+habitant+morbi+tristique+senectus+et+netus+et+malesuada+fames+ac+turpis+egestas.+Suspendisse+eu+quam+vel+lorem+sollicitudin+mattis.+Nulla+dictum+consequat+convallis.+Morbi+convallis+ligula+ac+sem+pellentesque+consequat.+Nam+et+est+nec+diam+eleifend+blandit+at+ac+metus.+Duis+rutrum+elementum+consequat.+Sed+semper+accumsan+pharetra.+Suspendisse+volutpat+nisi+hendrerit+justo+tincidunt+tempus.+Ut+venenatis+tincidunt+pretium.+Phasellus+porta+diam+in+purus+pulvinar+et+iaculis+massa+mollis.+Nulla+facilisi.+Vivamus+justo+felis%2C+euismod+vel+volutpat+vel%2C+euismod+at+orci.+Morbi+cursus%2C+massa+nec+ornare+consequat%2C+quam+leo+laoreet+lectus%2C+non+placerat+tortor+enim+eu+tellus.+Sed+ut+purus+nibh%2C+eget+dictum+purus.%0D%0A%0D%0ADonec+nisl+est%2C+pretium+sit+amet+faucibus+id%2C+vestibulum+et+nisl.+Morbi+egestas+pulvinar+sollicitudin.+Duis+tincidunt+enim+id+nulla+commodo+nec+lobortis+lacus+tristique.+Mauris+iaculis+mattis+turpis+non+molestie.+Quisque+non+ante+sed+orci+dictum+egestas.+In+ac+enim+at+dolor+posuere+laoreet.+Morbi+tortor+libero%2C+iaculis+nec+rhoncus+id%2C+laoreet+at+elit.+Cras+orci+dui%2C+interdum+at+lacinia+non%2C+venenatis+a+elit.+Etiam+suscipit+massa+in+ante+auctor+faucibus.+Praesent+non+quam+a+diam+viverra+gravida+sit+amet+eu+eros.+Quisque+sit+amet+suscipit+turpis.%0D%0A%0D%0APhasellus+non+tellus+purus%2C+sed+tempor+elit.+Cras+rutrum+condimentum+congue.+Sed+nec+felis+nibh.+Nam+condimentum+nisi+et+nulla+eleifend+in+imperdiet+velit+imperdiet.+Cras+ut+leo+sed+lectus+interdum+vehicula+quis+in+erat.+Nulla+et+semper+risus.+Cras+velit+sem%2C+sagittis+sit+amet+scelerisque+ut%2C+cursus+vitae+quam.+Maecenas+neque+dui%2C+dictum+non+porttitor+sed%2C+adipiscing+at+massa.+Phasellus+pulvinar+dui+ut+turpis+sagittis+et+imperdiet+nisl+porttitor.+Curabitur+porttitor+velit+in+justo+luctus+vel+placerat+est+tristique.+Maecenas+non+nisi+eget+est+feugiat+blandit.+Proin+eget+dui+lorem.+Aenean+id+sem+non+velit+commodo+sagittis+eget+in+quam.+Mauris+vitae+diam+quam%2C+et+mattis+turpis.+Integer+a+fringilla+erat.+Nunc+ligula+enim%2C+varius+eget+varius+non%2C+consectetur+sit+amet+nibh.+In+interdum+justo+sollicitudin+ipsum+pulvinar+ornare.+Aenean+et+gravida+nunc.+Fusce+in+ipsum+quis+lectus+commodo+laoreet+eu+eget+lorem.%0D%0A%0D%0APhasellus+dui+justo%2C+pulvinar+scelerisque+consectetur+nec%2C+mollis+vitae+metus.+Integer+id+tortor+nec+dui+rhoncus+vulputate+sed+id+tellus.+Nulla+sodales+suscipit+dolor%2C+vitae+pharetra+lacus+sagittis+ullamcorper.+Aenean+convallis+dapibus+sapien%2C+eget+interdum+tellus+accumsan+eget.+Nulla+at+purus+vel+nulla+auctor+fermentum+sed+aliquet+odio.+Pellentesque+habitant+morbi+tristique+senectus+et+netus+et+malesuada+fames+ac+turpis+egestas.+Pellentesque+laoreet%2C+nunc+vitae+venenatis+viverra%2C+velit+purus+aliquam+neque%2C+vitae+luctus+risus+magna+a+ante.+Proin+et+lectus+odio%2C+id+pulvinar+sapien.+Maecenas+vulputate+gravida+laoreet.+Sed+ut+nisl+vel+risus+malesuada+auctor.+Aenean+viverra+fermentum+sem+nec+sodales.+Etiam+eget+arcu+nibh.+Sed+eget+euismod+massa.+Sed+feugiat+nibh+aliquam+odio+lobortis+vehicula.+Duis+vulputate+mattis+enim+at+semper.+Pellentesque+habitant+morbi+tristique+senectus+et+netus+et+malesuada+fames+ac+turpis+egestas.+Aenean+laoreet+ultricies+neque.+Vestibulum+ante+ipsum+primis+in+faucibus+orci+luctus+et+ultrices+posuere+cubilia+Curae%3B%0D%0A%0D%0ACras+condimentum+magna+nec+mauris+viverra+eu+vulputate+nunc+feugiat.+Proin+lobortis+ultrices+mauris.+Sed+euismod%2C+nunc+et+ullamcorper+tincidunt%2C+eros+lectus+egestas+lectus%2C+eget+aliquam+elit+augue+in+eros.+Aenean+in+lorem+sed+tellus+porta+convallis.+Phasellus+sem+nunc%2C+facilisis+vel+luctus+ut%2C+mattis+vel+risus.+Donec+quis+feugiat+nulla.+Donec+eleifend+tempor+sodales.+Sed+mattis+congue+orci+non+tincidunt.+Fusce+massa+nisi%2C+pretium+ac+consequat+non%2C+sagittis+et+justo.+Phasellus+est+velit%2C+placerat+quis+posuere+et%2C+pellentesque+at+est.+Etiam+quis+lacus+a+nibh+eleifend+adipiscing.+Sed+vel+leo+arcu.+Fusce+porta+fringilla+felis+in+blandit.%0D%0A%0D%0ADonec+pretium%2C+eros+eget+auctor+elementum%2C+neque+tortor+placerat+urna%2C+id+dapibus+magna+lacus+sed+elit.+Quisque+auctor+molestie+turpis+et+mollis.+Nam+ipsum+metus%2C+lacinia+et+blandit+a%2C+egestas+aliquam+quam.+Suspendisse+potenti.+Morbi+tempus+lorem+eget+nibh+ultricies+congue.+Maecenas+in+enim+sed+odio+cursus+tincidunt.+Aliquam+erat+volutpat.+Fusce+fermentum+consectetur+bibendum.+Aenean+adipiscing+augue+non+ante+mattis+egestas.+Maecenas+porttitor+egestas+convallis.+Pellentesque+rhoncus+tincidunt+volutpat.+Aliquam+sed+sem+ac+augue+placerat+placerat+nec+sed+neque.%0D%0A%0D%0AMorbi+congue+eleifend+metus+at+pellentesque.+Maecenas+odio+mauris%2C+suscipit+eu+placerat+rutrum%2C+venenatis+ac+libero.+Duis+eleifend%2C+risus+placerat+congue+vestibulum%2C+neque+sem+varius+diam%2C+ultricies+auctor+nisi+massa+et+tellus.+Morbi+neque+odio%2C+suscipit+eleifend+dapibus+eget%2C+sodales+ac+massa.+Nullam+laoreet%2C+libero+sit+amet+ultricies+gravida%2C+neque+sem+eleifend+metus%2C+nec+consectetur+eros+lacus+ac+mauris.+Quisque+sollicitudin+consectetur+ante+non+lacinia.+Sed+quis+dolor+dolor%2C+eu+euismod+turpis.+In+posuere+metus+et+ligula+imperdiet+vitae+placerat+eros+bibendum.+Nullam+tincidunt+tincidunt+nisl+ac+mollis.+Mauris+at+augue+justo.+Nam+ac+vestibulum+justo.+In+id+elit+tortor.+Nunc+feugiat+molestie+orci%2C+in+molestie+elit+bibendum+eu.+Proin+libero+ipsum%2C+consectetur+sit+amet+facilisis+euismod%2C+bibendum+vel+felis.+Aliquam+posuere+quam+non+sapien+placerat+porttitor.%0D%0A%0D%0ANunc+volutpat%2C+arcu+sed+fringilla+blandit%2C+odio+risus+gravida+odio%2C+sollicitudin+tincidunt+lacus+odio+a+lectus.+Morbi+lacus+quam%2C+hendrerit+nec+facilisis+non%2C+luctus+ac+velit.+Lorem+ipsum+dolor+sit+amet%2C+consectetur+adipiscing+elit.+Proin+vitae+quam+orci%2C+quis+pellentesque+nisl.+Nullam+congue+risus+non+nisl+pulvinar+iaculis.+Integer+id+nisl+lorem%2C+eget+egestas+lacus.+Sed+nec+felis+eget+nisl+sagittis+sagittis.+Nunc+eu+laoreet+velit.+Vestibulum+quis+turpis+mi%2C+eget+tempor+ipsum.+Mauris+aliquet+tristique+feugiat.+Nulla+condimentum+bibendum+augue%2C+et+hendrerit+quam+porta+eget.+Etiam+imperdiet+tellus+nisl%2C+non+laoreet+neque.+Integer+sit+amet+pulvinar+lectus.+Cras+aliquam+turpis+at+urna+aliquam+vitae+dignissim+enim+tempor.+In+hac+habitasse+platea+dictumst.+Nulla+facilisi.+Integer+id+metus+orci.+Fusce+posuere+fermentum+scelerisque.+Praesent+non+facilisis+arcu.+Mauris+cursus+sem+sed+est+consequat+et+iaculis+orci+tincidunt.%0D%0A%0D%0ACurabitur+vulputate+faucibus+elit%2C+vitae+euismod+enim+condimentum+quis.+Aenean+pretium+cursus+odio%2C+in+interdum+magna+elementum+eu.+Donec+mi+lacus%2C+pulvinar+at+euismod+id%2C+mattis+sed+mi.+Vivamus+vehicula+dolor+id+arcu+commodo+scelerisque.+Nunc+ante+enim%2C+elementum+eu+sodales+pharetra%2C+placerat+id+orci.+Pellentesque+habitant+morbi+tristique+senectus+et+netus+et+malesuada+fames+ac+turpis+egestas.+Nam+porttitor+ornare+sapien%2C+sit+amet+ultrices+lorem+viverra+ac.+Nunc+nec+consequat+arcu.+Pellentesque+quis+pharetra+purus.+Vestibulum+consequat+sapien+non+velit+euismod+ultrices.+Donec+ultrices+mattis+metus%2C+id+suscipit+ipsum+tempus+vitae.+Duis+sodales%2C+arcu+et+tempor+molestie%2C+nibh+enim+ornare+dolor%2C+eu+rutrum+sapien+mauris+porttitor+sem.+Cras+at+convallis+dui.+Integer+sed+magna+turpis.+Morbi+congue+dictum+mauris%2C+ut+pellentesque+lorem+rhoncus+sit+amet.+Praesent+venenatis+purus+a+augue+rutrum+scelerisque.+Nulla+vitae+enim+quis+massa+mattis+malesuada+vitae+sed+purus.+Integer+luctus+posuere+arcu%2C+eu+lacinia+nunc+porttitor+vitae.+Curabitur+ullamcorper+consectetur+velit%2C+ut+porttitor+nulla+consequat+at.+Proin+quis+sapien+quis+lorem+venenatis+venenatis+sed+a+ante.%0D%0A%0D%0ANam+elementum+mauris+in+felis+accumsan+dignissim.+Etiam+sit+amet+elit+velit%2C+id+pellentesque+lorem.+Suspendisse+potenti.+Nam+imperdiet+interdum+lacus+et+facilisis.+Mauris+a+erat+leo%2C+posuere+dignissim+ante.+Pellentesque+at+turpis+sit+amet+odio+venenatis+accumsan+ut+in+diam.+Duis+vel+dolor+condimentum+erat+cursus+ornare.+Praesent+tempor+erat+vel+sapien+tempus+tincidunt.+Curabitur+consequat+lectus+lacus.+Suspendisse+ac+lectus+mauris%2C+ut+pharetra+diam.+Nam+massa+eros%2C+tincidunt+sit+amet+rhoncus+quis%2C+tincidunt+id+ipsum.+Aenean+tempus+porta+nibh+volutpat+iaculis.+Nulla+eleifend+laoreet+laoreet.+Aliquam+erat+volutpat.+Praesent+dolor+purus%2C+congue+eu+condimentum+sollicitudin%2C+posuere+ac+purus.+Sed+dolor+augue%2C+pretium+vel+mattis+sit+amet%2C+volutpat+eget+elit.%0D%0A%0D%0AAenean+sed+turpis+ac+odio+varius+bibendum.+Suspendisse+nulla+metus%2C+accumsan+non+euismod+nec%2C+fermentum+id+turpis.+Integer+venenatis+ante+et+odio+viverra+eget+condimentum+ipsum+blandit.+Morbi+convallis+venenatis+massa+ut+varius.+Vivamus+non+massa+sed+augue+pulvinar+porta.+Phasellus+sem+orci%2C+ultricies+et+lobortis+ac%2C+iaculis+non+libero.+Donec+non+magna+sit+amet+dolor+eleifend+pharetra+eu+eu+risus.+Duis+in+nisi+nulla%2C+sed+egestas+diam.+Morbi+at+nisl+metus%2C+in+tincidunt+tellus.+Mauris+a+rutrum+justo.+Proin+ligula+quam%2C+hendrerit+eu+viverra+non%2C+blandit+at+massa.+Praesent+ornare+nisi+et+dolor+vulputate+vel+porttitor+quam+varius.%0D%0A%0D%0ASuspendisse+tempor+pretium+luctus.+Nunc+cursus+sapien+rutrum+dolor+dictum+a+tincidunt+leo+pretium.+Ut+porta%2C+magna+bibendum+cursus+mollis%2C+lorem+augue+rhoncus+metus%2C+in+convallis+diam+elit+rhoncus+ante.+Integer+ut+condimentum+turpis.+Nulla+quis+erat+lectus.+Phasellus+volutpat+pulvinar+convallis.+Donec+quis+ante+sem%2C+ac+elementum+urna.+Suspendisse+ullamcorper+commodo+tortor%2C+a+venenatis+nisl+ullamcorper+a.+Integer+euismod+lobortis+purus%2C+non+fringilla+nunc+aliquam+vitae.+Sed+sit+amet+dolor+dui.+Donec+ultricies+bibendum+condimentum.+Nunc+mi+elit%2C+viverra+vitae+volutpat+blandit%2C+laoreet+id+diam.%0D%0A%0D%0AAenean+at+venenatis+nisi.+Morbi+vulputate+elit+sit+amet+felis+placerat+nec+bibendum+erat+aliquam.+Nullam+dignissim+nulla+sit+amet+tortor+dictum+pulvinar+ut+at+massa.+Sed+a+feugiat+nisi.+Quisque+ultricies+egestas+dui%2C+imperdiet+accumsan+leo+rhoncus+eget.+Mauris+molestie+diam+eget+nulla+sollicitudin+ut+lobortis+purus+rhoncus.+Aenean+ut+ligula+et+lacus+iaculis+ullamcorper.+Mauris+non+felis+sed+massa+imperdiet+mollis.+Proin+tristique+lorem+id+sem+placerat+ac+egestas+ipsum+vestibulum.+Maecenas+enim+nisl%2C+sollicitudin+quis+consequat+eu%2C+mollis+quis+ipsum.+Proin+leo+mauris%2C+pulvinar+sit+amet+vestibulum+ac%2C+pulvinar+ac+quam.%0D%0A%0D%0AFusce+sem+odio%2C+pretium+non+bibendum+nec%2C+suscipit+nec+tortor.+Donec+elit+odio%2C+sollicitudin+vitae+pretium+in%2C+ultricies+sit+amet+turpis.+Curabitur+at+justo+nunc.+Sed+in+consectetur+magna.+Cras+imperdiet+felis+a+turpis+ultricies+blandit.+In+aliquam+dictum+ante+eget+vehicula.+Aliquam+erat+volutpat.+Nulla+interdum+purus+dolor.+Nullam+convallis+hendrerit+commodo.+Donec+consectetur+nulla+ac+ligula+suscipit+dignissim.+Pellentesque+eget+mauris+nec+orci+pharetra+tempus+at+eu+quam.+Phasellus+neque+massa%2C+convallis+sed+interdum+et%2C+iaculis+vel+tellus.%0D%0A%0D%0ADonec+tincidunt+nulla+sed+orci+tempor+eget+pretium+magna+ultrices.+Fusce+vestibulum+lacus+vel+ante+hendrerit+fringilla.+Donec+risus+felis%2C+varius+sit+amet+semper+a%2C+porttitor+at+metus.+Curabitur+dui+nulla%2C+convallis+in+posuere+eget%2C+iaculis+non+arcu.+In+facilisis+erat+vitae+ligula+rhoncus+eget+mollis+nibh+tempor.+Nunc+posuere+pretium+lacinia.+Sed+condimentum+bibendum+fringilla.+Donec+sit+amet+purus+id+odio+venenatis+pulvinar.+Nam+vitae+risus+sed+libero+luctus+blandit.+In+eget+massa+sit+amet+mi+tempor+semper+in+quis+nisi.+Fusce+nec+semper+ligula.+Aliquam+a+orci+id+lectus+adipiscing+bibendum+eget+non+nulla.+Morbi+vitae+ornare+lorem.+Nunc+faucibus%2C+enim+vel+vehicula+faucibus%2C+ligula+nibh+interdum+ipsum%2C+ut+eleifend+nisl+dolor+nec+nisi.%0D%0A%0D%0AIn+et+venenatis+ligula.+Quisque+pulvinar%2C+tellus+sed+molestie+vulputate%2C+lacus+odio+ultrices+lorem%2C+a+ornare+tortor+sapien+ac+sem.+Vestibulum+nibh+enim%2C+auctor+at+condimentum+ut%2C+tincidunt+at+orci.+Phasellus+placerat+sem+id+purus+consequat+non+venenatis+dui+consequat.+Cum+sociis+natoque+penatibus+et+magnis+dis+parturient+montes%2C+nascetur+ridiculus+mus.+Vivamus+aliquam+rutrum+diam+at+rutrum.+Vivamus+a+nunc+eros.+Donec+aliquam+turpis+facilisis+lorem+aliquam+sit+amet+euismod+augue+lacinia.+Duis+ligula+orci%2C+dictum+sed+venenatis+vitae%2C+elementum+scelerisque+neque.+Pellentesque+habitant+morbi+tristique+senectus+et+netus+et+malesuada+fames+ac+turpis+egestas.+Curabitur+imperdiet+tincidunt+auctor.+Integer+ut+tellus+sed+justo+blandit+congue+sit+amet+malesuada+diam.+Aenean+egestas+congue+augue+ac+mattis.+Nam+vestibulum+dapibus+mattis.+Morbi+elit+metus%2C+sagittis+quis+faucibus+sit+amet%2C+varius+in+elit.+Maecenas+eu+ante+et+arcu+sagittis+sodales+at+in+volutpat.%3C%2Fsl%3AXMLContent%3E%0D%0A++++%3C%2Fsl%3ADataObject%3E%0D%0A+++%3Csl%3ATransformsInfo%3E%0D%0A+++++%3Csl%3AFinalDataMetaInfo%3E%0D%0A++++++%3Csl%3AMimeType%3Etext%2Fplain%3C%2Fsl%3AMimeType%3E%0D%0A++++++%3C%2Fsl%3AFinalDataMetaInfo%3E%0D%0A+++%3C%2Fsl%3ATransformsInfo%3E%0D%0A+%3C%2Fsl%3ADataObjectInfo%3E%0D%0A%3C%2Fsl%3ACreateXMLSignatureRequest%3E&EmptyParam=&TransferParam__=%21%22%23%24%25%26%27%28%29*%2B%2C-.%2F0123456789%3A%3B%3C%3D%3E%3F%40ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5C%5D%5E_%60abcdefghijklmnopqrstuvwxyz%7B%7C%7D%7E%C2%A1%C2%A2%C2%A3%C2%A4%C2%A5%C2%A6%C2%A7%C2%A8%C2%A9%C2%AA%C2%AB%C2%AC+%C2%AE%C2%AF%C2%B0%C2%B1%C2%B2%C2%B3%C2%B4%C2%B5%C2%B6%C2%B7%C2%B8%C2%B9%C2%BA%C2%BB%C2%BC%C2%BD%C2%BE%C2%BF%C3%80%C3%81%C3%82%C3%83%C3%84%C3%85%C3%86%C3%87%C3%88%C3%89%C3%8A%C3%8B%C3%8C%C3%8D%C3%8E%C3%8F%C3%90%C3%91%C3%92%C3%93%C3%94%C3%95%C3%96%C3%97%C3%98%C3%99%C3%9A%C3%9B%C3%9C%C3%9D%C3%9E%C3%9F%C3%A0%C3%A1%C3%A2%C3%A3%C3%A4%C3%A5%C3%A6%C3%A7%C3%A8%C3%A9%C3%AA%C3%AB%C3%AC%C3%AD%C3%AE%C3%AF%C3%B0%C3%B1%C3%B2%C3%B3%C3%B4%C3%B5%C3%B6%C3%B7%C3%B8%C3%B9%C3%BA%C3%BB%C3%BC%C3%BD%C3%BE%C3%BF%CE%8E%CE%8F%CE%90%CE%91%CE%92%CE%93%CE%94%CE%95%CE%96%CE%97%CE%98%CE%99%CE%9A%CE%9B%CE%9C%CE%9D%CE%9E%CE%9F%CE%A0%CE%A1%CE%A3%CE%A4%CE%A5%CE%A6%CE%A7%CE%A8%CE%A9%CE%AA%CE%AB%CE%AC%CE%AD%CE%AE%CE%AF%CE%B0%CE%B1%CE%B2%CE%B3%CE%B4%CE%B5%CE%B6%CE%B7%CE%B8%CE%B9%CE%BA%CE%BB%CE%BC%CE%BD%CE%BE%CE%BF%CF%80%CF%81%CF%82%CF%83%CF%84%CF%85%CF%86%CF%87%CF%88%CF%89%CF%8A%CF%8B%CF%8C%CF%8D%CF%8E%CF%90%CF%91%CF%92%CF%93%CF%94%CF%95%CF%96%CF%97%CF%98%CF%99%CF%9A%CF%9B%CF%9C%CF%9D%CF%9E%CF%9F%CF%A0%CF%A1%D0%80%D0%81%D0%82%D0%83%D0%84%D0%85%D0%86%D0%87%D0%88%D0%89%D0%8A%D0%8B%D0%8C%D0%8D%D0%8E%D0%8F%D0%90%D0%91%D0%92%D0%93%D0%94%D0%95%D0%96%D0%97%D0%98%D0%99%D0%9A%D0%9B%D0%9C%D0%9D%D0%9E%D0%9F%D0%A0%D0%A1%D0%A2%D0%A3%D0%A4%D0%A5%D0%A6%D0%A7%D0%A8%D0%A9%D0%AA%D0%AB%D0%AC%D0%AD%D0%AE%D0%AF%D0%B0%D0%B1%D0%B2%D0%B3%D0%B4%D0%B5%D0%B6%D0%B7%D0%B8%D0%B9%D0%BA%D0%BB%D0%BC%D0%BD%D0%BE%D0%BF%D1%80%D1%81%D1%82%D1%83%D1%84%D1%85%D1%86%D1%87%D1%88%D1%89%D1%8A%D1%8B%D1%8C%D1%8D%D1%8E%D1%8F%D1%90%D1%91%D1%92%D1%93%D1%94%D1%95%D1%96%D1%97%D1%98%D1%99%D1%9A%D1%9B%D1%9C%D1%9D%D1%9E%D1%9F%D2%90%D2%91%D2%92%D2%93%D2%94%D2%95%D2%96%D2%97%D2%98%D2%99%D2%9A%D2%9B%D2%B0%D2%B1%D2%B2%D2%B3%D3%80%D3%81%D3%82%D3%83%D3%84%D3%90%D3%91%D3%92%D3%93%D3%94%D3%95%D3%96%D3%97%D3%98%D3%99%D3%9A%D3%9B%D3%9C%D3%9D%D3%9E%D3%9F%D3%A0%D3%A1%D3%A2%D3%A3%D3%A4%D3%A5%D3%A6%D3%A7%D3%A8%D3%A9%D3%AA%D3%AB%D3%AC%D3%AD%D3%AE%D3%AF%D3%B0%D3%B1%D3%B2%D3%B3%D3%B4%D3%B5%D3%B6%D3%B7%D3%B8%D3%B9 \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/binding/stylesheet.xslt b/bkucommon/src/test/resources/at/gv/egiz/bku/binding/stylesheet.xslt
new file mode 100644
index 00000000..bc1abc19
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/binding/stylesheet.xslt
@@ -0,0 +1,16 @@
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sl12="http://www.buergerkarte.at/namespaces/securitylayer/1.2#">
+ <xsl:output media-type="text/html"/>
+ <xsl:template match="/">
+ <html>
+ <body>
+ <xsl:apply-templates/>
+ </body>
+ </html>
+ </xsl:template>
+ <xsl:template match="ok">
+ Alles Roger
+ </xsl:template>
+ <xsl:template match="/sl12:NullOperationResponse">
+ NullKommaJosef
+ </xsl:template>
+</xsl:stylesheet> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/CACerts/A-Trust-Qual-01a.cer b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/CACerts/A-Trust-Qual-01a.cer
new file mode 100644
index 00000000..f9fef65f
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/CACerts/A-Trust-Qual-01a.cer
Binary files differ
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/CACerts/A-Trust-Qual-02a.cer b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/CACerts/A-Trust-Qual-02a.cer
new file mode 100644
index 00000000..36a442b8
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/CACerts/A-Trust-Qual-02a.cer
Binary files differ
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/CACerts/A-Trust-Qual-03a.cer b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/CACerts/A-Trust-Qual-03a.cer
new file mode 100644
index 00000000..ab9e0cd7
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/CACerts/A-Trust-Qual-03a.cer
Binary files differ
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/CACerts/A-Trust-nQual-01a.cer b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/CACerts/A-Trust-nQual-01a.cer
new file mode 100644
index 00000000..efa28178
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/CACerts/A-Trust-nQual-01a.cer
Binary files differ
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/CACerts/A-Trust-nQual-03.cer b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/CACerts/A-Trust-nQual-03.cer
new file mode 100644
index 00000000..33e77636
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/CACerts/A-Trust-nQual-03.cer
Binary files differ
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/A-Trust-Qual-01a.cer b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/A-Trust-Qual-01a.cer
new file mode 100644
index 00000000..f9fef65f
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/A-Trust-Qual-01a.cer
Binary files differ
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/A-Trust-Qual-02a.cer b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/A-Trust-Qual-02a.cer
new file mode 100644
index 00000000..36a442b8
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/A-Trust-Qual-02a.cer
Binary files differ
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/A-Trust-Qual-03a.cer b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/A-Trust-Qual-03a.cer
new file mode 100644
index 00000000..ab9e0cd7
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/A-Trust-Qual-03a.cer
Binary files differ
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/A-Trust-nQual-01a.cer b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/A-Trust-nQual-01a.cer
new file mode 100644
index 00000000..efa28178
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/A-Trust-nQual-01a.cer
Binary files differ
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/A-Trust-nQual-03.cer b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/A-Trust-nQual-03.cer
new file mode 100644
index 00000000..33e77636
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/A-Trust-nQual-03.cer
Binary files differ
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-SSL-03.cer b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-SSL-03.cer
new file mode 100644
index 00000000..ee859434
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-SSL-03.cer
@@ -0,0 +1,26 @@
+-----BEGIN CERTIFICATE-----
+MIIEdzCCA1+gAwIBAgIDAmU4MA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJB
+VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp
+bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5R
+dWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5RdWFsLTAzMB4XDTA2MDgxNjIyMDAw
+MFoXDTE2MDgxNjIyMDAwMFowgYcxCzAJBgNVBAYTAkFUMUgwRgYDVQQKDD9BLVRy
+dXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0ZW52
+ZXJrZWhyIEdtYkgxFjAUBgNVBAsMDWEtc2lnbi1TU0wtMDMxFjAUBgNVBAMMDWEt
+c2lnbi1TU0wtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDMjPM6
+PqgdPBPV4Efudpytt2Y4GZJfjeRdZo5SCuULDvvL+23xxBWnR3scFvfE1ekHN/YK
+k+2/qhU2B2ntoSNJSyDchNM8YPc9Lx67zZyhQTZgbBzh3IZAVb/hwuRRRV68JCBj
+r3r6v7IbwjH5XcVISdB4szx0z93aAQyKW9QkV+tD5a1vWFETvdHsZeVmDzfqcdsG
+AznPJw+9HrImCsswCWYUgPcFRkPNjj2r2NoyckVN781aWmNTAqJPf/Ckj9l9pUIt
+Vjhy8XNJW4iVDBkkykBXcGSkIau0ypJrRjsD1jKqUTIRZ/y2HlyltmwWi8OuyBLd
+LaHDbjc0b6JmqoivAgMBAAGjgeMwgeAwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4E
+CgQIQD6h02K0A90wEwYDVR0jBAwwCoAIRGqVZ1V5EU8wDgYDVR0PAQH/BAQDAgEG
+MIGUBgNVHR8EgYwwgYkwgYaggYOggYCGfmxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQv
+b3U9QS1UcnVzdC1uUXVhbC0wMyxvPUEtVHJ1c3QsYz1BVD9jZXJ0aWZpY2F0ZXJl
+dm9jYXRpb25saXN0P2Jhc2U/b2JqZWN0Y2xhc3M9ZWlkQ2VydGlmaWNhdGlvbkF1
+dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAQEAHKlnV3R9sbXojtONugyazkZCEzmC
+nZF1Dz4cOL0vPzzvS8MVWtG43zAgVI1NT/0ETSWsXD3YfzRi+f+/CxrGn0gwZX2t
+VGx+Z9w5ufiy1vuhxDUPmpos1TbJ4Wv3Une0E7iuHmNLg5qVlKeHWpcU8t1Y0nCt
+eRz34Qm87AVAykta33XST1fYvGoPKsDtn3qx9ye/pcbDvWjPwmqF2UUoql+d5hmJ
+Umgzwezqk4I+FS98BrnaPgC5UVFHg+yUjiUDLjYy7UvDZ5Led6kkLXuzVhQolLvr
+KTrGp5k42PG2MMkw8f6GMF/6yePXgzFMCRN8ReR7J5Htv33SytLRmFRd8g==
+-----END CERTIFICATE-----
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-03.cer b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-03.cer
new file mode 100644
index 00000000..7e67be95
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-03.cer
@@ -0,0 +1,27 @@
+-----BEGIN CERTIFICATE-----
+MIIEgzCCA2ugAwIBAgIDAarsMA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJB
+VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp
+bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5R
+dWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5RdWFsLTAzMB4XDTA1MTExMzIzMDAw
+MFoXDTE1MTExMzIzMDAwMFowgZMxCzAJBgNVBAYTAkFUMUgwRgYDVQQKDD9BLVRy
+dXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0ZW52
+ZXJrZWhyIEdtYkgxHDAaBgNVBAsME2Etc2lnbi1jb3Jwb3JhdGUtMDMxHDAaBgNV
+BAMME2Etc2lnbi1jb3Jwb3JhdGUtMDMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
+ggEKAoIBAQCp44qY+AiVXlcnHoKvch9s3ujoWFNktvcteIPwK7s0mb/uxTUW9UIF
+Die9n3AbyTsJE6R3nZYSJVHHi+1DKD72/WEo/B5NOOtd6KUMfJgca1tDmcsIwhFn
+82qkZrbNQwdIIdLe6+nDmjd9UBIaKv7yy1kq20jh09HOK3/bWhafVQE7EAgDfNrn
+8f0JfnnF0EA/La5kkg878L22fh9lRzt8H21THqJPtK4/e9SttjrJnPhFk2/MjAGS
+uaDufG6BV5Hnn7klR5qm5q32ypleLA6Zi4m9jRCVtPd4jRPYM40XpRkrJuFw+lxp
+rejfEZt/SRh1eQXiXDUgtgX8OaIylH9pAgMBAAGjgeMwgeAwDwYDVR0TAQH/BAUw
+AwEB/zARBgNVHQ4ECgQIQj75YZ1a5XIwEwYDVR0jBAwwCoAIRGqVZ1V5EU8wDgYD
+VR0PAQH/BAQDAgEGMIGUBgNVHR8EgYwwgYkwgYaggYOggYCGfmxkYXA6Ly9sZGFw
+LmEtdHJ1c3QuYXQvb3U9QS1UcnVzdC1uUXVhbC0wMyxvPUEtVHJ1c3QsYz1BVD9j
+ZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0P2Jhc2U/b2JqZWN0Y2xhc3M9ZWlkQ2Vy
+dGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAQEARu7e1SyBRjlA
+g/thtFwtKQRvopTZKWj2LWpEdvPvwThOvf8Depnas+ly5af8r8YzsqJzfX3XWvhN
+qOOI24g5FmXfCUTq/kbtaeTq/AqV94793IJfcilPnpMOEHMqXNDiRUoAgR/9EVj8
+mDVvL2lLlJzeAltqOD5Bi9QwguaD2/3/E5ymFnqkf1dnlXbo8AhcwPEzReNKn1eM
+Ilg4FwP1bP0HUK3Fyz1UQ/Hncg+MS7c+SkjpNEd4sH7/GdxuQs5Sk7IRwot1+sbX
+3CkkPhSqiUzig9raxJYrtbb2kyiUO8+d5HzRyoP4BNzsdZdPc0gDYweXg5qarHOQ
+16IEOtBmKg==
+-----END CERTIFICATE-----
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-light-01a.cer b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-light-01a.cer
new file mode 100644
index 00000000..0c68e593
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-light-01a.cer
@@ -0,0 +1,21 @@
+-----BEGIN CERTIFICATE-----
+MIIEJjCCAw6gAwIBAgIDAOJEMA0GCSqGSIb3DQEBBQUAMFUxCzAJBgNVBAYTAkFUMRAwDgYDVQQK
+EwdBLVRydXN0MRkwFwYDVQQLExBBLVRydXN0LW5RdWFsLTAxMRkwFwYDVQQDExBBLVRydXN0LW5R
+dWFsLTAxMB4XDTA0MTEzMDIzMDAwMFoXDTA4MTEzMDIzMDAwMFowgZ8xCzAJBgNVBAYTAkFUMUgw
+RgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0
+ZW52ZXJrZWhyIEdtYkgxIjAgBgNVBAsTGWEtc2lnbi1jb3Jwb3JhdGUtbGlnaHQtMDExIjAgBgNV
+BAMTGWEtc2lnbi1jb3Jwb3JhdGUtbGlnaHQtMDEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
+AoIBAQDGC65v8rni63DojEBriynPwRqNCp14/SkN5ROkTUGNvLSabfSJV4PKGLTzasPAaChwX0g/
+kebahFM3R7nIyeVx2YB8VRvC4I/spP/mCs5+6pf1N+6Kiq4NcswgNBBfqAteaQIylBMy6HDkjoXY
+X/c+SxjyrqAkeZCK+SHMOraXCO1PZHWbYwleKXf4R2Z6ayEfJ2XWeVuqqon76WHp/POI0RADBchA
+6Vm1ROzSAHz39bay1TZunQXSs3VQ9cE3uQPjN+80efmf0ZgNF0sXsDTssoZg2feTANSOkTGM1bMC
+5xe1hWFL8MZNe4yZ+NSgFN2fofb8BPvyQAW0no2PNA6PAgMBAAGjgbMwgbAwDwYDVR0TAQH/BAUw
+AwEB/zARBgNVHQ4ECgQITp5/1C/JHx8wEwYDVR0jBAwwCoAITlnOxwIyhzAwDgYDVR0PAQH/BAQD
+AgEGMGUGA1UdHwReMFwwWqBYoFaGVGxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9QS1UcnVzdC1u
+UXVhbC0wMSxvPUEtVHJ1c3QsYz1BVD9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0PzANBgkqhkiG
+9w0BAQUFAAOCAQEAOtuz2GqnTibk/poCLrdYKpZSrLyfWFsJJpfBYA9HMasnfpJBCHgRHJud6DAO
+xD900Vhmwy66D8dqsN3+fR8Bx8ZMKspnFN1B2Wz7LWOxMaKqP3JolJ/oVwzJRm0afcUMAfAumkc5
+Yqu0nC5qCF9zYY9YbJklh84uEzEg9j85kuRBHOCUc+5MVrnv7WPbirx6c95YFqXBQ0arA5QE9zYq
+MDO8aUYPOWEHgtrVI+kMwELYHqLDX7i9VqsXhgFPeVz1wIV7s/i3budGeHMS6hjnyIc30FqM7CTY
+fcvqVNZliErbjD1k1W1gMgvjLJowNvQC0W7K9/yoQhwTqtNMR4WZwA==
+-----END CERTIFICATE-----
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-light-02a.cer b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-light-02a.cer
new file mode 100644
index 00000000..c300891d
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-light-02a.cer
@@ -0,0 +1,27 @@
+-----BEGIN CERTIFICATE-----
+MIIEizCCA3OgAwIBAgIDAOSoMA0GCSqGSIb3DQEBBQUAMIGLMQswCQYDVQQGEwJB
+VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp
+bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRgwFgYDVQQLDA9BLVRydXN0LVF1
+YWwtMDIxGDAWBgNVBAMMD0EtVHJ1c3QtUXVhbC0wMjAeFw0wNDEyMTQyMzAwMDBa
+Fw0xNDEyMTMyMzAwMDBaMIGfMQswCQYDVQQGEwJBVDFIMEYGA1UECgw/QS1UcnVz
+dCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy
+a2VociBHbWJIMSIwIAYDVQQLDBlhLXNpZ24tY29ycG9yYXRlLWxpZ2h0LTAyMSIw
+IAYDVQQDDBlhLXNpZ24tY29ycG9yYXRlLWxpZ2h0LTAyMIIBIjANBgkqhkiG9w0B
+AQEFAAOCAQ8AMIIBCgKCAQEAk6V4oEauvXgEICqgjTbGHaiDhBVo2nosX23osoKM
+LTkkO/nOCgpdCYpLKgURxwrgHgVh9XT99yxhy6lDwt2rASajj0sQ1fY5BmWVyrXS
+dQ78ISMPb73XaG4M8H7PJFcsVEo9n8veVQwnMY5mSWy0r1IO8n93Bjbmmi4Zt8oS
+p9olWo5/8ByYW8S/AKZuQx+q+bFJv7geuApVjK2iVFe8yQqHhAgDsAsDlMvxDAQ/
+vhrGwHRv8N3sLsjirnbf5S2dGLDjASOMUFvwfLQd7gHH7PV37Xa+aQqa97eE6O4O
+sIhcGRYhoLk/tWTBDapcgHJ0yTtrftuwORVteLUAy0gBNwIDAQABo4HhMIHeMA8G
+A1UdEwEB/wQFMAMBAf8wEQYDVR0OBAoECEkcWDpP6A0DMBMGA1UdIwQMMAqACEI9
+KySmwUXOMA4GA1UdDwEB/wQEAwIBBjCBkgYDVR0fBIGKMIGHMIGEoIGBoH+GfWxk
+YXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9QS1UcnVzdC1RdWFsLTAyLG89QS1UcnVz
+dCxjPUFUP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3Q/YmFzZT9vYmplY3RjbGFz
+cz1laWRDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5MA0GCSqGSIb3DQEBBQUAA4IBAQBH
+opWG7LKmPBvuGjZnRV4KGKzzUYVuxSRS1E0VIUPbVLf5xW2r5uUpR8ud5EpiPrcw
+k6K0dzu2Vb4ZbMIP+6J16S/0qvTp/3A/3q87+nJ+ot+IT8GZFJfSw18th2WmZdzR
+ShbM6sgViPtGsFROCdWeiHl248w2+zG+09sf8Bu3UyvwLRAiiKaxuwVdQ9kc0TL3
+gvv+K5eisWWthQOX2IF2jGSEqoAVwfHhl7bc9Vt7XnJSpQFebHnsIVuV4Mv6w4ww
+86hQPCLLvvV7wWDiBQ8l2FWneX0pNH3Wg+A1TRUoptc+pPDdpoP272MDm4fXyPKV
+7QgIaIK+gXNUj2GGt1K9
+-----END CERTIFICATE-----
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-light-03.cer b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-light-03.cer
new file mode 100644
index 00000000..2251ca22
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-light-03.cer
@@ -0,0 +1,27 @@
+-----BEGIN CERTIFICATE-----
+MIIEjzCCA3egAwIBAgIDAartMA0GCSqGSIb3DQEBBQUAMIGNMQswCQYDVQQGEwJB
+VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp
+bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRkwFwYDVQQLDBBBLVRydXN0LW5R
+dWFsLTAzMRkwFwYDVQQDDBBBLVRydXN0LW5RdWFsLTAzMB4XDTA1MTExMzIzMDAw
+MFoXDTE1MTExMzIzMDAwMFowgZ8xCzAJBgNVBAYTAkFUMUgwRgYDVQQKDD9BLVRy
+dXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0ZW52
+ZXJrZWhyIEdtYkgxIjAgBgNVBAsMGWEtc2lnbi1jb3Jwb3JhdGUtbGlnaHQtMDMx
+IjAgBgNVBAMMGWEtc2lnbi1jb3Jwb3JhdGUtbGlnaHQtMDMwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQC359oitbHkkEgdErRPeBdkcYRK2DLdxfcnn+SI
+umSEYzWVscRTchPKSzb7f1a6EHPbB5WZsGJaUDX9KfTqsJNMo+7bASKk3gsLVxNZ
+qY2t2G+y8HvREYYejDOIzjAkcBQrt+nvuBUlGYVJQjEuyAn18f2vG0Y3VNvZFGKn
+PK8AVycUMk0Uw21RbK3vX5tbbPgQ/kcZkN4czi5VHepMvf6hAwwLoJj+KL9zxm8j
+yPK88qCBKAjMNCpZKsEhyanw1CjYbVmHs45Q5W6FBtqDcS6Iq4mC6TtUPGtCTuoH
+7/JLuhEp075ohp87v3fSlzeLJjBpkUDP9U8Tv7l2euD0t1UVAgMBAAGjgeMwgeAw
+DwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQIQZFpHL+t2JgwEwYDVR0jBAwwCoAI
+RGqVZ1V5EU8wDgYDVR0PAQH/BAQDAgEGMIGUBgNVHR8EgYwwgYkwgYaggYOggYCG
+fmxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9QS1UcnVzdC1uUXVhbC0wMyxvPUEt
+VHJ1c3QsYz1BVD9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0P2Jhc2U/b2JqZWN0
+Y2xhc3M9ZWlkQ2VydGlmaWNhdGlvbkF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOC
+AQEADTRIaQtPwoPS6/TpyBhOw4wAHk/RM4gkLT76URPY2sUHihxqy+8qEElN+f5l
+I61myCP3IFTClflcHVR1QCoMg0ZI5/EcQTI8Dgd5iQkXuVjh3wCj87Ka2Tu7d1K+
+i9VJ4BR/ph/qmPKR7Lx/PtATw/vWo4k2rbt5o1QwixZ7CPt+BF9xCaAC4uL0bB0M
+9M3i9W2ePmqX6WIB3jMkT9FQC0KihPPfw/17KddNi4rFMMEiTyKvJTtTqDnIAwWW
+TqsL1G7oxMMtnnYaKWMQ6gQiOiRzCY7efcAi/3YwUX6ULW5zxqapNs1vqEbSGsQE
+l1eFl67HBZHYAPdoHGUnZF0KaQ==
+-----END CERTIFICATE-----
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-medium-01a.cer b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-medium-01a.cer
new file mode 100644
index 00000000..2d7f1a03
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-medium-01a.cer
@@ -0,0 +1,21 @@
+-----BEGIN CERTIFICATE-----
+MIIEKDCCAxCgAwIBAgIDAOKKMA0GCSqGSIb3DQEBBQUAMFUxCzAJBgNVBAYTAkFUMRAwDgYDVQQK
+EwdBLVRydXN0MRkwFwYDVQQLExBBLVRydXN0LW5RdWFsLTAxMRkwFwYDVQQDExBBLVRydXN0LW5R
+dWFsLTAxMB4XDTA0MTIwNTIzMDAwMFoXDTA4MTEzMDIzMDAwMFowgaExCzAJBgNVBAYTAkFUMUgw
+RgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGltIGVsZWt0ci4gRGF0
+ZW52ZXJrZWhyIEdtYkgxIzAhBgNVBAsTGmEtc2lnbi1jb3Jwb3JhdGUtbWVkaXVtLTAxMSMwIQYD
+VQQDExphLXNpZ24tY29ycG9yYXRlLW1lZGl1bS0wMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
+AQoCggEBANEbZyIMIXZYBjTj/+3TrNGssRKNNdTedQlWB3vJQWLzeG89Kzmhy1WDX8IqDrMtvpXH
+5w6urK3ZT7HGu2Jldrib8rkEOdE9+uNGRtkP8Kuz//CvdXCbIDvBLqgvWn9a3Sl/rUicPqKwcEcN
+bP2Q0iU6NvvALmoqs93PymfTZlkGOwzUe+O88huXkauGWT/DkJd4JYDNJ0wlaGrJa+OorT4Izk1J
+EipqqedUjsAj4Gq3SKrZKG/H/CkoH9uWTzrzFgg8zQhCES4AClo84XVk//EIv3ABDw4hr+lqV1nF
+eXch9o4mLIe5u045471YLJLmyuCPDopb8U2VUoyldpMx+Y8CAwEAAaOBszCBsDAPBgNVHRMBAf8E
+BTADAQH/MBEGA1UdDgQKBAhOuHKxmCmfZDATBgNVHSMEDDAKgAhOWc7HAjKHMDAOBgNVHQ8BAf8E
+BAMCAQYwZQYDVR0fBF4wXDBaoFigVoZUbGRhcDovL2xkYXAuYS10cnVzdC5hdC9vdT1BLVRydXN0
+LW5RdWFsLTAxLG89QS1UcnVzdCxjPUFUP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3Q/MA0GCSqG
+SIb3DQEBBQUAA4IBAQDaukYSeJVxWAh8QShqGqA6Plp9aXCTzwl9hE2gb+/xGPASo+NVQi/sUa0+
+bx29oSJaW6lKzdHQLAx4dwW9XTpJ+0mebB4fQfYHH0lGc1O4au/4O9k+C3SrD6x4WeY9k/SpUFu1
+qjzH+tjta81UWtU7Jve1BhckNwdOFx7cR8fdW+pUQSDV9XnPJfyb+gb9KWhvX+XAbgJoXW1HjJOO
+P5sx6mFhMb3UqAfKQVoAuGbl4+uxIThBTqpICkaaD8WLdukqQjomUMDRbWIf6SblPuOEpPi1G/WM
+qkTkpqX77Wkj08QY/yj5DDrsYJ5NymnWvu7jcoxCFCKvEQ8Q4g7AYKnG
+-----END CERTIFICATE-----
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-medium-02a.cer b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-medium-02a.cer
new file mode 100644
index 00000000..194d4d7c
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/certStore/a-sign-corporate-medium-02a.cer
@@ -0,0 +1,27 @@
+-----BEGIN CERTIFICATE-----
+MIIEjTCCA3WgAwIBAgIDAOSpMA0GCSqGSIb3DQEBBQUAMIGLMQswCQYDVQQGEwJB
+VDFIMEYGA1UECgw/QS1UcnVzdCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBp
+bSBlbGVrdHIuIERhdGVudmVya2VociBHbWJIMRgwFgYDVQQLDA9BLVRydXN0LVF1
+YWwtMDIxGDAWBgNVBAMMD0EtVHJ1c3QtUXVhbC0wMjAeFw0wNDEyMTQyMzAwMDBa
+Fw0xNDEyMTMyMzAwMDBaMIGhMQswCQYDVQQGEwJBVDFIMEYGA1UECgw/QS1UcnVz
+dCBHZXMuIGYuIFNpY2hlcmhlaXRzc3lzdGVtZSBpbSBlbGVrdHIuIERhdGVudmVy
+a2VociBHbWJIMSMwIQYDVQQLDBphLXNpZ24tY29ycG9yYXRlLW1lZGl1bS0wMjEj
+MCEGA1UEAwwaYS1zaWduLWNvcnBvcmF0ZS1tZWRpdW0tMDIwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQCuaTBb6rHd5JZqAdvpmGIl5ne0Hg6GbpJvBeCI
+U6l9Rs8ebMY6aIS++qJOE9rnJHdfZNzLzduuoWEzEuwm9a/azQThM+eT+xlG/Vcf
+NuOQTTjAuXHLvYQ7WxSrBIT/kmAyqJgq/DEPvdX4jmCtVkuZ1gbxYIChLOVBWkVC
+FCK49BuXECtNy5fzK/GyfouZOVoQgiQ1YfecqzibcwO0t+f68Pvp/s6HESAH5tXY
+PdENDw4c/W/qKaeR87jPq98AJ8Lr4bmjWLjK8/ITtGglnJy8osFz22oR7f6fbWl6
+5LdhJ3giM68WEabQcZkw8cx3RDOzbnL2Kn+PVNHHyp3Wh849AgMBAAGjgeEwgd4w
+DwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISoLnpz/+q98wEwYDVR0jBAwwCoAI
+Qj0rJKbBRc4wDgYDVR0PAQH/BAQDAgEGMIGSBgNVHR8EgYowgYcwgYSggYGgf4Z9
+bGRhcDovL2xkYXAuYS10cnVzdC5hdC9vdT1BLVRydXN0LVF1YWwtMDIsbz1BLVRy
+dXN0LGM9QVQ/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdD9iYXNlP29iamVjdGNs
+YXNzPWVpZENlcnRpZmljYXRpb25BdXRob3JpdHkwDQYJKoZIhvcNAQEFBQADggEB
+ABqg1oRs/TZ0hJLJRV/xJglFzgn2fDAXeoVvWnAE09F1d0n+ZorKAKbMfiZ2CuKs
+M0AhU23/5zM90DdrtYWXpa+P8ONALZtHJIqGfVuRKYJq7jY5TpE3yRkTcrp47smp
+WqTwUgG+0aBeU9m+ZtGUFOsBkq+MudD8IZGc7VcLd1n4ltND9ITjX20hu01ju56c
+YC69vFa5hmIccXg/Q3dGEV5Amx8MTQJluG3QvqBOY74yrAFICvK1zsvu+vOGvJQj
+i+PxKlbQdehrV82VDxyfSjpEUADWMGRfE5vg4YBGgfRosh4w7a6ThD2LMLFPmIhy
+P6+VGUBCm2tMDDOo9DVkXFs=
+-----END CERTIFICATE-----
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/testCerts/www.a-trust.at.der b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/testCerts/www.a-trust.at.der
new file mode 100644
index 00000000..61ce8dff
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/conf/certs/testCerts/www.a-trust.at.der
Binary files differ
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/createxmlsignaturerequest/CreateXMLSignatureRequest.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/createxmlsignaturerequest/CreateXMLSignatureRequest.xml
new file mode 100644
index 00000000..e8622526
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/createxmlsignaturerequest/CreateXMLSignatureRequest.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sl:CreateXMLSignatureRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <sl:KeyboxIdentifier>CertifiedKeypair</sl:KeyboxIdentifier>
+ <sl:DataObjectInfo Structure="enveloping">
+ <sl:DataObject>
+ <sl:XMLContent>Von der Signatur umschlossene Daten.</sl:XMLContent>
+ </sl:DataObject>
+ <sl:TransformsInfo>
+ <sl:FinalDataMetaInfo>
+ <sl:MimeType>text/plain</sl:MimeType>
+ </sl:FinalDataMetaInfo>
+ </sl:TransformsInfo>
+ </sl:DataObjectInfo>
+ <sl:SignatureInfo>
+ <sl:SignatureEnvironment Reference="http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/tutorial/examples/interface/common/XMLDocument.withSchemaHint.xml"/>
+ <sl:SignatureLocation Index="4" xmlns:doc="urn:document">/doc:XMLDocument</sl:SignatureLocation>
+ <sl:Supplement>
+ <sl:Content Reference="urn:XMLDocument.xsd">
+ <sl:LocRefContent>http://www.buergerkarte.at/konzept/securitylayer/spezifikation/20040514/tutorial/examples/interface/common/XMLDocument.xsd</sl:LocRefContent>
+ </sl:Content>
+ </sl:Supplement>
+ </sl:SignatureInfo>
+</sl:CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/Cert.p12 b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/Cert.p12
new file mode 100644
index 00000000..7d42c4b3
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/Cert.p12
Binary files differ
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObject1.bin b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObject1.bin
new file mode 100644
index 00000000..34cace45
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObject1.bin
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<doc:XMLDocument xmlns:doc="urn:document" xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:document urn:XMLDocument.xsd">
+ <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph>
+ <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument.
+Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph>
+</doc:XMLDocument> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObject1.txt b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObject1.txt
new file mode 100644
index 00000000..7448a1e3
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObject1.txt
@@ -0,0 +1 @@
+Ich bin ein einfacher Text. \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObject1.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObject1.xml
new file mode 100644
index 00000000..92a106b7
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObject1.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<doc:XMLDocument xmlns:doc="urn:document" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:document urn:XMLDocument.xsd">
+ <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph>
+ <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument.
+Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph>
+</doc:XMLDocument> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_Base64Content_1.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_Base64Content_1.xml
new file mode 100644
index 00000000..a76308ae
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_Base64Content_1.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sl:CreateXMLSignatureRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <sl:DataObjectInfo Structure="enveloping">
+ <sl:DataObject>
+ <sl:Base64Content>SWNoIGJpbiBlaW4gZWluZmFjaGVyIFRleHQu</sl:Base64Content>
+ </sl:DataObject>
+ <sl:TransformsInfo>
+ <sl:FinalDataMetaInfo>
+ <sl:MimeType>text/plain</sl:MimeType>
+ </sl:FinalDataMetaInfo>
+ </sl:TransformsInfo>
+ </sl:DataObjectInfo>
+</sl:CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_Detached_1.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_Detached_1.xml
new file mode 100644
index 00000000..72e16347
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_Detached_1.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sl:CreateXMLSignatureRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <sl:DataObjectInfo Structure="detached">
+ <sl:DataObject Reference=""/>
+ <sl:TransformsInfo>
+ <sl:FinalDataMetaInfo>
+ <sl:MimeType>text/xml</sl:MimeType>
+ </sl:FinalDataMetaInfo>
+ </sl:TransformsInfo>
+ </sl:DataObjectInfo>
+</sl:CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_Detached_Base64Content.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_Detached_Base64Content.xml
new file mode 100644
index 00000000..61fb446d
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_Detached_Base64Content.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sl:CreateXMLSignatureRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <sl:DataObjectInfo Structure="detached">
+ <sl:DataObject Reference="testlocal:DataObject1.xml">
+ <sl:Base64Content>SWNoIGJpbiBlaW4gZWluZmFjaGVyIFRleHQu</sl:Base64Content>
+ </sl:DataObject>
+ <sl:TransformsInfo>
+ <sl:FinalDataMetaInfo>
+ <sl:MimeType>text/xml</sl:MimeType>
+ </sl:FinalDataMetaInfo>
+ </sl:TransformsInfo>
+ </sl:DataObjectInfo>
+</sl:CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_Detached_LocRefContent.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_Detached_LocRefContent.xml
new file mode 100644
index 00000000..75f45ff0
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_Detached_LocRefContent.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sl:CreateXMLSignatureRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <sl:DataObjectInfo Structure="detached">
+ <sl:DataObject Reference="http://example.com/path/filenameNoExt#fragmentNoExt">
+ <sl:LocRefContent>testlocal:DataObject1.bin</sl:LocRefContent>
+ </sl:DataObject>
+ <sl:TransformsInfo>
+ <sl:FinalDataMetaInfo>
+ <sl:MimeType>application/octet-stream</sl:MimeType>
+ </sl:FinalDataMetaInfo>
+ </sl:TransformsInfo>
+ </sl:DataObjectInfo>
+</sl:CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_LocRefContent_1.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_LocRefContent_1.xml
new file mode 100644
index 00000000..65bafc0c
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_LocRefContent_1.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sl:CreateXMLSignatureRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <sl:DataObjectInfo Structure="enveloping">
+ <sl:DataObject Reference="testlocal:DataObject1.xml"/>
+ <sl:TransformsInfo>
+ <sl:FinalDataMetaInfo>
+ <sl:MimeType>text/xml</sl:MimeType>
+ </sl:FinalDataMetaInfo>
+ </sl:TransformsInfo>
+ </sl:DataObjectInfo>
+</sl:CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_LocRefContent_2.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_LocRefContent_2.xml
new file mode 100644
index 00000000..a94f51b6
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_LocRefContent_2.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sl:CreateXMLSignatureRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <sl:DataObjectInfo Structure="enveloping">
+ <sl:DataObject>
+ <sl:LocRefContent>testlocal:DataObject1.bin</sl:LocRefContent>
+ </sl:DataObject>
+ <sl:TransformsInfo>
+ <sl:FinalDataMetaInfo>
+ <sl:MimeType>application/octet-stream</sl:MimeType>
+ </sl:FinalDataMetaInfo>
+ </sl:TransformsInfo>
+ </sl:DataObjectInfo>
+</sl:CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_Reference_1.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_Reference_1.xml
new file mode 100644
index 00000000..7bcb5113
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_Reference_1.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sl:CreateXMLSignatureRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <sl:DataObjectInfo Structure="enveloping">
+ <sl:DataObject>
+ <sl:LocRefContent>testlocal:DataObject1.txt</sl:LocRefContent>
+ </sl:DataObject>
+ <sl:TransformsInfo>
+ <sl:FinalDataMetaInfo>
+ <sl:MimeType>text/plain</sl:MimeType>
+ </sl:FinalDataMetaInfo>
+ </sl:TransformsInfo>
+ </sl:DataObjectInfo>
+</sl:CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_XMLContent_1.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_XMLContent_1.xml
new file mode 100644
index 00000000..2adda980
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_XMLContent_1.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sl:CreateXMLSignatureRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <sl:DataObjectInfo Structure="enveloping">
+ <sl:DataObject>
+ <sl:XMLContent>I am a simple <funny>funny</funny> text.</sl:XMLContent>
+ </sl:DataObject>
+ <sl:TransformsInfo>
+ <sl:FinalDataMetaInfo>
+ <sl:MimeType>text/xml</sl:MimeType>
+ <sl:Description>I am a fancy description.</sl:Description>
+ </sl:FinalDataMetaInfo>
+ </sl:TransformsInfo>
+ </sl:DataObjectInfo>
+</sl:CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_XMLContent_2.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_XMLContent_2.xml
new file mode 100644
index 00000000..cad96fc8
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/DataObjectInfo_XMLContent_2.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sl:CreateXMLSignatureRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <sl:DataObjectInfo Structure="enveloping">
+ <sl:DataObject>
+ <sl:XMLContent>I am a simple <funny>funny</funny> text.</sl:XMLContent>
+ </sl:DataObject>
+ <sl:TransformsInfo>
+ <dsig:Transforms xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></dsig:Transform>
+ </dsig:Transforms>
+ <sl:FinalDataMetaInfo>
+ <sl:MimeType>text/xml</sl:MimeType>
+ <sl:Description>I am a fancy description.</sl:Description>
+ </sl:FinalDataMetaInfo>
+ </sl:TransformsInfo>
+ </sl:DataObjectInfo>
+</sl:CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/Document.dtd b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/Document.dtd
new file mode 100644
index 00000000..b645cef9
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/Document.dtd
@@ -0,0 +1,3 @@
+<!ELEMENT XMLDocument (#PCDATA | Paragraph)*>
+<!ELEMENT Paragraph (#PCDATA)>
+<!ATTLIST Paragraph ParaId CDATA #IMPLIED>
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureEnvironment1.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureEnvironment1.xml
new file mode 100644
index 00000000..91fd7ccb
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureEnvironment1.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<doc:XMLDocument xmlns:doc="urn:document" xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:document urn:XMLDocument.xsd">
+ <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph>
+ <doc:Paragraph ParaId="Para2">Und ich bin der zweite Absatz in diesem Dokument.
+Ich habe weiters ein eigenens ID-Attribut bekommen.</doc:Paragraph>
+</doc:XMLDocument>
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureInfo_Base64_1.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureInfo_Base64_1.xml
new file mode 100644
index 00000000..dac81be7
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureInfo_Base64_1.xml
@@ -0,0 +1,23 @@
+<!--
+
+SignatureEnvironment:
+
+<?xml version="1.0" encoding="UTF-8"?>
+<doc:XMLDocument xmlns:doc="urn:document">
+ <doc:Paragraph>Ich bin der erste Absatz in diesem Dokument.</doc:Paragraph>
+ <doc:Paragraph>Und ich bin der zweite Absatz in diesem Dokument.</doc:Paragraph>
+</doc:XMLDocument>
+
+ -->
+<sl:CreateXMLSignatureRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <sl:SignatureInfo>
+ <sl:SignatureEnvironment>
+ <sl:Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxkb2M6WE1MRG9jdW1lbnQg
+eG1sbnM6ZG9jPSJ1cm46ZG9jdW1lbnQiPg0KICA8ZG9jOlBhcmFncmFwaD5JY2ggYmluIGRlciBl
+cnN0ZSBBYnNhdHogaW4gZGllc2VtIERva3VtZW50LjwvZG9jOlBhcmFncmFwaD4NCiAgPGRvYzpQ
+YXJhZ3JhcGg+VW5kIGljaCBiaW4gZGVyIHp3ZWl0ZSBBYnNhdHogaW4gZGllc2VtIERva3VtZW50
+LjwvZG9jOlBhcmFncmFwaD4NCjwvZG9jOlhNTERvY3VtZW50Pg0K</sl:Base64Content>
+ </sl:SignatureEnvironment>
+ <sl:SignatureLocation xmlns:doc="urn:document" Index="2">/doc:XMLDocument</sl:SignatureLocation>
+ </sl:SignatureInfo>
+</sl:CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureInfo_Base64_2.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureInfo_Base64_2.xml
new file mode 100644
index 00000000..7d8c7c01
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureInfo_Base64_2.xml
@@ -0,0 +1,18 @@
+<sl:CreateXMLSignatureRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <sl:SignatureInfo>
+ <sl:SignatureEnvironment>
+ <sl:Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjwhRE9DVFlQRSBYTUxEb2N1
+bWVudCBTWVNURU0gInVybjpEb2N1bWVudC5kdGQiPg0KPFhNTERvY3VtZW50Pg0KICAgIDxQYXJh
+Z3JhcGg+SWNoIGJpbiBkZXIgZXJzdGUgQWJzYXR6IGluIGRpZXNlbSBEb2t1bWVudC48L1BhcmFn
+cmFwaD4NCiAgICA8UGFyYWdyYXBoIFBhcmFJZD0iUGFyYTIiPlVuZCBpY2ggYmluIGRlciB6d2Vp
+dGUgQWJzYXR6IGluIGRpZXNlbSBEb2t1bWVudC4NCiAgICBJY2ggaGFiZSB3ZWl0ZXJzIGVpbiBl
+aWdlbmVucyBJRC1BdHRyaWJ1dCBiZWtvbW1lbi48L1BhcmFncmFwaD4NCjwvWE1MRG9jdW1lbnQ+</sl:Base64Content>
+ </sl:SignatureEnvironment>
+ <sl:SignatureLocation xmlns:doc="urn:document" Index="2">/XMLDocument</sl:SignatureLocation>
+ <sl:Supplement>
+ <sl:Content Reference="urn:Document.dtd">
+ <sl:LocRefContent>testlocal:Document.dtd</sl:LocRefContent>
+ </sl:Content>
+ </sl:Supplement>
+ </sl:SignatureInfo>
+</sl:CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureInfo_Base64_3.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureInfo_Base64_3.xml
new file mode 100644
index 00000000..91425a93
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureInfo_Base64_3.xml
@@ -0,0 +1,20 @@
+<sl:CreateXMLSignatureRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <sl:SignatureInfo>
+ <sl:SignatureEnvironment>
+ <sl:Base64Content>PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjwhRE9DVFlQRSBYTUxEb2N1
+bWVudCBTWVNURU0gInVybjpEb2N1bWVudC5kdGQiPg0KPFhNTERvY3VtZW50Pg0KICAgIDxQYXJh
+Z3JhcGg+SWNoIGJpbiBkZXIgZXJzdGUgQWJzYXR6IGluIGRpZXNlbSBEb2t1bWVudC48L1BhcmFn
+cmFwaD4NCiAgICA8UGFyYWdyYXBoIFBhcmFJZD0iUGFyYTIiPlVuZCBpY2ggYmluIGRlciB6d2Vp
+dGUgQWJzYXR6IGluIGRpZXNlbSBEb2t1bWVudC4NCiAgICBJY2ggaGFiZSB3ZWl0ZXJzIGVpbiBl
+aWdlbmVucyBJRC1BdHRyaWJ1dCBiZWtvbW1lbi48L1BhcmFncmFwaD4NCjwvWE1MRG9jdW1lbnQ+</sl:Base64Content>
+ </sl:SignatureEnvironment>
+ <sl:SignatureLocation xmlns:doc="urn:document" Index="2">/XMLDocument</sl:SignatureLocation>
+ <sl:Supplement>
+ <sl:Content Reference="urn:Document.dtd">
+ <sl:Base64Content>PCFFTEVNRU5UIFhNTERvY3VtZW50ICgjUENEQVRBIHwgUGFyYWdyYXBoKSo+DQo8IUVMRU1FTlQg
+UGFyYWdyYXBoICgjUENEQVRBKT4NCjwhQVRUTElTVCBQYXJhZ3JhcGggUGFyYUlkIENEQVRBICNJ
+TVBMSUVEPg==</sl:Base64Content>
+ </sl:Content>
+ </sl:Supplement>
+ </sl:SignatureInfo>
+</sl:CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureInfo_Reference_1.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureInfo_Reference_1.xml
new file mode 100644
index 00000000..d1589f24
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureInfo_Reference_1.xml
@@ -0,0 +1,11 @@
+<sl:CreateXMLSignatureRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <sl:SignatureInfo>
+ <sl:SignatureEnvironment Reference="testlocal:SignatureEnvironment1.xml"/>
+ <sl:SignatureLocation Index="0" xmlns:doc="urn:document">id("Para2")</sl:SignatureLocation>
+ <sl:Supplement>
+ <sl:Content Reference="urn:XMLDocument.xsd">
+ <sl:LocRefContent>testlocal:XMLDocument.xsd</sl:LocRefContent>
+ </sl:Content>
+ </sl:Supplement>
+ </sl:SignatureInfo>
+</sl:CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureInfo_XMLContent_1.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureInfo_XMLContent_1.xml
new file mode 100644
index 00000000..79e91992
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/SignatureInfo_XMLContent_1.xml
@@ -0,0 +1,13 @@
+<sl:CreateXMLSignatureRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <sl:SignatureInfo>
+ <sl:SignatureEnvironment>
+ <sl:XMLContent>
+ <doc:Whole xmlns:doc="urn:document">
+ <doc:Part1>Text in Teil 1</doc:Part1>
+ <doc:Part2>Text in Teil 2</doc:Part2>
+ </doc:Whole>
+ </sl:XMLContent>
+ </sl:SignatureEnvironment>
+ <sl:SignatureLocation xmlns:doc="urn:document" Index="4">/doc:Whole</sl:SignatureLocation>
+ </sl:SignatureInfo>
+</sl:CreateXMLSignatureRequest> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/TransformsInfo_1.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/TransformsInfo_1.xml
new file mode 100644
index 00000000..7631534e
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/TransformsInfo_1.xml
@@ -0,0 +1,304 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<sl:CreateXMLSignatureRequest xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
+ xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#">
+ <sl:KeyboxIdentifier>SecureSignatureKeypair</sl:KeyboxIdentifier>
+ <sl:DataObjectInfo Structure="detached">
+ <sl:DataObject Reference=""/>
+ <sl:TransformsInfo>
+ <dsig:Transforms xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
+ <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116">
+ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"
+ xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#">
+ <xsl:template match="/" xmlns="http://www.w3.org/1999/xhtml">
+ <html>
+ <head>
+ <title>Signatur der Anmeldedaten</title>
+ <style type="text/css" media="screen">
+ .boldstyle { font-weight: bold; }
+ .italicstyle { font-style: italic; }
+ .annotationstyle { font-size: 0.8em; }
+ </style>
+ </head>
+ <body>
+ <h1>Signatur der Anmeldedaten</h1>
+ <p/>
+ <h4>Mit meiner elektronischen Signatur beantrage ich, <span
+ class="boldstyle">
+ <xsl:value-of select="//@Issuer"/>
+ </span>, geboren am <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,9,2)"
+ />. <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,6,2)"
+ />. <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,1,4)"
+ />, <xsl:if
+ test="//saml:Attribute[@AttributeName='OIDTextualDescription']"
+ > in der Rolle als <xsl:value-of
+ select="//saml:Attribute[@AttributeName='OIDTextualDescription']/saml:AttributeValue"
+ /> (OID***= <xsl:value-of
+ select="//saml:Attribute[@AttributeName='OID']/saml:AttributeValue"
+ />), </xsl:if> den Zugang zur gesicherten Anwendung. </h4>
+ <p/>
+ <h4>Datum und Uhrzeit: <xsl:value-of
+ select="substring(//@IssueInstant,9,2)"/>. <xsl:value-of
+ select="substring(//@IssueInstant,6,2)"/>. <xsl:value-of
+ select="substring(//@IssueInstant,1,4)"/>, <xsl:value-of
+ select="substring(//@IssueInstant,12,2)"/>:
+ <xsl:value-of select="substring(//@IssueInstant,15,2)"
+ />: <xsl:value-of select="substring(//@IssueInstant,18,2)"/>
+ </h4>
+ <xsl:if test="//saml:Attribute[@AttributeName='HPI']">
+ <h4>HPI(**): <xsl:value-of
+ select="//saml:Attribute[@AttributeName='HPI']/saml:AttributeValue"
+ /></h4>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName='wbPK']">
+ <h4>wbPK(*): <xsl:value-of
+ select="//saml:Attribute[@AttributeName='wbPK']/saml:AttributeValue/pr:Identification/pr:Value"
+ /></h4>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName='MandatorName']">
+ <hr/>
+ <h4>Ich bin weiters ermächtigt als <xsl:value-of
+ select="//saml:Attribute[@AttributeName='RepresentationType']/saml:AttributeValue/text()"
+ /> von <xsl:value-of
+ select="//saml:Attribute[@AttributeName='MandatorName']/saml:AttributeValue/text()"/>
+ <xsl:if
+ test="//saml:Attribute[@AttributeName='MandatorDateOfBirth']"
+ >, geboren am <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='MandatorDateOfBirth']/saml:AttributeValue,9,2)"
+ />. <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='MandatorDateOfBirth']/saml:AttributeValue,6,2)"
+ />. <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='MandatorDateOfBirth']/saml:AttributeValue,1,4)"
+ />
+ </xsl:if>
+ <xsl:if
+ test="//saml:Attribute[@AttributeName='MandatorDomainIdentifier']"
+ >, <xsl:value-of
+ select="//saml:Attribute[@AttributeName='MandatorDomainIdentifier']/saml:AttributeValue/text()"
+ />
+ </xsl:if>, in deren Auftrag zu handeln. <xsl:if
+ test="//saml:Attribute[@AttributeName='MandatorWbpk']">
+ <h4>wbPK(*) des Vollmachtgebers: <xsl:value-of
+ select="//saml:Attribute[@AttributeName='MandatorWbpk']/saml:AttributeValue/text()"
+ /></h4>
+ </xsl:if>
+ </h4>
+ <p/>
+ </xsl:if>
+ <xsl:choose>
+ <xsl:when test="//saml:Attribute[@AttributeName='OID']">
+ <p/>
+ <hr/>
+ </xsl:when>
+ <xsl:when test="//saml:Attribute[@AttributeName='HPI']">
+ <p/>
+ <hr/>
+ </xsl:when>
+ <xsl:when test="//saml:Attribute[@AttributeName='wbPK']">
+ <p/>
+ <hr/>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:if test="//saml:Attribute[@AttributeName='wbPK']">
+ <div class="annotationstyle">(*) wbPK: Das <span
+ class="italicstyle">wirtschaftsbereichsspezifische
+ Personenkennzeichen</span> wird aus den jeweiligen
+ Stammzahlen des Bürgers und des Wirtschaftsunternehmens
+ berechnet und ermöglicht eine eindeutige Zuordnung des
+ Bürgers zum Wirtschaftsunternehmen.</div>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName='HPI']">
+ <div class="annotationstyle">(**) HPI: Der <span
+ class="italicstyle">eHealth Professional
+ Identifier</span> wird aus den jeweiligen Stammzahlen
+ der Gesundheitsdiensteanbieterinnen /
+ Gesundheitsdiensteanbieter berechnet und ermöglicht eine
+ eindeutige Zuordnung der Gesundheitsdiensteanbieterin /
+ des Gesundheitsdiensteanbieters im
+ Gesundheitsbereich.</div>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName='OID']">
+ <div class="annotationstyle">(***) OID: <span
+ class="italicstyle">Object Identifier</span> sind
+ standardisierte Objekt-Bezeichner und beschreiben
+ eindeutig die Rollen des GDA-Token Inhabers.</div>
+ </xsl:if>
+ </body>
+ </html>
+ </xsl:template>
+ </xsl:stylesheet>
+ </dsig:Transform>
+ <dsig:Transform
+ Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/>
+ </dsig:Transforms>
+ <sl:FinalDataMetaInfo>
+ <sl:MimeType>application/xhtml+xml</sl:MimeType>
+ </sl:FinalDataMetaInfo>
+ </sl:TransformsInfo>
+ <sl:TransformsInfo>
+ <dsig:Transforms xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
+ <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116">
+ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"
+ xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#">
+ <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+ <xsl:template match="/" xmlns="http://www.w3.org/1999/xhtml">
+ <html>
+ <head>
+ <title>Signatur der Anmeldedaten</title>
+ </head>
+ <body>
+ <h1>Signatur der Anmeldedaten</h1>
+ <p/>
+ <h4>Mit meiner elektronischen Signatur beantrage ich, <b>
+ <xsl:value-of select="//@Issuer"/>
+ </b>, geboren am <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,9,2)"
+ />. <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,6,2)"
+ />. <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,1,4)"
+ />, <xsl:if
+ test="//saml:Attribute[@AttributeName='OIDTextualDescription']"
+ > in der Rolle als <xsl:value-of
+ select="//saml:Attribute[@AttributeName='OIDTextualDescription']/saml:AttributeValue"
+ /> (OID***= <xsl:value-of
+ select="//saml:Attribute[@AttributeName='OID']/saml:AttributeValue"
+ />), </xsl:if> den Zugang zur gesicherten Anwendung. </h4>
+ <p/>
+ <h4>Datum und Uhrzeit: <xsl:value-of
+ select="substring(//@IssueInstant,9,2)"/>. <xsl:value-of
+ select="substring(//@IssueInstant,6,2)"/>. <xsl:value-of
+ select="substring(//@IssueInstant,1,4)"/>, <xsl:value-of
+ select="substring(//@IssueInstant,12,2)"/>:
+ <xsl:value-of select="substring(//@IssueInstant,15,2)"
+ />: <xsl:value-of select="substring(//@IssueInstant,18,2)"/>
+ </h4>
+ <xsl:if test="//saml:Attribute[@AttributeName='HPI']">
+ <h4>HPI(**): <xsl:value-of
+ select="//saml:Attribute[@AttributeName='HPI']/saml:AttributeValue"
+ /></h4>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName='wbPK']">
+ <h4>wbPK(*): <xsl:value-of
+ select="//saml:Attribute[@AttributeName='wbPK']/saml:AttributeValue/pr:Identification/pr:Value"
+ /></h4>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName='MandatorName']">
+ <hr/>
+ <h4>Ich bin weiters ermächtigt als <xsl:value-of
+ select="//saml:Attribute[@AttributeName='RepresentationType']/saml:AttributeValue/text()"
+ /> von <xsl:value-of
+ select="//saml:Attribute[@AttributeName='MandatorName']/saml:AttributeValue/text()"/>
+ <xsl:if
+ test="//saml:Attribute[@AttributeName='MandatorDateOfBirth']"
+ >, geboren am <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='MandatorDateOfBirth']/saml:AttributeValue,9,2)"
+ />. <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='MandatorDateOfBirth']/saml:AttributeValue,6,2)"
+ />. <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='MandatorDateOfBirth']/saml:AttributeValue,1,4)"
+ />
+ </xsl:if>
+ <xsl:if
+ test="//saml:Attribute[@AttributeName='MandatorDomainIdentifier']"
+ >, <xsl:value-of
+ select="//saml:Attribute[@AttributeName='MandatorDomainIdentifier']/saml:AttributeValue/text()"
+ />
+ </xsl:if>, in deren Auftrag zu handeln. <xsl:if
+ test="//saml:Attribute[@AttributeName='MandatorWbpk']">
+ <h4>wbPK(*) des Vollmachtgebers: <xsl:value-of
+ select="//saml:Attribute[@AttributeName='MandatorWbpk']/saml:AttributeValue/text()"
+ /></h4>
+ </xsl:if>
+ </h4>
+ <p/>
+ </xsl:if>
+ <xsl:choose>
+ <xsl:when test="//saml:Attribute[@AttributeName='OID']">
+ <p/>
+ <hr/>
+ </xsl:when>
+ <xsl:when test="//saml:Attribute[@AttributeName='HPI']">
+ <p/>
+ <hr/>
+ </xsl:when>
+ <xsl:when test="//saml:Attribute[@AttributeName='wbPK']">
+ <p/>
+ <hr/>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:if test="//saml:Attribute[@AttributeName='wbPK']">
+ <h6>(*) wbPK: Das <i>wirtschaftsbereichsspezifische
+ Personenkennzeichen</i> wird aus den jeweiligen
+ Stammzahlen des Bürgers und des Wirtschaftsunternehmens
+ berechnet und ermöglicht eine eindeutige Zuordnung des
+ Bürgers zum Wirtschaftsunternehmen.</h6>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName='HPI']">
+ <h6>(**) HPI: Der <i>eHealth Professional Identifier</i>
+ wird aus den jeweiligen Stammzahlen der
+ Gesundheitsdiensteanbieterinnen /
+ Gesundheitsdiensteanbieter berechnet und ermöglicht eine
+ eindeutige Zuordnung der Gesundheitsdiensteanbieterin /
+ des Gesundheitsdiensteanbieters im
+ Gesundheitsbereich.</h6>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName='OID']">
+ <h6>(***) OID: <i>Object Identifier</i> sind standardisierte
+ Objekt-Bezeichner und beschreiben eindeutig die Rollen
+ des GDA-Token Inhabers.</h6>
+ </xsl:if>
+ </body>
+ </html>
+ </xsl:template>
+ </xsl:stylesheet>
+ </dsig:Transform>
+ <dsig:Transform
+ Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/>
+ </dsig:Transforms>
+ <sl:FinalDataMetaInfo>
+ <sl:MimeType>text/html</sl:MimeType>
+ </sl:FinalDataMetaInfo>
+ </sl:TransformsInfo>
+ </sl:DataObjectInfo>
+ <sl:SignatureInfo>
+ <sl:SignatureEnvironment>
+ <sl:XMLContent>
+ <saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"
+ xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#"
+ MajorVersion="1" MinorVersion="0" AssertionID="any" Issuer="Klämens Örthäçké"
+ IssueInstant="2008-06-05T11:26:10+02:00">
+ <saml:AttributeStatement>
+ <saml:Subject>
+ <saml:NameIdentifier>https://demo.egiz.gv.at/exchange-moa-id-auth/</saml:NameIdentifier>
+ </saml:Subject>
+ <saml:Attribute AttributeName="wbPK"
+ AttributeNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#">
+ <saml:AttributeValue>
+ <pr:Identification>
+ <pr:Value>LTpz8VYzns2jrx0J8Gm/R/nAhxA=</pr:Value>
+ <pr:Type>urn:publicid:gv.at:wbpk+FN+TODO</pr:Type>
+ </pr:Identification>
+ </saml:AttributeValue>
+ </saml:Attribute>
+ <saml:Attribute AttributeName="OA"
+ AttributeNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#">
+ <saml:AttributeValue>https://apps.egiz.gv.at/urlaubsschein-frontend/moaid-login</saml:AttributeValue>
+ </saml:Attribute>
+ <saml:Attribute AttributeName="Geburtsdatum"
+ AttributeNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#">
+ <saml:AttributeValue>1971-11-10</saml:AttributeValue>
+ </saml:Attribute>
+ </saml:AttributeStatement>
+ </saml:Assertion>
+ </sl:XMLContent>
+ </sl:SignatureEnvironment>
+ <sl:SignatureLocation Index="2" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion">/saml:Assertion</sl:SignatureLocation>
+ </sl:SignatureInfo>
+</sl:CreateXMLSignatureRequest>
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/TransformsInfo_2.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/TransformsInfo_2.xml
new file mode 100644
index 00000000..f43dc61a
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/TransformsInfo_2.xml
@@ -0,0 +1,397 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<sl:CreateXMLSignatureRequest xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
+ xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#">
+ <sl:KeyboxIdentifier>SecureSignatureKeypair</sl:KeyboxIdentifier>
+ <sl:DataObjectInfo Structure="detached">
+ <sl:DataObject Reference=""/>
+ <sl:TransformsInfo>
+ <dsig:Transforms xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
+ <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116">
+ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"
+ xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#">
+ <xsl:template match="/" xmlns="http://www.w3.org/1999/xhtml">
+ <html>
+ <head>
+ <title>Signatur der Anmeldedaten</title>
+ <style type="text/css" media="screen">
+ .boldstyle { font-weight: bold; }
+ .italicstyle { font-style: italic; }
+ .annotationstyle { font-size: 0.8em; }
+ </style>
+ </head>
+ <body>
+ <h1>Signatur der Anmeldedaten</h1>
+ <p/>
+ <h4>Mit meiner elektronischen Signatur beantrage ich, <span
+ class="boldstyle">
+ <xsl:value-of select="//@Issuer"/>
+ </span>, geboren am <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,9,2)"
+ />. <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,6,2)"
+ />. <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,1,4)"
+ />, <xsl:if
+ test="//saml:Attribute[@AttributeName='OIDTextualDescription']"
+ > in der Rolle als <xsl:value-of
+ select="//saml:Attribute[@AttributeName='OIDTextualDescription']/saml:AttributeValue"
+ /> (OID***= <xsl:value-of
+ select="//saml:Attribute[@AttributeName='OID']/saml:AttributeValue"
+ />), </xsl:if> den Zugang zur gesicherten Anwendung. </h4>
+ <p/>
+ <h4>Datum und Uhrzeit: <xsl:value-of
+ select="substring(//@IssueInstant,9,2)"/>. <xsl:value-of
+ select="substring(//@IssueInstant,6,2)"/>. <xsl:value-of
+ select="substring(//@IssueInstant,1,4)"/>, <xsl:value-of
+ select="substring(//@IssueInstant,12,2)"/>:
+ <xsl:value-of select="substring(//@IssueInstant,15,2)"
+ />: <xsl:value-of select="substring(//@IssueInstant,18,2)"/>
+ </h4>
+ <xsl:if test="//saml:Attribute[@AttributeName='HPI']">
+ <h4>HPI(**): <xsl:value-of
+ select="//saml:Attribute[@AttributeName='HPI']/saml:AttributeValue"
+ /></h4>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName='wbPK']">
+ <h4>wbPK(*): <xsl:value-of
+ select="//saml:Attribute[@AttributeName='wbPK']/saml:AttributeValue/pr:Identification/pr:Value"
+ /></h4>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName='MandatorName']">
+ <hr/>
+ <h4>Ich bin weiters ermächtigt als <xsl:value-of
+ select="//saml:Attribute[@AttributeName='RepresentationType']/saml:AttributeValue/text()"
+ /> von <xsl:value-of
+ select="//saml:Attribute[@AttributeName='MandatorName']/saml:AttributeValue/text()"/>
+ <xsl:if
+ test="//saml:Attribute[@AttributeName='MandatorDateOfBirth']"
+ >, geboren am <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='MandatorDateOfBirth']/saml:AttributeValue,9,2)"
+ />. <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='MandatorDateOfBirth']/saml:AttributeValue,6,2)"
+ />. <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='MandatorDateOfBirth']/saml:AttributeValue,1,4)"
+ />
+ </xsl:if>
+ <xsl:if
+ test="//saml:Attribute[@AttributeName='MandatorDomainIdentifier']"
+ >, <xsl:value-of
+ select="//saml:Attribute[@AttributeName='MandatorDomainIdentifier']/saml:AttributeValue/text()"
+ />
+ </xsl:if>, in deren Auftrag zu handeln. <xsl:if
+ test="//saml:Attribute[@AttributeName='MandatorWbpk']">
+ <h4>wbPK(*) des Vollmachtgebers: <xsl:value-of
+ select="//saml:Attribute[@AttributeName='MandatorWbpk']/saml:AttributeValue/text()"
+ /></h4>
+ </xsl:if>
+ </h4>
+ <p/>
+ </xsl:if>
+ <xsl:choose>
+ <xsl:when test="//saml:Attribute[@AttributeName='OID']">
+ <p/>
+ <hr/>
+ </xsl:when>
+ <xsl:when test="//saml:Attribute[@AttributeName='HPI']">
+ <p/>
+ <hr/>
+ </xsl:when>
+ <xsl:when test="//saml:Attribute[@AttributeName='wbPK']">
+ <p/>
+ <hr/>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:if test="//saml:Attribute[@AttributeName='wbPK']">
+ <div class="annotationstyle">(*) wbPK: Das <span
+ class="italicstyle">wirtschaftsbereichsspezifische
+ Personenkennzeichen</span> wird aus den jeweiligen
+ Stammzahlen des Bürgers und des Wirtschaftsunternehmens
+ berechnet und ermöglicht eine eindeutige Zuordnung des
+ Bürgers zum Wirtschaftsunternehmen.</div>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName='HPI']">
+ <div class="annotationstyle">(**) HPI: Der <span
+ class="italicstyle">eHealth Professional
+ Identifier</span> wird aus den jeweiligen Stammzahlen
+ der Gesundheitsdiensteanbieterinnen /
+ Gesundheitsdiensteanbieter berechnet und ermöglicht eine
+ eindeutige Zuordnung der Gesundheitsdiensteanbieterin /
+ des Gesundheitsdiensteanbieters im
+ Gesundheitsbereich.</div>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName='OID']">
+ <div class="annotationstyle">(***) OID: <span
+ class="italicstyle">Object Identifier</span> sind
+ standardisierte Objekt-Bezeichner und beschreiben
+ eindeutig die Rollen des GDA-Token Inhabers.</div>
+ </xsl:if>
+ </body>
+ </html>
+ </xsl:template>
+ </xsl:stylesheet>
+ </dsig:Transform>
+ <dsig:Transform
+ Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/>
+ </dsig:Transforms>
+ <sl:FinalDataMetaInfo>
+ <sl:MimeType>application/xhtml+xml</sl:MimeType>
+ </sl:FinalDataMetaInfo>
+ </sl:TransformsInfo>
+ <sl:TransformsInfo>
+ <dsig:Transforms xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
+ <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116">
+ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"
+ xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#">
+ <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+ <xsl:template match="/" xmlns="http://www.w3.org/1999/xhtml">
+ <html>
+ <head>
+ <title>Signatur der Anmeldedaten</title>
+ </head>
+ <body>
+ <h1>Signatur der Anmeldedaten</h1>
+ <p/>
+ <h4>Mit meiner elektronischen Signatur beantrage ich, <b>
+ <xsl:value-of select="//@Issuer"/>
+ </b>, geboren am <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,9,2)"
+ />. <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,6,2)"
+ />. <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,1,4)"
+ />, <xsl:if
+ test="//saml:Attribute[@AttributeName='OIDTextualDescription']"
+ > in der Rolle als <xsl:value-of
+ select="//saml:Attribute[@AttributeName='OIDTextualDescription']/saml:AttributeValue"
+ /> (OID***= <xsl:value-of
+ select="//saml:Attribute[@AttributeName='OID']/saml:AttributeValue"
+ />), </xsl:if> den Zugang zur gesicherten Anwendung. </h4>
+ <p/>
+ <h4>Datum und Uhrzeit: <xsl:value-of
+ select="substring(//@IssueInstant,9,2)"/>. <xsl:value-of
+ select="substring(//@IssueInstant,6,2)"/>. <xsl:value-of
+ select="substring(//@IssueInstant,1,4)"/>, <xsl:value-of
+ select="substring(//@IssueInstant,12,2)"/>:
+ <xsl:value-of select="substring(//@IssueInstant,15,2)"
+ />: <xsl:value-of select="substring(//@IssueInstant,18,2)"/>
+ </h4>
+ <xsl:if test="//saml:Attribute[@AttributeName='HPI']">
+ <h4>HPI(**): <xsl:value-of
+ select="//saml:Attribute[@AttributeName='HPI']/saml:AttributeValue"
+ /></h4>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName='wbPK']">
+ <h4>wbPK(*): <xsl:value-of
+ select="//saml:Attribute[@AttributeName='wbPK']/saml:AttributeValue/pr:Identification/pr:Value"
+ /></h4>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName='MandatorName']">
+ <hr/>
+ <h4>Ich bin weiters ermächtigt als <xsl:value-of
+ select="//saml:Attribute[@AttributeName='RepresentationType']/saml:AttributeValue/text()"
+ /> von <xsl:value-of
+ select="//saml:Attribute[@AttributeName='MandatorName']/saml:AttributeValue/text()"/>
+ <xsl:if
+ test="//saml:Attribute[@AttributeName='MandatorDateOfBirth']"
+ >, geboren am <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='MandatorDateOfBirth']/saml:AttributeValue,9,2)"
+ />. <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='MandatorDateOfBirth']/saml:AttributeValue,6,2)"
+ />. <xsl:value-of
+ select="substring(//saml:Attribute[@AttributeName='MandatorDateOfBirth']/saml:AttributeValue,1,4)"
+ />
+ </xsl:if>
+ <xsl:if
+ test="//saml:Attribute[@AttributeName='MandatorDomainIdentifier']"
+ >, <xsl:value-of
+ select="//saml:Attribute[@AttributeName='MandatorDomainIdentifier']/saml:AttributeValue/text()"
+ />
+ </xsl:if>, in deren Auftrag zu handeln. <xsl:if
+ test="//saml:Attribute[@AttributeName='MandatorWbpk']">
+ <h4>wbPK(*) des Vollmachtgebers: <xsl:value-of
+ select="//saml:Attribute[@AttributeName='MandatorWbpk']/saml:AttributeValue/text()"
+ /></h4>
+ </xsl:if>
+ </h4>
+ <p/>
+ </xsl:if>
+ <xsl:choose>
+ <xsl:when test="//saml:Attribute[@AttributeName='OID']">
+ <p/>
+ <hr/>
+ </xsl:when>
+ <xsl:when test="//saml:Attribute[@AttributeName='HPI']">
+ <p/>
+ <hr/>
+ </xsl:when>
+ <xsl:when test="//saml:Attribute[@AttributeName='wbPK']">
+ <p/>
+ <hr/>
+ </xsl:when>
+ </xsl:choose>
+ <xsl:if test="//saml:Attribute[@AttributeName='wbPK']">
+ <h6>(*) wbPK: Das <i>wirtschaftsbereichsspezifische
+ Personenkennzeichen</i> wird aus den jeweiligen
+ Stammzahlen des Bürgers und des Wirtschaftsunternehmens
+ berechnet und ermöglicht eine eindeutige Zuordnung des
+ Bürgers zum Wirtschaftsunternehmen.</h6>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName='HPI']">
+ <h6>(**) HPI: Der <i>eHealth Professional Identifier</i>
+ wird aus den jeweiligen Stammzahlen der
+ Gesundheitsdiensteanbieterinnen /
+ Gesundheitsdiensteanbieter berechnet und ermöglicht eine
+ eindeutige Zuordnung der Gesundheitsdiensteanbieterin /
+ des Gesundheitsdiensteanbieters im
+ Gesundheitsbereich.</h6>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName='OID']">
+ <h6>(***) OID: <i>Object Identifier</i> sind standardisierte
+ Objekt-Bezeichner und beschreiben eindeutig die Rollen
+ des GDA-Token Inhabers.</h6>
+ </xsl:if>
+ </body>
+ </html>
+ </xsl:template>
+ </xsl:stylesheet>
+ </dsig:Transform>
+ <dsig:Transform
+ Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/>
+ </dsig:Transforms>
+ <sl:FinalDataMetaInfo>
+ <sl:MimeType>text/html</sl:MimeType>
+ </sl:FinalDataMetaInfo>
+ </sl:TransformsInfo>
+ <sl:TransformsInfo>
+ <dsig:Transforms> <!-- xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"-->
+ <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xslt-19991116">
+ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" exclude-result-prefixes="pr saml">
+ <xsl:output method="xml" xml:space="default"/>
+ <xsl:template match="/" xmlns="">
+ <text>
+ <xsl:text>Mit meiner elektronischen Signatur beantrage ich, </xsl:text>
+ <xsl:value-of select="//@Issuer"/>
+ <xsl:text>, geboren am </xsl:text>
+ <xsl:value-of select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,9,2)"/>
+ <xsl:text>.</xsl:text>
+ <xsl:value-of select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,6,2)"/>
+ <xsl:text>.</xsl:text>
+ <xsl:value-of select="substring(//saml:Attribute[@AttributeName='Geburtsdatum']/saml:AttributeValue,1,4)"/>
+ <xsl:text>, </xsl:text>
+ <xsl:if test="//saml:Attribute[@AttributeName='OIDTextualDescription']">
+ <xsl:text>in der Rolle als </xsl:text>
+ <xsl:value-of select="//saml:Attribute[@AttributeName='OIDTextualDescription']/saml:AttributeValue"/>
+ <xsl:text>(OID***= </xsl:text>
+ <xsl:value-of select="//saml:Attribute[@AttributeName='OID']/saml:AttributeValue"/>)
+ <xsl:text>, </xsl:text>
+ </xsl:if>
+ <xsl:text>den Zugang zur gesicherten Anwendung.</xsl:text>
+ <xsl:text>&#xa;&#xa;Datum und Uhrzeit: </xsl:text>
+ <xsl:value-of select="substring(//@IssueInstant,9,2)"/>
+ <xsl:text>.</xsl:text>
+ <xsl:value-of select="substring(//@IssueInstant,6,2)"/>
+ <xsl:text>.</xsl:text>
+ <xsl:value-of select="substring(//@IssueInstant,1,4)"/>
+ <xsl:text>, </xsl:text>
+ <xsl:value-of select="substring(//@IssueInstant,12,2)"/>
+ <xsl:text>:</xsl:text>
+ <xsl:value-of select="substring(//@IssueInstant,15,2)"/>
+ <xsl:text>:</xsl:text>
+ <xsl:value-of select="substring(//@IssueInstant,18,2)"/>
+
+ <xsl:if test="//saml:Attribute[@AttributeName='HPI']">
+ <xsl:text>&#xa;&#xa;HPI(**): </xsl:text>
+ <xsl:value-of select="//saml:Attribute[@AttributeName='HPI']/saml:AttributeValue"/>
+ </xsl:if>
+
+ <xsl:if test="//saml:Attribute[@AttributeName='wbPK']">
+ <xsl:text>&#xa;&#xa;wbPK(*): </xsl:text>
+ <xsl:value-of select="//saml:Attribute[@AttributeName='wbPK']/saml:AttributeValue/pr:Identification/pr:Value"/>
+ </xsl:if>
+
+ <xsl:if test="//saml:Attribute[@AttributeName='MandatorName']">
+ <xsl:text>&#xa;&#xa;Ich bin weiters ermächtigt als </xsl:text>
+ <xsl:value-of select="//saml:Attribute[@AttributeName='RepresentationType']/saml:AttributeValue/text()"/>
+ <xsl:text>von </xsl:text>
+ <xsl:value-of select="//saml:Attribute[@AttributeName='MandatorName']/saml:AttributeValue/text()"/>
+ <xsl:if test="//saml:Attribute[@AttributeName='MandatorDateOfBirth']">
+ <xsl:text>, geboren am </xsl:text>
+ <xsl:value-of select="substring(//saml:Attribute[@AttributeName='MandatorDateOfBirth']/saml:AttributeValue,9,2)"/>
+ <xsl:text>.</xsl:text>
+ <xsl:value-of select="substring(//saml:Attribute[@AttributeName='MandatorDateOfBirth']/saml:AttributeValue,6,2)"/>
+ <xsl:text>.</xsl:text>
+ <xsl:value-of select="substring(//saml:Attribute[@AttributeName='MandatorDateOfBirth']/saml:AttributeValue,1,4)"/>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName='MandatorDomainIdentifier']">
+ <xsl:text>,</xsl:text>
+ <xsl:value-of select="//saml:Attribute[@AttributeName='MandatorDomainIdentifier']/saml:AttributeValue/text()"/>
+ </xsl:if>
+ <xsl:text>, in deren Auftrag zu handeln.</xsl:text>
+
+ <xsl:if test="//saml:Attribute[@AttributeName='MandatorWbpk']">
+ <xsl:text>&#xa;&#xa;wbPK(*) des Vollmachtgebers: </xsl:text>
+ <xsl:value-of select="//saml:Attribute[@AttributeName='MandatorWbpk']/saml:AttributeValue/text()"/>
+ </xsl:if>
+ </xsl:if>
+
+ <xsl:if test="//saml:Attribute[@AttributeName='wbPK']">
+ <xsl:text>&#xa;&#xa;(*) wbPK: Das wirtschaftsbereichsspezifische Personenkennzeichen wird aus den jeweiligen Stammzahlen des Bürgers und des Wirtschaftsunternehmens berechnet und ermöglicht eine eindeutige Zuordnung des Bürgers zum Wirtschaftsunternehmen.</xsl:text>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName='HPI']">
+ <xsl:text>&#xa;&#xa;(**) HPI: Der eHealth Professional Identifier wird aus den jeweiligen Stammzahlen der Gesundheitsdiensteanbieterinnen / Gesundheitsdiensteanbieter berechnet und ermöglicht eine eindeutige Zuordnung der Gesundheitsdiensteanbieterin / des Gesundheitsdiensteanbieters im Gesundheitsbereich.</xsl:text>
+ </xsl:if>
+ <xsl:if test="//saml:Attribute[@AttributeName='OID']">
+ <xsl:text>&#xa;&#xa;(***) OID: Object Identifier sind standardisierte Objekt-Bezeichner und beschreiben eindeutig die Rollen des GDA-Token Inhabers.</xsl:text>
+ </xsl:if>
+ </text>
+ </xsl:template>
+ </xsl:stylesheet>
+ </dsig:Transform>
+ <dsig:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116">
+ <dsig:XPath>not(text())</dsig:XPath>
+ </dsig:Transform>
+ </dsig:Transforms>
+ <sl:FinalDataMetaInfo>
+ <sl:MimeType>text/plain</sl:MimeType>
+ </sl:FinalDataMetaInfo>
+ </sl:TransformsInfo>
+ </sl:DataObjectInfo>
+ <sl:SignatureInfo>
+ <sl:SignatureEnvironment>
+ <sl:XMLContent>
+ <saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"
+ xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#"
+ MajorVersion="1" MinorVersion="0" AssertionID="any" Issuer="Klämens Örthäçké"
+ IssueInstant="2008-06-05T11:26:10+02:00">
+ <saml:AttributeStatement>
+ <saml:Subject>
+ <saml:NameIdentifier>https://demo.egiz.gv.at/exchange-moa-id-auth/</saml:NameIdentifier>
+ </saml:Subject>
+ <saml:Attribute AttributeName="wbPK"
+ AttributeNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#">
+ <saml:AttributeValue>
+ <pr:Identification>
+ <pr:Value>LTpz8VYzns2jrx0J8Gm/R/nAhxA=</pr:Value>
+ <pr:Type>urn:publicid:gv.at:wbpk+FN+TODO</pr:Type>
+ </pr:Identification>
+ </saml:AttributeValue>
+ </saml:Attribute>
+ <saml:Attribute AttributeName="OA"
+ AttributeNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#">
+ <saml:AttributeValue>https://apps.egiz.gv.at/urlaubsschein-frontend/moaid-login</saml:AttributeValue>
+ </saml:Attribute>
+ <saml:Attribute AttributeName="Geburtsdatum"
+ AttributeNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#">
+ <saml:AttributeValue>1971-11-10</saml:AttributeValue>
+ </saml:Attribute>
+ </saml:AttributeStatement>
+ </saml:Assertion>
+ </sl:XMLContent>
+ </sl:SignatureEnvironment>
+ <sl:SignatureLocation Index="2" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion">/saml:Assertion</sl:SignatureLocation>
+ </sl:SignatureInfo>
+</sl:CreateXMLSignatureRequest>
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/XMLDocument.xsd b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/XMLDocument.xsd
new file mode 100644
index 00000000..a2930f1d
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/impl/XMLDocument.xsd
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema targetNamespace="urn:document" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:document" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:element name="XMLDocument">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Paragraph" maxOccurs="unbounded">
+ <xs:complexType mixed="true">
+ <xs:attribute name="ParaId" type="xs:ID" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/infoboxreadcommand/IdentityLink.Binary.Invalid-1.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/infoboxreadcommand/IdentityLink.Binary.Invalid-1.xml
new file mode 100644
index 00000000..1a2857da
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/infoboxreadcommand/IdentityLink.Binary.Invalid-1.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?> <sl:InfoboxReadRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#"> <sl:InfoboxIdentifier>IdentityLink</sl:InfoboxIdentifier> <sl:AssocArrayParameters> <sl:ReadKeys SearchString="*"/> </sl:AssocArrayParameters> </sl:InfoboxReadRequest> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/infoboxreadcommand/IdentityLink.Binary.Invalid-2.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/infoboxreadcommand/IdentityLink.Binary.Invalid-2.xml
new file mode 100644
index 00000000..96311ff6
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/infoboxreadcommand/IdentityLink.Binary.Invalid-2.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?> <sl:InfoboxReadRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#"> <sl:InfoboxIdentifier>IdentityLink</sl:InfoboxIdentifier> <sl:BinaryFileParameters ContentIsXMLEntity="true"/> <sl:BoxSpecificParameters> <sl:ReadValue Key="SecureSignatureKeyPair"/> </sl:BoxSpecificParameters> </sl:InfoboxReadRequest> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/infoboxreadcommand/IdentityLink.Binary.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/infoboxreadcommand/IdentityLink.Binary.xml
new file mode 100644
index 00000000..10964e06
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/infoboxreadcommand/IdentityLink.Binary.xml
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?> <sl:InfoboxReadRequest xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#"> <sl:InfoboxIdentifier>IdentityLink</sl:InfoboxIdentifier> <sl:BinaryFileParameters ContentIsXMLEntity="true"/> <sl:BoxSpecificParameters> <sl:IdentityLinkDomainIdentifier>urn:publicid:gv.at:wbpk+FN+468924i</sl:IdentityLinkDomainIdentifier> </sl:BoxSpecificParameters> </sl:InfoboxReadRequest> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/testApplicationContext.xml b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/testApplicationContext.xml
new file mode 100644
index 00000000..a7b588aa
--- /dev/null
+++ b/bkucommon/src/test/resources/at/gv/egiz/bku/slcommands/testApplicationContext.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+ <!--
+ Copyright 2008 Federal Chancellery Austria and Graz University of
+ Technology Licensed under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance with the
+ License. You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0 Unless required by
+ applicable law or agreed to in writing, software distributed under the
+ License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+ CONDITIONS OF ANY KIND, either express or implied. See the License for
+ the specific language governing permissions and limitations under the
+ License.
+ -->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
+
+
+ <bean id="slCommandFactory" class="at.gv.egiz.bku.slcommands.SLCommandFactory"
+ factory-method="getInstance">
+ <property name="commandImpl">
+ <map>
+ <entry
+ key="http://www.buergerkarte.at/namespaces/securitylayer/1.2#:NullOperationRequest"
+ value="at.gv.egiz.bku.slcommands.impl.NullOperationCommandImpl" />
+ <entry
+ key="http://www.buergerkarte.at/namespaces/securitylayer/1.2#:InfoboxReadRequest"
+ value="at.gv.egiz.bku.slcommands.impl.InfoboxReadCommandImpl" />
+ <entry
+ key="http://www.buergerkarte.at/namespaces/securitylayer/1.2#:CreateXMLSignatureRequest"
+ value="at.gv.egiz.bku.slcommands.impl.CreateXMLSignatureCommandImpl" />
+ </map>
+ </property>
+ </bean>
+
+ <bean id="infoboxFactory" class="at.gv.egiz.bku.slcommands.impl.InfoboxFactory"
+ factory-method="getInstance">
+ <property name="infoboxImpl">
+ <map>
+ <entry
+ key="Certificates"
+ value="at.gv.egiz.bku.slcommands.impl.CertificatesInfoboxImpl" />
+ <entry
+ key="IdentityLink"
+ value="at.gv.egiz.bku.slcommands.impl.IdentityLinkInfoboxImpl" />
+ <!--<entry
+ key="CardChannel"
+ value="at.gv.egiz.bku.slcommands.impl.CardChannel" />
+ --></map>
+ </property>
+ </bean>
+
+</beans> \ No newline at end of file
diff --git a/bkucommon/src/test/resources/commons-logging.properties b/bkucommon/src/test/resources/commons-logging.properties
new file mode 100644
index 00000000..29292562
--- /dev/null
+++ b/bkucommon/src/test/resources/commons-logging.properties
@@ -0,0 +1 @@
+org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
diff --git a/bkucommon/src/test/resources/log4j.properties b/bkucommon/src/test/resources/log4j.properties
new file mode 100644
index 00000000..053eac17
--- /dev/null
+++ b/bkucommon/src/test/resources/log4j.properties
@@ -0,0 +1,19 @@
+# loglever DEBUG, appender STDOUT
+log4j.rootLogger=TRACE, STDOUT
+#log4j.logger.at.gv.egiz.slbinding.RedirectEventFilter=DEBUG, STDOUT
+
+# STDOUT appender
+log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
+log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout
+#log4j.appender.STDOUT.layout.ConversionPattern=%5p | %d{dd HH:mm:ss,SSS} | %20c | %10t | %m%n
+#log4j.appender.STDOUT.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
+log4j.appender.STDOUT.layout.ConversionPattern=%-5p |%d | %t | %c %x- %m%n
+
+### FILE appender
+#log4j.appender.file=org.apache.log4j.RollingFileAppender
+#log4j.appender.file.maxFileSize=100KB
+#log4j.appender.file.maxBackupIndex=9
+#log4j.appender.file.File=egovbus_ca.log
+#log4j.appender.file.threshold=info
+#log4j.appender.file.layout=org.apache.log4j.PatternLayout
+#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n \ No newline at end of file
diff --git a/bkucommon/src/test/resources/moaspss/CreateXMLSignatureRequest.xml b/bkucommon/src/test/resources/moaspss/CreateXMLSignatureRequest.xml
new file mode 100644
index 00000000..586b1494
--- /dev/null
+++ b/bkucommon/src/test/resources/moaspss/CreateXMLSignatureRequest.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<sl:CreateXMLSignatureRequest
+ xmlns:sl="http://www.buergerkarte.at/namespaces/securitylayer/1.2#">
+<sl:KeyboxIdentifier>SecureSignatureKeypair</sl:KeyboxIdentifier>
+ <sl:DataObjectInfo Structure="enveloping">
+ <sl:DataObject>
+ <sl:XMLContent>I'm a simple text.</sl:XMLContent>
+ </sl:DataObject>
+ <sl:TransformsInfo>
+ <sl:FinalDataMetaInfo>
+ <sl:MimeType>text/plain</sl:MimeType>
+ </sl:FinalDataMetaInfo>
+ </sl:TransformsInfo>
+ </sl:DataObjectInfo>
+</sl:CreateXMLSignatureRequest>
+ \ No newline at end of file