aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Fitzek <andreas.fitzek@iaik.tugraz.at>2013-11-12 12:26:10 +0100
committerAndreas Fitzek <andreas.fitzek@iaik.tugraz.at>2013-11-12 12:26:10 +0100
commit7b2e2b640b0f392183f7927f692936950d3fabfc (patch)
treeffd4acccb62f2679ff613bf0cd8cd0850186b465
parentdd43264f702c5e0351cc63835862c55f3e847634 (diff)
downloadpdf-as-4-7b2e2b640b0f392183f7927f692936950d3fabfc.tar.gz
pdf-as-4-7b2e2b640b0f392183f7927f692936950d3fabfc.tar.bz2
pdf-as-4-7b2e2b640b0f392183f7927f692936950d3fabfc.zip
SecurityLayer commands included
-rw-r--r--pdf-as-cli/build.gradle1
-rw-r--r--pdf-as-cli/src/main/java/at/gv/egiz/pdfas/cli/DeveloperMain.java15
-rw-r--r--pdf-as-cli/src/main/java/at/gv/egiz/pdfas/cli/Main.java7
-rw-r--r--pdf-as-common/src/main/java/at/gv/egiz/pdfas/common/exceptions/PdfAsSignatureException.java13
-rw-r--r--pdf-as-common/src/main/java/at/gv/egiz/pdfas/common/exceptions/PdfAsWrappedIOException.java16
-rw-r--r--pdf-as-common/src/main/java/at/gv/egiz/pdfas/common/exceptions/SLPdfAsException.java24
-rw-r--r--pdf-as-lib/ /home/afitzek/devel/pdf-as-4/src/pdf-as-4/pdf-as-lib/src/main/java/at/gv/e_government/reference/namespace/moa/_20020822/ContentOptionalRefType.java125
-rw-r--r--pdf-as-lib/ /home/afitzek/devel/pdf-as-4/src/pdf-as-4/pdf-as-lib/src/main/java/at/gv/e_government/reference/namespace/moa/_20020822/ManifestRefsCheckResultInfoType.java0
-rw-r--r--pdf-as-lib/ /home/afitzek/devel/pdf-as-4/src/pdf-as-4/pdf-as-lib/src/main/java/at/gv/e_government/reference/namespace/moa/_20020822/PublicAuthorityType.java120
-rw-r--r--pdf-as-lib/ /home/afitzek/devel/pdf-as-4/src/pdf-as-4/pdf-as-lib/src/main/java/at/gv/e_government/reference/namespace/moa/_20020822/VerifyCMSSignatureResponseType.java195
-rw-r--r--pdf-as-lib/ /home/afitzek/devel/pdf-as-4/src/pdf-as-4/pdf-as-lib/src/main/java/at/gv/e_government/reference/namespace/moa/_20020822/VerifyXMLSignatureResponseType.java394
-rw-r--r--pdf-as-lib/build.gradle2
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/sign/IPlainSigner.java6
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java34
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PADESPDFBOXSigner.java5
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PdfboxSignerWrapper.java55
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/AllSignatoriesType.java55
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/AnyChildrenType.java78
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/AnyMixedChildrenType.java85
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64ContentType.java71
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64OptRefContentType.java69
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64XMLContentType.java99
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/BindingType.java72
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/CMSDataObjectOptionalMetaType.java129
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/CMSDataObjectRequiredMetaType.java44
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/CreateCMSSignatureRequestType.java137
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/CreateCMSSignatureResponseType.java67
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/ErrorResponseType.java89
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/ExcludedByteRangeType.java101
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesRequest.java41
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesRequestType.java41
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesResponseType.java249
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/GetStatusRequestType.java100
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/GetStatusResponseType.java69
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxAssocArrayPairType.java67
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadDataAssocArrayType.java116
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadParamsAssocArrayType.java434
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadParamsBinaryFileType.java69
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadRequestType.java160
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadResponseType.java99
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/MetaInfoType.java136
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/NullOperationRequestType.java37
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/NullOperationResponseType.java37
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/ObjectFactory.java368
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/QualifiedBoxIdentifierType.java108
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/TokenStatusType.java58
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/VerifyCMSSignatureRequestType.java161
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/XMLContentType.java70
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/package-info.java9
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/util/BKUSLConnector.java165
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/util/BaseSLConnector.java120
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/util/ISLConnector.java15
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/util/SLMarschaller.java49
-rw-r--r--pdf-as-lib/src/main/java/at/gv/egiz/sl/util/package-info.java8
-rw-r--r--pdf-as-web/.gitignore1
-rw-r--r--pdf-as-web/build.gradle36
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PDFASSession.java37
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/package-info.java8
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/package-info.java8
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java37
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ProvidePDFServlet.java37
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/SignServlet.java69
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/VerifyServlet.java61
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/package-info.java8
-rw-r--r--pdf-as-web/src/main/webapp/WEB-INF/web.xml101
-rw-r--r--pdf-as-web/src/main/webapp/signstart.jsp14
-rw-r--r--pdf-as-web/src/main/webapp/verifystart.jsp13
-rw-r--r--settings.gradle2
-rw-r--r--signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/PAdESSigner.java72
-rw-r--r--signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/package-info.java8
-rw-r--r--signature-standards/sigs-pcks7detached/src/main/java/at/gv/egiz/pdfas/sigs/pkcs7detached/PKCS7DetachedSigner.java10
71 files changed, 4535 insertions, 881 deletions
diff --git a/pdf-as-cli/build.gradle b/pdf-as-cli/build.gradle
index 09de729f..bc350af9 100644
--- a/pdf-as-cli/build.gradle
+++ b/pdf-as-cli/build.gradle
@@ -15,6 +15,7 @@ dependencies {
compile project (':pdf-as-lib')
compile project (':stamper:stmp-itext')
compile project (':signature-standards:sigs-pcks7detached')
+ compile project (':signature-standards:sigs-pades')
compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
compile group: 'commons-cli', name: 'commons-cli', version: '1.2'
testCompile group: 'junit', name: 'junit', version: '4.+'
diff --git a/pdf-as-cli/src/main/java/at/gv/egiz/pdfas/cli/DeveloperMain.java b/pdf-as-cli/src/main/java/at/gv/egiz/pdfas/cli/DeveloperMain.java
index 8087da19..b30e1be2 100644
--- a/pdf-as-cli/src/main/java/at/gv/egiz/pdfas/cli/DeveloperMain.java
+++ b/pdf-as-cli/src/main/java/at/gv/egiz/pdfas/cli/DeveloperMain.java
@@ -18,7 +18,10 @@ import at.gv.egiz.pdfas.lib.api.sign.IPlainSigner;
import at.gv.egiz.pdfas.lib.api.sign.SignParameter;
import at.gv.egiz.pdfas.lib.api.verify.VerifyParameter;
import at.gv.egiz.pdfas.lib.impl.VerifyParameterImpl;
+import at.gv.egiz.pdfas.lib.impl.signing.pdfbox.PADESPDFBOXSigner;
+import at.gv.egiz.pdfas.sigs.pades.PAdESSigner;
import at.gv.egiz.pdfas.sigs.pkcs7detached.PKCS7DetachedSigner;
+import at.gv.egiz.sl.util.BKUSLConnector;
public class DeveloperMain {
@@ -37,13 +40,13 @@ public class DeveloperMain {
byte[] data;
try {
IPlainSigner signer = new PKCS7DetachedSigner(keyStoreFile, keyAlias, keyStorePass, keyPass, keyStoreType);
- data = StreamUtils.inputStreamToByteArray(new FileInputStream("/home/afitzek/devel/pdfas_neu/simple.pdf"));
+ data = StreamUtils.inputStreamToByteArray(new FileInputStream("/home/afitzek/devel/pdfas_neu/simple_out2.pdf"));
SignParameter parameter = PdfAsFactory.createSignParameter(config, new ByteArrayDataSource(data));
ByteArrayDataSink bads = new ByteArrayDataSink();
parameter.setSignatureProfileId("SIGNATURBLOCK_DE_NEU");
parameter.setOutput(bads);
- parameter.setPlainSigner(signer);
-
+ parameter.setPlainSigner(new PAdESSigner(new BKUSLConnector(config)));
+ /*
StatusRequest request = pdfas.startSign(parameter);
if(request.needCertificate()) {
@@ -58,7 +61,7 @@ public class DeveloperMain {
FileOutputStream fos2 = new FileOutputStream("/home/afitzek/devel/pdfas_neu/sign1.pdf");
fos2.write(request.getSignatureData());
fos2.close();
- request.setSigature(signer.sign(request.getSignatureData()));
+ request.setSigature(signer.sign(request.getSignatureData(), request.getSignatureDataByteRange()));
} else {
throw new Exception("Invalid status");
}
@@ -70,9 +73,9 @@ public class DeveloperMain {
} else {
throw new Exception("Invalid status");
}
-
+ */
pdfas.sign(parameter);
- FileOutputStream fos = new FileOutputStream("/home/afitzek/devel/pdfas_neu/simple_out.pdf");
+ FileOutputStream fos = new FileOutputStream("/home/afitzek/devel/pdfas_neu/simple_out3.pdf");
fos.write(bads.getData());
fos.close();
diff --git a/pdf-as-cli/src/main/java/at/gv/egiz/pdfas/cli/Main.java b/pdf-as-cli/src/main/java/at/gv/egiz/pdfas/cli/Main.java
index 09f0f9ce..05fbbf67 100644
--- a/pdf-as-cli/src/main/java/at/gv/egiz/pdfas/cli/Main.java
+++ b/pdf-as-cli/src/main/java/at/gv/egiz/pdfas/cli/Main.java
@@ -27,6 +27,8 @@ import at.gv.egiz.pdfas.lib.api.sign.SignParameter;
import at.gv.egiz.pdfas.lib.api.sign.SignResult;
import at.gv.egiz.pdfas.lib.api.verify.VerifyParameter;
import at.gv.egiz.pdfas.lib.api.verify.VerifyResult;
+import at.gv.egiz.pdfas.sigs.pades.PAdESSigner;
+import at.gv.egiz.sl.util.BKUSLConnector;
public class Main {
@@ -55,7 +57,7 @@ public class Main {
public static final String CLI_ARG_VERIFY_WHICH = "verify_which";
public static final String STANDARD_CONFIG_LOCATION = System
- .getProperty("user.home") + "/.pdfas/cfg/";
+ .getProperty("user.home") + "/.pdfas/";
public static final String STANDARD_POSITION_STRING = "x:auto;y:auto;w:auto;p:auto;f:0";
@@ -148,6 +150,7 @@ public class Main {
System.exit(-1);
} catch (Exception e) {
System.err.println("PDF-AS Error: " + e.getMessage());
+ e.printStackTrace(System.err);
System.exit(-1);
}
}
@@ -202,7 +205,7 @@ public class Main {
configuration, dataSource);
signParameter.setOutput(dataSink);
-
+ signParameter.setPlainSigner(new PAdESSigner(new BKUSLConnector(configuration)));
signParameter.setDataSource(dataSource);
signParameter.setSignaturePosition(positionString);
signParameter.setSignatureProfileId(profilID);
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/common/exceptions/PdfAsSignatureException.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/common/exceptions/PdfAsSignatureException.java
new file mode 100644
index 00000000..8ce81acb
--- /dev/null
+++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/common/exceptions/PdfAsSignatureException.java
@@ -0,0 +1,13 @@
+package at.gv.egiz.pdfas.common.exceptions;
+
+public class PdfAsSignatureException extends PdfAsException {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -7708377284196351907L;
+
+ public PdfAsSignatureException(String msgId, Throwable e) {
+ super(msgId, e);
+ }
+}
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/common/exceptions/PdfAsWrappedIOException.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/common/exceptions/PdfAsWrappedIOException.java
new file mode 100644
index 00000000..dfb2114e
--- /dev/null
+++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/common/exceptions/PdfAsWrappedIOException.java
@@ -0,0 +1,16 @@
+package at.gv.egiz.pdfas.common.exceptions;
+
+import java.io.IOException;
+
+public class PdfAsWrappedIOException extends IOException {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1241649395712516711L;
+
+ public PdfAsWrappedIOException(PdfAsException e) {
+ super(e);
+ }
+
+}
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/common/exceptions/SLPdfAsException.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/common/exceptions/SLPdfAsException.java
new file mode 100644
index 00000000..fa9031ec
--- /dev/null
+++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/common/exceptions/SLPdfAsException.java
@@ -0,0 +1,24 @@
+package at.gv.egiz.pdfas.common.exceptions;
+
+
+public class SLPdfAsException extends PdfAsException {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -1261346424827136327L;
+
+ private int code;
+ private String info;
+
+ public SLPdfAsException(int code, String info) {
+ super();
+ this.code = code;
+ this.info = info;
+ }
+
+
+ protected String localizeMessage(String msgId) {
+ return String.format("%d : %s", code, info);
+ }
+}
diff --git a/pdf-as-lib/ /home/afitzek/devel/pdf-as-4/src/pdf-as-4/pdf-as-lib/src/main/java/at/gv/e_government/reference/namespace/moa/_20020822/ContentOptionalRefType.java b/pdf-as-lib/ /home/afitzek/devel/pdf-as-4/src/pdf-as-4/pdf-as-lib/src/main/java/at/gv/e_government/reference/namespace/moa/_20020822/ContentOptionalRefType.java
deleted file mode 100644
index ebf93f7d..00000000
--- a/pdf-as-lib/ /home/afitzek/devel/pdf-as-4/src/pdf-as-4/pdf-as-lib/src/main/java/at/gv/e_government/reference/namespace/moa/_20020822/ContentOptionalRefType.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/**
- * ContentOptionalRefType.java
- *
- * This file was auto-generated from WSDL
- * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
- */
-
-package at.gv.e_government.reference.namespace.moa._20020822;
-
-public class ContentOptionalRefType extends at.gv.e_government.reference.namespace.moa._20020822.ContentBaseType implements java.io.Serializable {
- private org.apache.axis.types.URI reference; // attribute
-
- public ContentOptionalRefType() {
- }
-
- public ContentOptionalRefType(
- byte[] base64Content,
- at.gv.e_government.reference.namespace.moa._20020822.XMLContentType XMLContent,
- org.apache.axis.types.URI locRefContent,
- org.apache.axis.types.URI reference) {
- super(
- base64Content,
- XMLContent,
- locRefContent);
- this.reference = reference;
- }
-
-
- /**
- * Gets the reference value for this ContentOptionalRefType.
- *
- * @return reference
- */
- public org.apache.axis.types.URI getReference() {
- return reference;
- }
-
-
- /**
- * Sets the reference value for this ContentOptionalRefType.
- *
- * @param reference
- */
- public void setReference(org.apache.axis.types.URI reference) {
- this.reference = reference;
- }
-
- private java.lang.Object __equalsCalc = null;
- public synchronized boolean equals(java.lang.Object obj) {
- if (!(obj instanceof ContentOptionalRefType)) return false;
- ContentOptionalRefType other = (ContentOptionalRefType) obj;
- if (obj == null) return false;
- if (this == obj) return true;
- if (__equalsCalc != null) {
- return (__equalsCalc == obj);
- }
- __equalsCalc = obj;
- boolean _equals;
- _equals = super.equals(obj) &&
- ((this.reference==null && other.getReference()==null) ||
- (this.reference!=null &&
- this.reference.equals(other.getReference())));
- __equalsCalc = null;
- return _equals;
- }
-
- private boolean __hashCodeCalc = false;
- public synchronized int hashCode() {
- if (__hashCodeCalc) {
- return 0;
- }
- __hashCodeCalc = true;
- int _hashCode = super.hashCode();
- if (getReference() != null) {
- _hashCode += getReference().hashCode();
- }
- __hashCodeCalc = false;
- return _hashCode;
- }
-
- // Type metadata
- private static org.apache.axis.description.TypeDesc typeDesc =
- new org.apache.axis.description.TypeDesc(ContentOptionalRefType.class, true);
-
- static {
- typeDesc.setXmlType(new javax.xml.namespace.QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "ContentOptionalRefType"));
- org.apache.axis.description.AttributeDesc attrField = new org.apache.axis.description.AttributeDesc();
- attrField.setFieldName("reference");
- attrField.setXmlName(new javax.xml.namespace.QName("", "Reference"));
- attrField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "anyURI"));
- typeDesc.addFieldDesc(attrField);
- }
-
- /**
- * Return type metadata object
- */
- public static org.apache.axis.description.TypeDesc getTypeDesc() {
- return typeDesc;
- }
-
- /**
- * Get Custom Serializer
- */
- public static org.apache.axis.encoding.Serializer getSerializer(
- java.lang.String mechType,
- java.lang.Class _javaType,
- javax.xml.namespace.QName _xmlType) {
- return
- new org.apache.axis.encoding.ser.BeanSerializer(
- _javaType, _xmlType, typeDesc);
- }
-
- /**
- * Get Custom Deserializer
- */
- public static org.apache.axis.encoding.Deserializer getDeserializer(
- java.lang.String mechType,
- java.lang.Class _javaType,
- javax.xml.namespace.QName _xmlType) {
- return
- new org.apache.axis.encoding.ser.BeanDeserializer(
- _javaType, _xmlType, typeDesc);
- }
-
-}
diff --git a/pdf-as-lib/ /home/afitzek/devel/pdf-as-4/src/pdf-as-4/pdf-as-lib/src/main/java/at/gv/e_government/reference/namespace/moa/_20020822/ManifestRefsCheckResultInfoType.java b/pdf-as-lib/ /home/afitzek/devel/pdf-as-4/src/pdf-as-4/pdf-as-lib/src/main/java/at/gv/e_government/reference/namespace/moa/_20020822/ManifestRefsCheckResultInfoType.java
deleted file mode 100644
index e69de29b..00000000
--- a/pdf-as-lib/ /home/afitzek/devel/pdf-as-4/src/pdf-as-4/pdf-as-lib/src/main/java/at/gv/e_government/reference/namespace/moa/_20020822/ManifestRefsCheckResultInfoType.java
+++ /dev/null
diff --git a/pdf-as-lib/ /home/afitzek/devel/pdf-as-4/src/pdf-as-4/pdf-as-lib/src/main/java/at/gv/e_government/reference/namespace/moa/_20020822/PublicAuthorityType.java b/pdf-as-lib/ /home/afitzek/devel/pdf-as-4/src/pdf-as-4/pdf-as-lib/src/main/java/at/gv/e_government/reference/namespace/moa/_20020822/PublicAuthorityType.java
deleted file mode 100644
index cf0fdeca..00000000
--- a/pdf-as-lib/ /home/afitzek/devel/pdf-as-4/src/pdf-as-4/pdf-as-lib/src/main/java/at/gv/e_government/reference/namespace/moa/_20020822/PublicAuthorityType.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/**
- * PublicAuthorityType.java
- *
- * This file was auto-generated from WSDL
- * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
- */
-
-package at.gv.e_government.reference.namespace.moa._20020822;
-
-public class PublicAuthorityType implements java.io.Serializable {
- private java.lang.String code;
-
- public PublicAuthorityType() {
- }
-
- public PublicAuthorityType(
- java.lang.String code) {
- this.code = code;
- }
-
-
- /**
- * Gets the code value for this PublicAuthorityType.
- *
- * @return code
- */
- public java.lang.String getCode() {
- return code;
- }
-
-
- /**
- * Sets the code value for this PublicAuthorityType.
- *
- * @param code
- */
- public void setCode(java.lang.String code) {
- this.code = code;
- }
-
- private java.lang.Object __equalsCalc = null;
- public synchronized boolean equals(java.lang.Object obj) {
- if (!(obj instanceof PublicAuthorityType)) return false;
- PublicAuthorityType other = (PublicAuthorityType) obj;
- if (obj == null) return false;
- if (this == obj) return true;
- if (__equalsCalc != null) {
- return (__equalsCalc == obj);
- }
- __equalsCalc = obj;
- boolean _equals;
- _equals = true &&
- ((this.code==null && other.getCode()==null) ||
- (this.code!=null &&
- this.code.equals(other.getCode())));
- __equalsCalc = null;
- return _equals;
- }
-
- private boolean __hashCodeCalc = false;
- public synchronized int hashCode() {
- if (__hashCodeCalc) {
- return 0;
- }
- __hashCodeCalc = true;
- int _hashCode = 1;
- if (getCode() != null) {
- _hashCode += getCode().hashCode();
- }
- __hashCodeCalc = false;
- return _hashCode;
- }
-
- // Type metadata
- private static org.apache.axis.description.TypeDesc typeDesc =
- new org.apache.axis.description.TypeDesc(PublicAuthorityType.class, true);
-
- static {
- typeDesc.setXmlType(new javax.xml.namespace.QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "PublicAuthorityType"));
- org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
- elemField.setFieldName("code");
- elemField.setXmlName(new javax.xml.namespace.QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "Code"));
- elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
- elemField.setMinOccurs(0);
- elemField.setNillable(false);
- typeDesc.addFieldDesc(elemField);
- }
-
- /**
- * Return type metadata object
- */
- public static org.apache.axis.description.TypeDesc getTypeDesc() {
- return typeDesc;
- }
-
- /**
- * Get Custom Serializer
- */
- public static org.apache.axis.encoding.Serializer getSerializer(
- java.lang.String mechType,
- java.lang.Class _javaType,
- javax.xml.namespace.QName _xmlType) {
- return
- new org.apache.axis.encoding.ser.BeanSerializer(
- _javaType, _xmlType, typeDesc);
- }
-
- /**
- * Get Custom Deserializer
- */
- public static org.apache.axis.encoding.Deserializer getDeserializer(
- java.lang.String mechType,
- java.lang.Class _javaType,
- javax.xml.namespace.QName _xmlType) {
- return
- new org.apache.axis.encoding.ser.BeanDeserializer(
- _javaType, _xmlType, typeDesc);
- }
-
-}
diff --git a/pdf-as-lib/ /home/afitzek/devel/pdf-as-4/src/pdf-as-4/pdf-as-lib/src/main/java/at/gv/e_government/reference/namespace/moa/_20020822/VerifyCMSSignatureResponseType.java b/pdf-as-lib/ /home/afitzek/devel/pdf-as-4/src/pdf-as-4/pdf-as-lib/src/main/java/at/gv/e_government/reference/namespace/moa/_20020822/VerifyCMSSignatureResponseType.java
deleted file mode 100644
index f4be37ee..00000000
--- a/pdf-as-lib/ /home/afitzek/devel/pdf-as-4/src/pdf-as-4/pdf-as-lib/src/main/java/at/gv/e_government/reference/namespace/moa/_20020822/VerifyCMSSignatureResponseType.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/**
- * VerifyCMSSignatureResponseType.java
- *
- * This file was auto-generated from WSDL
- * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
- */
-
-package at.gv.e_government.reference.namespace.moa._20020822;
-
-public class VerifyCMSSignatureResponseType implements java.io.Serializable {
- /* only ds:X509Data and RetrievalMethod is supported; QualifiedCertificate
- * is included as X509Data/any;publicAuthority is included as X509Data/any */
- private org.w3.www._2000._09.xmldsig.KeyInfoType signerInfo;
-
- private at.gv.e_government.reference.namespace.moa._20020822.CheckResultType signatureCheck;
-
- private at.gv.e_government.reference.namespace.moa._20020822.CheckResultType certificateCheck;
-
- public VerifyCMSSignatureResponseType() {
- }
-
- public VerifyCMSSignatureResponseType(
- org.w3.www._2000._09.xmldsig.KeyInfoType signerInfo,
- at.gv.e_government.reference.namespace.moa._20020822.CheckResultType signatureCheck,
- at.gv.e_government.reference.namespace.moa._20020822.CheckResultType certificateCheck) {
- this.signerInfo = signerInfo;
- this.signatureCheck = signatureCheck;
- this.certificateCheck = certificateCheck;
- }
-
-
- /**
- * Gets the signerInfo value for this VerifyCMSSignatureResponseType.
- *
- * @return signerInfo * only ds:X509Data and RetrievalMethod is supported; QualifiedCertificate
- * is included as X509Data/any;publicAuthority is included as X509Data/any
- */
- public org.w3.www._2000._09.xmldsig.KeyInfoType getSignerInfo() {
- return signerInfo;
- }
-
-
- /**
- * Sets the signerInfo value for this VerifyCMSSignatureResponseType.
- *
- * @param signerInfo * only ds:X509Data and RetrievalMethod is supported; QualifiedCertificate
- * is included as X509Data/any;publicAuthority is included as X509Data/any
- */
- public void setSignerInfo(org.w3.www._2000._09.xmldsig.KeyInfoType signerInfo) {
- this.signerInfo = signerInfo;
- }
-
-
- /**
- * Gets the signatureCheck value for this VerifyCMSSignatureResponseType.
- *
- * @return signatureCheck
- */
- public at.gv.e_government.reference.namespace.moa._20020822.CheckResultType getSignatureCheck() {
- return signatureCheck;
- }
-
-
- /**
- * Sets the signatureCheck value for this VerifyCMSSignatureResponseType.
- *
- * @param signatureCheck
- */
- public void setSignatureCheck(at.gv.e_government.reference.namespace.moa._20020822.CheckResultType signatureCheck) {
- this.signatureCheck = signatureCheck;
- }
-
-
- /**
- * Gets the certificateCheck value for this VerifyCMSSignatureResponseType.
- *
- * @return certificateCheck
- */
- public at.gv.e_government.reference.namespace.moa._20020822.CheckResultType getCertificateCheck() {
- return certificateCheck;
- }
-
-
- /**
- * Sets the certificateCheck value for this VerifyCMSSignatureResponseType.
- *
- * @param certificateCheck
- */
- public void setCertificateCheck(at.gv.e_government.reference.namespace.moa._20020822.CheckResultType certificateCheck) {
- this.certificateCheck = certificateCheck;
- }
-
- private java.lang.Object __equalsCalc = null;
- public synchronized boolean equals(java.lang.Object obj) {
- if (!(obj instanceof VerifyCMSSignatureResponseType)) return false;
- VerifyCMSSignatureResponseType other = (VerifyCMSSignatureResponseType) obj;
- if (obj == null) return false;
- if (this == obj) return true;
- if (__equalsCalc != null) {
- return (__equalsCalc == obj);
- }
- __equalsCalc = obj;
- boolean _equals;
- _equals = true &&
- ((this.signerInfo==null && other.getSignerInfo()==null) ||
- (this.signerInfo!=null &&
- this.signerInfo.equals(other.getSignerInfo()))) &&
- ((this.signatureCheck==null && other.getSignatureCheck()==null) ||
- (this.signatureCheck!=null &&
- this.signatureCheck.equals(other.getSignatureCheck()))) &&
- ((this.certificateCheck==null && other.getCertificateCheck()==null) ||
- (this.certificateCheck!=null &&
- this.certificateCheck.equals(other.getCertificateCheck())));
- __equalsCalc = null;
- return _equals;
- }
-
- private boolean __hashCodeCalc = false;
- public synchronized int hashCode() {
- if (__hashCodeCalc) {
- return 0;
- }
- __hashCodeCalc = true;
- int _hashCode = 1;
- if (getSignerInfo() != null) {
- _hashCode += getSignerInfo().hashCode();
- }
- if (getSignatureCheck() != null) {
- _hashCode += getSignatureCheck().hashCode();
- }
- if (getCertificateCheck() != null) {
- _hashCode += getCertificateCheck().hashCode();
- }
- __hashCodeCalc = false;
- return _hashCode;
- }
-
- // Type metadata
- private static org.apache.axis.description.TypeDesc typeDesc =
- new org.apache.axis.description.TypeDesc(VerifyCMSSignatureResponseType.class, true);
-
- static {
- typeDesc.setXmlType(new javax.xml.namespace.QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "VerifyCMSSignatureResponseType"));
- org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
- elemField.setFieldName("signerInfo");
- elemField.setXmlName(new javax.xml.namespace.QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "SignerInfo"));
- elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2000/09/xmldsig#", "KeyInfoType"));
- elemField.setNillable(false);
- typeDesc.addFieldDesc(elemField);
- elemField = new org.apache.axis.description.ElementDesc();
- elemField.setFieldName("signatureCheck");
- elemField.setXmlName(new javax.xml.namespace.QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "SignatureCheck"));
- elemField.setXmlType(new javax.xml.namespace.QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "CheckResultType"));
- elemField.setNillable(false);
- typeDesc.addFieldDesc(elemField);
- elemField = new org.apache.axis.description.ElementDesc();
- elemField.setFieldName("certificateCheck");
- elemField.setXmlName(new javax.xml.namespace.QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "CertificateCheck"));
- elemField.setXmlType(new javax.xml.namespace.QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "CheckResultType"));
- elemField.setNillable(false);
- typeDesc.addFieldDesc(elemField);
- }
-
- /**
- * Return type metadata object
- */
- public static org.apache.axis.description.TypeDesc getTypeDesc() {
- return typeDesc;
- }
-
- /**
- * Get Custom Serializer
- */
- public static org.apache.axis.encoding.Serializer getSerializer(
- java.lang.String mechType,
- java.lang.Class _javaType,
- javax.xml.namespace.QName _xmlType) {
- return
- new org.apache.axis.encoding.ser.BeanSerializer(
- _javaType, _xmlType, typeDesc);
- }
-
- /**
- * Get Custom Deserializer
- */
- public static org.apache.axis.encoding.Deserializer getDeserializer(
- java.lang.String mechType,
- java.lang.Class _javaType,
- javax.xml.namespace.QName _xmlType) {
- return
- new org.apache.axis.encoding.ser.BeanDeserializer(
- _javaType, _xmlType, typeDesc);
- }
-
-}
diff --git a/pdf-as-lib/ /home/afitzek/devel/pdf-as-4/src/pdf-as-4/pdf-as-lib/src/main/java/at/gv/e_government/reference/namespace/moa/_20020822/VerifyXMLSignatureResponseType.java b/pdf-as-lib/ /home/afitzek/devel/pdf-as-4/src/pdf-as-4/pdf-as-lib/src/main/java/at/gv/e_government/reference/namespace/moa/_20020822/VerifyXMLSignatureResponseType.java
deleted file mode 100644
index c7fd41e9..00000000
--- a/pdf-as-lib/ /home/afitzek/devel/pdf-as-4/src/pdf-as-4/pdf-as-lib/src/main/java/at/gv/e_government/reference/namespace/moa/_20020822/VerifyXMLSignatureResponseType.java
+++ /dev/null
@@ -1,394 +0,0 @@
-/**
- * VerifyXMLSignatureResponseType.java
- *
- * This file was auto-generated from WSDL
- * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
- */
-
-package at.gv.e_government.reference.namespace.moa._20020822;
-
-public class VerifyXMLSignatureResponseType implements java.io.Serializable {
- /* only ds:X509Data and ds:RetrievalMethod is supported; QualifiedCertificate
- * is included as X509Data/any; PublicAuthority is included as X509Data/any */
- private org.w3.www._2000._09.xmldsig.KeyInfoType signerInfo;
-
- private at.gv.e_government.reference.namespace.moa._20020822.InputDataType[] hashInputData;
-
- private at.gv.e_government.reference.namespace.moa._20020822.InputDataType[] referenceInputData;
-
- private at.gv.e_government.reference.namespace.moa._20020822.ReferencesCheckResultType signatureCheck;
-
- private at.gv.e_government.reference.namespace.moa._20020822.ReferencesCheckResultType signatureManifestCheck;
-
- private at.gv.e_government.reference.namespace.moa._20020822.ManifestRefsCheckResultType[] XMLDSIGManifestCheck;
-
- private at.gv.e_government.reference.namespace.moa._20020822.CheckResultType certificateCheck;
-
- public VerifyXMLSignatureResponseType() {
- }
-
- public VerifyXMLSignatureResponseType(
- org.w3.www._2000._09.xmldsig.KeyInfoType signerInfo,
- at.gv.e_government.reference.namespace.moa._20020822.InputDataType[] hashInputData,
- at.gv.e_government.reference.namespace.moa._20020822.InputDataType[] referenceInputData,
- at.gv.e_government.reference.namespace.moa._20020822.ReferencesCheckResultType signatureCheck,
- at.gv.e_government.reference.namespace.moa._20020822.ReferencesCheckResultType signatureManifestCheck,
- at.gv.e_government.reference.namespace.moa._20020822.ManifestRefsCheckResultType[] XMLDSIGManifestCheck,
- at.gv.e_government.reference.namespace.moa._20020822.CheckResultType certificateCheck) {
- this.signerInfo = signerInfo;
- this.hashInputData = hashInputData;
- this.referenceInputData = referenceInputData;
- this.signatureCheck = signatureCheck;
- this.signatureManifestCheck = signatureManifestCheck;
- this.XMLDSIGManifestCheck = XMLDSIGManifestCheck;
- this.certificateCheck = certificateCheck;
- }
-
-
- /**
- * Gets the signerInfo value for this VerifyXMLSignatureResponseType.
- *
- * @return signerInfo * only ds:X509Data and ds:RetrievalMethod is supported; QualifiedCertificate
- * is included as X509Data/any; PublicAuthority is included as X509Data/any
- */
- public org.w3.www._2000._09.xmldsig.KeyInfoType getSignerInfo() {
- return signerInfo;
- }
-
-
- /**
- * Sets the signerInfo value for this VerifyXMLSignatureResponseType.
- *
- * @param signerInfo * only ds:X509Data and ds:RetrievalMethod is supported; QualifiedCertificate
- * is included as X509Data/any; PublicAuthority is included as X509Data/any
- */
- public void setSignerInfo(org.w3.www._2000._09.xmldsig.KeyInfoType signerInfo) {
- this.signerInfo = signerInfo;
- }
-
-
- /**
- * Gets the hashInputData value for this VerifyXMLSignatureResponseType.
- *
- * @return hashInputData
- */
- public at.gv.e_government.reference.namespace.moa._20020822.InputDataType[] getHashInputData() {
- return hashInputData;
- }
-
-
- /**
- * Sets the hashInputData value for this VerifyXMLSignatureResponseType.
- *
- * @param hashInputData
- */
- public void setHashInputData(at.gv.e_government.reference.namespace.moa._20020822.InputDataType[] hashInputData) {
- this.hashInputData = hashInputData;
- }
-
- public at.gv.e_government.reference.namespace.moa._20020822.InputDataType getHashInputData(int i) {
- return this.hashInputData[i];
- }
-
- public void setHashInputData(int i, at.gv.e_government.reference.namespace.moa._20020822.InputDataType _value) {
- this.hashInputData[i] = _value;
- }
-
-
- /**
- * Gets the referenceInputData value for this VerifyXMLSignatureResponseType.
- *
- * @return referenceInputData
- */
- public at.gv.e_government.reference.namespace.moa._20020822.InputDataType[] getReferenceInputData() {
- return referenceInputData;
- }
-
-
- /**
- * Sets the referenceInputData value for this VerifyXMLSignatureResponseType.
- *
- * @param referenceInputData
- */
- public void setReferenceInputData(at.gv.e_government.reference.namespace.moa._20020822.InputDataType[] referenceInputData) {
- this.referenceInputData = referenceInputData;
- }
-
- public at.gv.e_government.reference.namespace.moa._20020822.InputDataType getReferenceInputData(int i) {
- return this.referenceInputData[i];
- }
-
- public void setReferenceInputData(int i, at.gv.e_government.reference.namespace.moa._20020822.InputDataType _value) {
- this.referenceInputData[i] = _value;
- }
-
-
- /**
- * Gets the signatureCheck value for this VerifyXMLSignatureResponseType.
- *
- * @return signatureCheck
- */
- public at.gv.e_government.reference.namespace.moa._20020822.ReferencesCheckResultType getSignatureCheck() {
- return signatureCheck;
- }
-
-
- /**
- * Sets the signatureCheck value for this VerifyXMLSignatureResponseType.
- *
- * @param signatureCheck
- */
- public void setSignatureCheck(at.gv.e_government.reference.namespace.moa._20020822.ReferencesCheckResultType signatureCheck) {
- this.signatureCheck = signatureCheck;
- }
-
-
- /**
- * Gets the signatureManifestCheck value for this VerifyXMLSignatureResponseType.
- *
- * @return signatureManifestCheck
- */
- public at.gv.e_government.reference.namespace.moa._20020822.ReferencesCheckResultType getSignatureManifestCheck() {
- return signatureManifestCheck;
- }
-
-
- /**
- * Sets the signatureManifestCheck value for this VerifyXMLSignatureResponseType.
- *
- * @param signatureManifestCheck
- */
- public void setSignatureManifestCheck(at.gv.e_government.reference.namespace.moa._20020822.ReferencesCheckResultType signatureManifestCheck) {
- this.signatureManifestCheck = signatureManifestCheck;
- }
-
-
- /**
- * Gets the XMLDSIGManifestCheck value for this VerifyXMLSignatureResponseType.
- *
- * @return XMLDSIGManifestCheck
- */
- public at.gv.e_government.reference.namespace.moa._20020822.ManifestRefsCheckResultType[] getXMLDSIGManifestCheck() {
- return XMLDSIGManifestCheck;
- }
-
-
- /**
- * Sets the XMLDSIGManifestCheck value for this VerifyXMLSignatureResponseType.
- *
- * @param XMLDSIGManifestCheck
- */
- public void setXMLDSIGManifestCheck(at.gv.e_government.reference.namespace.moa._20020822.ManifestRefsCheckResultType[] XMLDSIGManifestCheck) {
- this.XMLDSIGManifestCheck = XMLDSIGManifestCheck;
- }
-
- public at.gv.e_government.reference.namespace.moa._20020822.ManifestRefsCheckResultType getXMLDSIGManifestCheck(int i) {
- return this.XMLDSIGManifestCheck[i];
- }
-
- public void setXMLDSIGManifestCheck(int i, at.gv.e_government.reference.namespace.moa._20020822.ManifestRefsCheckResultType _value) {
- this.XMLDSIGManifestCheck[i] = _value;
- }
-
-
- /**
- * Gets the certificateCheck value for this VerifyXMLSignatureResponseType.
- *
- * @return certificateCheck
- */
- public at.gv.e_government.reference.namespace.moa._20020822.CheckResultType getCertificateCheck() {
- return certificateCheck;
- }
-
-
- /**
- * Sets the certificateCheck value for this VerifyXMLSignatureResponseType.
- *
- * @param certificateCheck
- */
- public void setCertificateCheck(at.gv.e_government.reference.namespace.moa._20020822.CheckResultType certificateCheck) {
- this.certificateCheck = certificateCheck;
- }
-
- private java.lang.Object __equalsCalc = null;
- public synchronized boolean equals(java.lang.Object obj) {
- if (!(obj instanceof VerifyXMLSignatureResponseType)) return false;
- VerifyXMLSignatureResponseType other = (VerifyXMLSignatureResponseType) obj;
- if (obj == null) return false;
- if (this == obj) return true;
- if (__equalsCalc != null) {
- return (__equalsCalc == obj);
- }
- __equalsCalc = obj;
- boolean _equals;
- _equals = true &&
- ((this.signerInfo==null && other.getSignerInfo()==null) ||
- (this.signerInfo!=null &&
- this.signerInfo.equals(other.getSignerInfo()))) &&
- ((this.hashInputData==null && other.getHashInputData()==null) ||
- (this.hashInputData!=null &&
- java.util.Arrays.equals(this.hashInputData, other.getHashInputData()))) &&
- ((this.referenceInputData==null && other.getReferenceInputData()==null) ||
- (this.referenceInputData!=null &&
- java.util.Arrays.equals(this.referenceInputData, other.getReferenceInputData()))) &&
- ((this.signatureCheck==null && other.getSignatureCheck()==null) ||
- (this.signatureCheck!=null &&
- this.signatureCheck.equals(other.getSignatureCheck()))) &&
- ((this.signatureManifestCheck==null && other.getSignatureManifestCheck()==null) ||
- (this.signatureManifestCheck!=null &&
- this.signatureManifestCheck.equals(other.getSignatureManifestCheck()))) &&
- ((this.XMLDSIGManifestCheck==null && other.getXMLDSIGManifestCheck()==null) ||
- (this.XMLDSIGManifestCheck!=null &&
- java.util.Arrays.equals(this.XMLDSIGManifestCheck, other.getXMLDSIGManifestCheck()))) &&
- ((this.certificateCheck==null && other.getCertificateCheck()==null) ||
- (this.certificateCheck!=null &&
- this.certificateCheck.equals(other.getCertificateCheck())));
- __equalsCalc = null;
- return _equals;
- }
-
- private boolean __hashCodeCalc = false;
- public synchronized int hashCode() {
- if (__hashCodeCalc) {
- return 0;
- }
- __hashCodeCalc = true;
- int _hashCode = 1;
- if (getSignerInfo() != null) {
- _hashCode += getSignerInfo().hashCode();
- }
- if (getHashInputData() != null) {
- for (int i=0;
- i<java.lang.reflect.Array.getLength(getHashInputData());
- i++) {
- java.lang.Object obj = java.lang.reflect.Array.get(getHashInputData(), i);
- if (obj != null &&
- !obj.getClass().isArray()) {
- _hashCode += obj.hashCode();
- }
- }
- }
- if (getReferenceInputData() != null) {
- for (int i=0;
- i<java.lang.reflect.Array.getLength(getReferenceInputData());
- i++) {
- java.lang.Object obj = java.lang.reflect.Array.get(getReferenceInputData(), i);
- if (obj != null &&
- !obj.getClass().isArray()) {
- _hashCode += obj.hashCode();
- }
- }
- }
- if (getSignatureCheck() != null) {
- _hashCode += getSignatureCheck().hashCode();
- }
- if (getSignatureManifestCheck() != null) {
- _hashCode += getSignatureManifestCheck().hashCode();
- }
- if (getXMLDSIGManifestCheck() != null) {
- for (int i=0;
- i<java.lang.reflect.Array.getLength(getXMLDSIGManifestCheck());
- i++) {
- java.lang.Object obj = java.lang.reflect.Array.get(getXMLDSIGManifestCheck(), i);
- if (obj != null &&
- !obj.getClass().isArray()) {
- _hashCode += obj.hashCode();
- }
- }
- }
- if (getCertificateCheck() != null) {
- _hashCode += getCertificateCheck().hashCode();
- }
- __hashCodeCalc = false;
- return _hashCode;
- }
-
- // Type metadata
- private static org.apache.axis.description.TypeDesc typeDesc =
- new org.apache.axis.description.TypeDesc(VerifyXMLSignatureResponseType.class, true);
-
- static {
- typeDesc.setXmlType(new javax.xml.namespace.QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "VerifyXMLSignatureResponseType"));
- org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
- elemField.setFieldName("signerInfo");
- elemField.setXmlName(new javax.xml.namespace.QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "SignerInfo"));
- elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2000/09/xmldsig#", "KeyInfoType"));
- elemField.setNillable(false);
- typeDesc.addFieldDesc(elemField);
- elemField = new org.apache.axis.description.ElementDesc();
- elemField.setFieldName("hashInputData");
- elemField.setXmlName(new javax.xml.namespace.QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "HashInputData"));
- elemField.setXmlType(new javax.xml.namespace.QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "InputDataType"));
- elemField.setMinOccurs(0);
- elemField.setNillable(false);
- elemField.setMaxOccursUnbounded(true);
- typeDesc.addFieldDesc(elemField);
- elemField = new org.apache.axis.description.ElementDesc();
- elemField.setFieldName("referenceInputData");
- elemField.setXmlName(new javax.xml.namespace.QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "ReferenceInputData"));
- elemField.setXmlType(new javax.xml.namespace.QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "InputDataType"));
- elemField.setMinOccurs(0);
- elemField.setNillable(false);
- elemField.setMaxOccursUnbounded(true);
- typeDesc.addFieldDesc(elemField);
- elemField = new org.apache.axis.description.ElementDesc();
- elemField.setFieldName("signatureCheck");
- elemField.setXmlName(new javax.xml.namespace.QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "SignatureCheck"));
- elemField.setXmlType(new javax.xml.namespace.QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "ReferencesCheckResultType"));
- elemField.setNillable(false);
- typeDesc.addFieldDesc(elemField);
- elemField = new org.apache.axis.description.ElementDesc();
- elemField.setFieldName("signatureManifestCheck");
- elemField.setXmlName(new javax.xml.namespace.QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "SignatureManifestCheck"));
- elemField.setXmlType(new javax.xml.namespace.QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "ReferencesCheckResultType"));
- elemField.setMinOccurs(0);
- elemField.setNillable(false);
- typeDesc.addFieldDesc(elemField);
- elemField = new org.apache.axis.description.ElementDesc();
- elemField.setFieldName("XMLDSIGManifestCheck");
- elemField.setXmlName(new javax.xml.namespace.QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "XMLDSIGManifestCheck"));
- elemField.setXmlType(new javax.xml.namespace.QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "ManifestRefsCheckResultType"));
- elemField.setMinOccurs(0);
- elemField.setNillable(false);
- elemField.setMaxOccursUnbounded(true);
- typeDesc.addFieldDesc(elemField);
- elemField = new org.apache.axis.description.ElementDesc();
- elemField.setFieldName("certificateCheck");
- elemField.setXmlName(new javax.xml.namespace.QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "CertificateCheck"));
- elemField.setXmlType(new javax.xml.namespace.QName("http://reference.e-government.gv.at/namespace/moa/20020822#", "CheckResultType"));
- elemField.setNillable(false);
- typeDesc.addFieldDesc(elemField);
- }
-
- /**
- * Return type metadata object
- */
- public static org.apache.axis.description.TypeDesc getTypeDesc() {
- return typeDesc;
- }
-
- /**
- * Get Custom Serializer
- */
- public static org.apache.axis.encoding.Serializer getSerializer(
- java.lang.String mechType,
- java.lang.Class _javaType,
- javax.xml.namespace.QName _xmlType) {
- return
- new org.apache.axis.encoding.ser.BeanSerializer(
- _javaType, _xmlType, typeDesc);
- }
-
- /**
- * Get Custom Deserializer
- */
- public static org.apache.axis.encoding.Deserializer getDeserializer(
- java.lang.String mechType,
- java.lang.Class _javaType,
- javax.xml.namespace.QName _xmlType) {
- return
- new org.apache.axis.encoding.ser.BeanDeserializer(
- _javaType, _xmlType, typeDesc);
- }
-
-}
diff --git a/pdf-as-lib/build.gradle b/pdf-as-lib/build.gradle
index a6693841..10dc0fc7 100644
--- a/pdf-as-lib/build.gradle
+++ b/pdf-as-lib/build.gradle
@@ -52,6 +52,8 @@ repositories {
dependencies {
compile project (':pdf-as-common')
+ compile group: 'org.apache.httpcomponents', name: 'httpmime', version: '4.3.1'
+ compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.3.1'
compile group: 'org.apache.pdfbox', name: 'pdfbox', version: '1.8.2'
compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.1'
compile group: 'org.apache.commons', name: 'commons-io', version: '1.3.2'
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/sign/IPlainSigner.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/sign/IPlainSigner.java
index 6155a245..0ad40cc4 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/sign/IPlainSigner.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/api/sign/IPlainSigner.java
@@ -7,9 +7,11 @@ import java.io.IOException;
import org.apache.pdfbox.cos.COSName;
import org.apache.pdfbox.exceptions.SignatureException;
+import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
+
public interface IPlainSigner {
- public X509Certificate getCertificate();
- public byte[] sign(byte[] input) throws SignatureException, IOException;
+ public X509Certificate getCertificate() throws PdfAsException;
+ public byte[] sign(byte[] input, int[] byteRange) throws PdfAsException;
public String getPDFSubFilter();
public String getPDFFilter();
}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java
index 6f74303c..75408567 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/PdfAsImpl.java
@@ -23,6 +23,7 @@ import at.gv.egiz.pdfas.common.exceptions.PdfAsSettingsException;
import at.gv.egiz.pdfas.common.settings.ISettings;
import at.gv.egiz.pdfas.common.settings.Settings;
import at.gv.egiz.pdfas.common.settings.SignatureProfileSettings;
+import at.gv.egiz.pdfas.common.utils.PDFUtils;
import at.gv.egiz.pdfas.lib.api.Configuration;
import at.gv.egiz.pdfas.lib.api.IConfigurationConstants;
import at.gv.egiz.pdfas.lib.api.PdfAs;
@@ -47,6 +48,7 @@ import at.gv.egiz.pdfas.lib.impl.status.OperationStatus;
import at.gv.egiz.pdfas.lib.impl.status.RequestedSignature;
import at.gv.egiz.pdfas.lib.impl.verify.IVerifyFilter;
import at.gv.egiz.pdfas.lib.impl.verify.VerifierDispatcher;
+import at.knowcenter.wag.egov.egiz.pdf.PDFUtilities;
import at.knowcenter.wag.egov.egiz.pdf.PositioningInstruction;
import at.knowcenter.wag.egov.egiz.pdf.TablePos;
import at.knowcenter.wag.egov.egiz.table.Table;
@@ -83,6 +85,8 @@ public class PdfAsImpl implements PdfAs, IConfigurationConstants {
RequestedSignature requestedSignature = new RequestedSignature(
status);
+ status.setRequestedSignature(requestedSignature);
+
requestedSignature.setCertificate(status.getSignParamter()
.getPlainSigner().getCertificate());
@@ -334,13 +338,25 @@ public class PdfAsImpl implements PdfAs, IConfigurationConstants {
SignatureDataExtractor signatureDataExtractor = new SignatureDataExtractor(
request.getCertificate(), pdfFilter, pdfSubFilter,
status.getSigningDate());
-
+
IPdfSigner signer = PdfSignerFactory.createPdfSigner();
signer.signPDF(status.getPdfObject(),
status.getRequestedSignature(), signatureDataExtractor);
+
+ StringBuilder sb = new StringBuilder();
+
+ int[] byteRange = PDFUtils.extractSignatureByteRange(signatureDataExtractor
+ .getSignatureData());
+
+ for(int i = 0; i < byteRange.length; i++) {
+ sb.append(" " + byteRange[i]);
+ }
+
+ logger.info("ByteRange: " + sb.toString());
+
request.setSignatureData(signatureDataExtractor
.getSignatureData());
- request.setByteRange(signatureDataExtractor.getByteRange());
+ request.setByteRange(byteRange);
request.setNeedSignature(true);
} catch (Throwable e) {
@@ -349,12 +365,14 @@ public class PdfAsImpl implements PdfAs, IConfigurationConstants {
}
} else if (request.needSignature()) {
request.setNeedSignature(false);
- // TODO: Inject signature byte[] into signedDocument
- int offset = request.getSignatureData().length;
-
- for (int i = 0; i < request.getSignature().length; i++) {
- status.getPdfObject().getSignedDocument()[offset + i] = request
- .getSignature()[i];
+ // Inject signature byte[] into signedDocument
+ int offset = request.getSignatureDataByteRange()[1] + 1;
+
+ String signature = new COSString(request.getSignature()).getHexString();
+ byte[] pdfSignature = signature.getBytes();
+
+ for (int i = 0; i < pdfSignature.length; i++) {
+ status.getPdfObject().getSignedDocument()[offset + i] = pdfSignature[i];
}
/*
*
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PADESPDFBOXSigner.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PADESPDFBOXSigner.java
index 3f566f06..2e5dc62b 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PADESPDFBOXSigner.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PADESPDFBOXSigner.java
@@ -22,7 +22,6 @@ import at.gv.egiz.pdfas.common.messages.MessageResolver;
import at.gv.egiz.pdfas.common.settings.SignatureProfileSettings;
import at.gv.egiz.pdfas.common.utils.StreamUtils;
import at.gv.egiz.pdfas.common.utils.TempFileHelper;
-import at.gv.egiz.pdfas.lib.api.sign.IPlainSigner;
import at.gv.egiz.pdfas.lib.impl.signing.IPdfSigner;
import at.gv.egiz.pdfas.lib.impl.signing.sig_interface.PDFASSignatureInterface;
import at.gv.egiz.pdfas.lib.impl.stamping.TableFactory;
@@ -109,7 +108,7 @@ public class PADESPDFBOXSigner implements IPdfSigner {
}
}
-
+/*
public void signPDF(String src, String dst, SignatureInterface signer) throws Exception {
//ByteArrayOutputStream os = new ByteArrayOutputStream();
FileInputStream fis = new FileInputStream(new File(src));
@@ -144,5 +143,5 @@ public class PADESPDFBOXSigner implements IPdfSigner {
fos.close();
// FileUtils.writeByteArrayToFile(new File(dst), os.toByteArray());
}
-
+*/
}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PdfboxSignerWrapper.java b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PdfboxSignerWrapper.java
index 91734312..6ded2d8a 100644
--- a/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PdfboxSignerWrapper.java
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/pdfas/lib/impl/signing/pdfbox/PdfboxSignerWrapper.java
@@ -10,6 +10,9 @@ import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
+import at.gv.egiz.pdfas.common.exceptions.PdfAsWrappedIOException;
+import at.gv.egiz.pdfas.common.utils.PDFUtils;
import at.gv.egiz.pdfas.common.utils.StreamUtils;
import at.gv.egiz.pdfas.common.utils.StringUtils;
import at.gv.egiz.pdfas.lib.api.sign.IPlainSigner;
@@ -17,27 +20,35 @@ import at.gv.egiz.pdfas.lib.impl.signing.sig_interface.PDFASSignatureInterface;
public class PdfboxSignerWrapper implements PDFASSignatureInterface {
- private static final Logger logger = LoggerFactory.getLogger(PdfboxSignerWrapper.class);
-
- private IPlainSigner signer;
- private PDSignature signature;
- private int[] byteRange;
- private Calendar date;
-
- public PdfboxSignerWrapper(IPlainSigner signer) {
- this.signer = signer;
- this.date = Calendar.getInstance();
- }
-
- public byte[] sign(InputStream inputStream) throws SignatureException, IOException {
- byteRange = this.signature.getByteRange();
- byte[] signature = signer.sign(StreamUtils.inputStreamToByteArray(inputStream));
- logger.debug("Signature Data: " + StringUtils.bytesToHexString(signature));
- FileOutputStream fos = new FileOutputStream("/tmp/fos.bin");
- fos.write(signature);
- fos.close();
- return signature;
- }
+ private static final Logger logger = LoggerFactory
+ .getLogger(PdfboxSignerWrapper.class);
+
+ private IPlainSigner signer;
+ private PDSignature signature;
+ private int[] byteRange;
+ private Calendar date;
+
+ public PdfboxSignerWrapper(IPlainSigner signer) {
+ this.signer = signer;
+ this.date = Calendar.getInstance();
+ }
+
+ public byte[] sign(InputStream inputStream) throws SignatureException,
+ IOException {
+ byte[] data = StreamUtils.inputStreamToByteArray(inputStream);
+ byteRange = PDFUtils.extractSignatureByteRange(data);
+ try {
+ byte[] signature = signer.sign(data, byteRange);
+ logger.debug("Signature Data: "
+ + StringUtils.bytesToHexString(signature));
+ FileOutputStream fos = new FileOutputStream("/tmp/fos.bin");
+ fos.write(signature);
+ fos.close();
+ return signature;
+ } catch (PdfAsException e) {
+ throw new PdfAsWrappedIOException(e);
+ }
+ }
public int[] getByteRange() {
return byteRange;
@@ -52,7 +63,7 @@ public class PdfboxSignerWrapper implements PDFASSignatureInterface {
}
public void setPDSignature(PDSignature signature) {
- this.signature = signature;
+ this.signature = signature;
}
public Calendar getSigningDate() {
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/AllSignatoriesType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/AllSignatoriesType.java
new file mode 100644
index 00000000..6951073c
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/AllSignatoriesType.java
@@ -0,0 +1,55 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for AllSignatoriesType.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * <pre>
+ * &lt;simpleType name="AllSignatoriesType">
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * &lt;enumeration value="all"/>
+ * &lt;/restriction>
+ * &lt;/simpleType>
+ * </pre>
+ *
+ */
+@XmlType(name = "AllSignatoriesType")
+@XmlEnum
+public enum AllSignatoriesType {
+
+ @XmlEnumValue("all")
+ ALL("all");
+ private final String value;
+
+ AllSignatoriesType(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ public static AllSignatoriesType fromValue(String v) {
+ for (AllSignatoriesType c: AllSignatoriesType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/AnyChildrenType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/AnyChildrenType.java
new file mode 100644
index 00000000..cebf21ae
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/AnyChildrenType.java
@@ -0,0 +1,78 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAnyElement;
+import javax.xml.bind.annotation.XmlType;
+import org.w3c.dom.Element;
+
+
+/**
+ * <p>Java class for AnyChildrenType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="AnyChildrenType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence maxOccurs="unbounded" minOccurs="0">
+ * &lt;any processContents='lax'/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AnyChildrenType", propOrder = {
+ "any"
+})
+public class AnyChildrenType {
+
+ @XmlAnyElement(lax = true)
+ protected List<Object> any;
+
+ /**
+ * Gets the value of the any property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the any property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getAny().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Element }
+ * {@link Object }
+ *
+ *
+ */
+ public List<Object> getAny() {
+ if (any == null) {
+ any = new ArrayList<Object>();
+ }
+ return this.any;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/AnyMixedChildrenType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/AnyMixedChildrenType.java
new file mode 100644
index 00000000..03afc871
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/AnyMixedChildrenType.java
@@ -0,0 +1,85 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAnyElement;
+import javax.xml.bind.annotation.XmlMixed;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+import org.w3c.dom.Element;
+
+
+/**
+ * <p>Java class for AnyMixedChildrenType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="AnyMixedChildrenType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence maxOccurs="unbounded" minOccurs="0">
+ * &lt;any processContents='lax'/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AnyMixedChildrenType", propOrder = {
+ "content"
+})
+@XmlSeeAlso({
+ XMLContentType.class
+})
+public class AnyMixedChildrenType {
+
+ @XmlMixed
+ @XmlAnyElement(lax = true)
+ protected List<Object> content;
+
+ /**
+ * Gets the value of the content property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the content property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getContent().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Element }
+ * {@link String }
+ * {@link Object }
+ *
+ *
+ */
+ public List<Object> getContent() {
+ if (content == null) {
+ content = new ArrayList<Object>();
+ }
+ return this.content;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64ContentType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64ContentType.java
new file mode 100644
index 00000000..7bbb4448
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64ContentType.java
@@ -0,0 +1,71 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for Base64ContentType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="Base64ContentType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;choice minOccurs="0">
+ * &lt;element name="Base64Content" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ * &lt;/choice>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "Base64ContentType", propOrder = {
+ "base64Content"
+})
+@XmlSeeAlso({
+ Base64OptRefContentType.class
+})
+public class Base64ContentType {
+
+ @XmlElement(name = "Base64Content")
+ protected byte[] base64Content;
+
+ /**
+ * Gets the value of the base64Content property.
+ *
+ * @return
+ * possible object is
+ * byte[]
+ */
+ public byte[] getBase64Content() {
+ return base64Content;
+ }
+
+ /**
+ * Sets the value of the base64Content property.
+ *
+ * @param value
+ * allowed object is
+ * byte[]
+ */
+ public void setBase64Content(byte[] value) {
+ this.base64Content = value;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64OptRefContentType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64OptRefContentType.java
new file mode 100644
index 00000000..44094a72
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64OptRefContentType.java
@@ -0,0 +1,69 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for Base64OptRefContentType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="Base64OptRefContentType">
+ * &lt;complexContent>
+ * &lt;extension base="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}Base64ContentType">
+ * &lt;attribute name="Reference" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "Base64OptRefContentType")
+public class Base64OptRefContentType
+ extends Base64ContentType
+{
+
+ @XmlAttribute(name = "Reference")
+ @XmlSchemaType(name = "anyURI")
+ protected String reference;
+
+ /**
+ * Gets the value of the reference property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getReference() {
+ return reference;
+ }
+
+ /**
+ * Sets the value of the reference property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setReference(String value) {
+ this.reference = value;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64XMLContentType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64XMLContentType.java
new file mode 100644
index 00000000..dd0055a6
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/Base64XMLContentType.java
@@ -0,0 +1,99 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for Base64XMLContentType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="Base64XMLContentType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;choice minOccurs="0">
+ * &lt;element name="Base64Content" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ * &lt;element name="XMLContent" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}XMLContentType"/>
+ * &lt;/choice>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "Base64XMLContentType", propOrder = {
+ "base64Content",
+ "xmlContent"
+})
+@XmlSeeAlso({
+ InfoboxAssocArrayPairType.class
+})
+public class Base64XMLContentType {
+
+ @XmlElement(name = "Base64Content")
+ protected byte[] base64Content;
+ @XmlElement(name = "XMLContent")
+ protected XMLContentType xmlContent;
+
+ /**
+ * Gets the value of the base64Content property.
+ *
+ * @return
+ * possible object is
+ * byte[]
+ */
+ public byte[] getBase64Content() {
+ return base64Content;
+ }
+
+ /**
+ * Sets the value of the base64Content property.
+ *
+ * @param value
+ * allowed object is
+ * byte[]
+ */
+ public void setBase64Content(byte[] value) {
+ this.base64Content = value;
+ }
+
+ /**
+ * Gets the value of the xmlContent property.
+ *
+ * @return
+ * possible object is
+ * {@link XMLContentType }
+ *
+ */
+ public XMLContentType getXMLContent() {
+ return xmlContent;
+ }
+
+ /**
+ * Sets the value of the xmlContent property.
+ *
+ * @param value
+ * allowed object is
+ * {@link XMLContentType }
+ *
+ */
+ public void setXMLContent(XMLContentType value) {
+ this.xmlContent = value;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/BindingType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/BindingType.java
new file mode 100644
index 00000000..55baaa94
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/BindingType.java
@@ -0,0 +1,72 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 12:58:46 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+
+/**
+ * <p>Java class for BindingType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="BindingType">
+ * &lt;complexContent>
+ * &lt;extension base="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}AnyChildrenType">
+ * &lt;attribute name="Identifier" use="required" type="{http://www.w3.org/2001/XMLSchema}token" />
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "BindingType")
+public class BindingType
+ extends AnyChildrenType
+{
+
+ @XmlAttribute(name = "Identifier", required = true)
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ @XmlSchemaType(name = "token")
+ protected String identifier;
+
+ /**
+ * Gets the value of the identifier property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getIdentifier() {
+ return identifier;
+ }
+
+ /**
+ * Sets the value of the identifier property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setIdentifier(String value) {
+ this.identifier = value;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/CMSDataObjectOptionalMetaType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/CMSDataObjectOptionalMetaType.java
new file mode 100644
index 00000000..36ae9398
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/CMSDataObjectOptionalMetaType.java
@@ -0,0 +1,129 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for CMSDataObjectOptionalMetaType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="CMSDataObjectOptionalMetaType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="MetaInfo" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}MetaInfoType" minOccurs="0"/>
+ * &lt;element name="Content" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}Base64OptRefContentType"/>
+ * &lt;element name="ExcludedByteRange" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}ExcludedByteRangeType" minOccurs="0"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CMSDataObjectOptionalMetaType", propOrder = {
+ "metaInfo",
+ "content",
+ "excludedByteRange"
+})
+@XmlSeeAlso({
+ CMSDataObjectRequiredMetaType.class
+})
+public class CMSDataObjectOptionalMetaType {
+
+ @XmlElement(name = "MetaInfo")
+ protected MetaInfoType metaInfo;
+ @XmlElement(name = "Content", required = true)
+ protected Base64OptRefContentType content;
+ @XmlElement(name = "ExcludedByteRange")
+ protected ExcludedByteRangeType excludedByteRange;
+
+ /**
+ * Gets the value of the metaInfo property.
+ *
+ * @return
+ * possible object is
+ * {@link MetaInfoType }
+ *
+ */
+ public MetaInfoType getMetaInfo() {
+ return metaInfo;
+ }
+
+ /**
+ * Sets the value of the metaInfo property.
+ *
+ * @param value
+ * allowed object is
+ * {@link MetaInfoType }
+ *
+ */
+ public void setMetaInfo(MetaInfoType value) {
+ this.metaInfo = value;
+ }
+
+ /**
+ * Gets the value of the content property.
+ *
+ * @return
+ * possible object is
+ * {@link Base64OptRefContentType }
+ *
+ */
+ public Base64OptRefContentType getContent() {
+ return content;
+ }
+
+ /**
+ * Sets the value of the content property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Base64OptRefContentType }
+ *
+ */
+ public void setContent(Base64OptRefContentType value) {
+ this.content = value;
+ }
+
+ /**
+ * Gets the value of the excludedByteRange property.
+ *
+ * @return
+ * possible object is
+ * {@link ExcludedByteRangeType }
+ *
+ */
+ public ExcludedByteRangeType getExcludedByteRange() {
+ return excludedByteRange;
+ }
+
+ /**
+ * Sets the value of the excludedByteRange property.
+ *
+ * @param value
+ * allowed object is
+ * {@link ExcludedByteRangeType }
+ *
+ */
+ public void setExcludedByteRange(ExcludedByteRangeType value) {
+ this.excludedByteRange = value;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/CMSDataObjectRequiredMetaType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/CMSDataObjectRequiredMetaType.java
new file mode 100644
index 00000000..87440ef3
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/CMSDataObjectRequiredMetaType.java
@@ -0,0 +1,44 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for CMSDataObjectRequiredMetaType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="CMSDataObjectRequiredMetaType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}CMSDataObjectOptionalMetaType">
+ * &lt;sequence>
+ * &lt;element name="MetaInfo" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}MetaInfoType"/>
+ * &lt;element name="Content" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}Base64OptRefContentType"/>
+ * &lt;element name="ExcludedByteRange" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}ExcludedByteRangeType" minOccurs="0"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CMSDataObjectRequiredMetaType")
+public class CMSDataObjectRequiredMetaType
+ extends CMSDataObjectOptionalMetaType
+{
+
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/CreateCMSSignatureRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/CreateCMSSignatureRequestType.java
new file mode 100644
index 00000000..8d5599e6
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/CreateCMSSignatureRequestType.java
@@ -0,0 +1,137 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+
+/**
+ * <p>Java class for CreateCMSSignatureRequestType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="CreateCMSSignatureRequestType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="KeyboxIdentifier" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}BoxIdentifierType"/>
+ * &lt;element name="DataObject" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}CMSDataObjectRequiredMetaType"/>
+ * &lt;/sequence>
+ * &lt;attribute name="Structure" use="required">
+ * &lt;simpleType>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * &lt;enumeration value="detached"/>
+ * &lt;enumeration value="enveloping"/>
+ * &lt;/restriction>
+ * &lt;/simpleType>
+ * &lt;/attribute>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CreateCMSSignatureRequestType", propOrder = {
+ "keyboxIdentifier",
+ "dataObject"
+})
+@XmlRootElement
+public class CreateCMSSignatureRequestType {
+
+ @XmlElement(name = "KeyboxIdentifier", required = true)
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ protected String keyboxIdentifier;
+ @XmlElement(name = "DataObject", required = true)
+ protected CMSDataObjectRequiredMetaType dataObject;
+ @XmlAttribute(name = "Structure", required = true)
+ protected String structure;
+
+ /**
+ * Gets the value of the keyboxIdentifier property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getKeyboxIdentifier() {
+ return keyboxIdentifier;
+ }
+
+ /**
+ * Sets the value of the keyboxIdentifier property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setKeyboxIdentifier(String value) {
+ this.keyboxIdentifier = value;
+ }
+
+ /**
+ * Gets the value of the dataObject property.
+ *
+ * @return
+ * possible object is
+ * {@link CMSDataObjectRequiredMetaType }
+ *
+ */
+ public CMSDataObjectRequiredMetaType getDataObject() {
+ return dataObject;
+ }
+
+ /**
+ * Sets the value of the dataObject property.
+ *
+ * @param value
+ * allowed object is
+ * {@link CMSDataObjectRequiredMetaType }
+ *
+ */
+ public void setDataObject(CMSDataObjectRequiredMetaType value) {
+ this.dataObject = value;
+ }
+
+ /**
+ * Gets the value of the structure property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getStructure() {
+ return structure;
+ }
+
+ /**
+ * Sets the value of the structure property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setStructure(String value) {
+ this.structure = value;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/CreateCMSSignatureResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/CreateCMSSignatureResponseType.java
new file mode 100644
index 00000000..d5a68de8
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/CreateCMSSignatureResponseType.java
@@ -0,0 +1,67 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for CreateCMSSignatureResponseType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="CreateCMSSignatureResponseType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="CMSSignature" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CreateCMSSignatureResponseType", propOrder = {
+ "cmsSignature"
+})
+public class CreateCMSSignatureResponseType {
+
+ @XmlElement(name = "CMSSignature", required = true)
+ protected byte[] cmsSignature;
+
+ /**
+ * Gets the value of the cmsSignature property.
+ *
+ * @return
+ * possible object is
+ * byte[]
+ */
+ public byte[] getCMSSignature() {
+ return cmsSignature;
+ }
+
+ /**
+ * Sets the value of the cmsSignature property.
+ *
+ * @param value
+ * allowed object is
+ * byte[]
+ */
+ public void setCMSSignature(byte[] value) {
+ this.cmsSignature = value;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/ErrorResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/ErrorResponseType.java
new file mode 100644
index 00000000..2a30b430
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/ErrorResponseType.java
@@ -0,0 +1,89 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for ErrorResponseType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="ErrorResponseType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="ErrorCode" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}ErrorCodeType"/>
+ * &lt;element name="Info" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ErrorResponseType", propOrder = {
+ "errorCode",
+ "info"
+})
+public class ErrorResponseType {
+
+ @XmlElement(name = "ErrorCode")
+ protected int errorCode;
+ @XmlElement(name = "Info", required = true)
+ protected String info;
+
+ /**
+ * Gets the value of the errorCode property.
+ *
+ */
+ public int getErrorCode() {
+ return errorCode;
+ }
+
+ /**
+ * Sets the value of the errorCode property.
+ *
+ */
+ public void setErrorCode(int value) {
+ this.errorCode = value;
+ }
+
+ /**
+ * Gets the value of the info property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getInfo() {
+ return info;
+ }
+
+ /**
+ * Sets the value of the info property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setInfo(String value) {
+ this.info = value;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/ExcludedByteRangeType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/ExcludedByteRangeType.java
new file mode 100644
index 00000000..bc1bc303
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/ExcludedByteRangeType.java
@@ -0,0 +1,101 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import java.math.BigInteger;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for ExcludedByteRangeType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="ExcludedByteRangeType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="From" type="{http://www.w3.org/2001/XMLSchema}unsignedLong"/>
+ * &lt;element name="To" type="{http://www.w3.org/2001/XMLSchema}unsignedLong"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ExcludedByteRangeType", propOrder = {
+ "from",
+ "to"
+})
+public class ExcludedByteRangeType {
+
+ @XmlElement(name = "From", required = true)
+ @XmlSchemaType(name = "unsignedLong")
+ protected BigInteger from;
+ @XmlElement(name = "To", required = true)
+ @XmlSchemaType(name = "unsignedLong")
+ protected BigInteger to;
+
+ /**
+ * Gets the value of the from property.
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getFrom() {
+ return from;
+ }
+
+ /**
+ * Sets the value of the from property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setFrom(BigInteger value) {
+ this.from = value;
+ }
+
+ /**
+ * Gets the value of the to property.
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getTo() {
+ return to;
+ }
+
+ /**
+ * Sets the value of the to property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setTo(BigInteger value) {
+ this.to = value;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesRequest.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesRequest.java
new file mode 100644
index 00000000..448a45d5
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesRequest.java
@@ -0,0 +1,41 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 12:58:46 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;extension base="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}GetPropertiesRequestType">
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "")
+@XmlRootElement(name = "GetPropertiesRequest")
+public class GetPropertiesRequest
+ extends GetPropertiesRequestType
+{
+
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesRequestType.java
new file mode 100644
index 00000000..5a455ab0
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesRequestType.java
@@ -0,0 +1,41 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 12:58:46 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for GetPropertiesRequestType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="GetPropertiesRequestType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "GetPropertiesRequestType")
+@XmlSeeAlso({
+ GetPropertiesRequest.class
+})
+public class GetPropertiesRequestType {
+
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesResponseType.java
new file mode 100644
index 00000000..4fa8a9c4
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetPropertiesResponseType.java
@@ -0,0 +1,249 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 12:58:46 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAnyElement;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+
+/**
+ * <p>Java class for GetPropertiesResponseType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="GetPropertiesResponseType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="ViewerMediaType" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}MimeTypeType" maxOccurs="unbounded"/>
+ * &lt;element name="XMLSignatureTransform" type="{http://www.w3.org/2001/XMLSchema}anyURI" maxOccurs="unbounded"/>
+ * &lt;element name="KeyboxIdentifier" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}QualifiedBoxIdentifierType" maxOccurs="unbounded" minOccurs="0"/>
+ * &lt;element name="Binding" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}BindingType" maxOccurs="unbounded"/>
+ * &lt;element name="ProtocolVersion" type="{http://www.w3.org/2001/XMLSchema}token" maxOccurs="unbounded"/>
+ * &lt;any namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "GetPropertiesResponseType", propOrder = {
+ "viewerMediaType",
+ "xmlSignatureTransform",
+ "keyboxIdentifier",
+ "binding",
+ "protocolVersion",
+ "any"
+})
+public class GetPropertiesResponseType {
+
+ @XmlElement(name = "ViewerMediaType", required = true)
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ protected List<String> viewerMediaType;
+ @XmlElement(name = "XMLSignatureTransform", required = true)
+ @XmlSchemaType(name = "anyURI")
+ protected List<String> xmlSignatureTransform;
+ @XmlElement(name = "KeyboxIdentifier")
+ protected List<QualifiedBoxIdentifierType> keyboxIdentifier;
+ @XmlElement(name = "Binding", required = true)
+ protected List<BindingType> binding;
+ @XmlElement(name = "ProtocolVersion", required = true)
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ @XmlSchemaType(name = "token")
+ protected List<String> protocolVersion;
+ @XmlAnyElement(lax = true)
+ protected List<Object> any;
+
+ /**
+ * Gets the value of the viewerMediaType property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the viewerMediaType property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getViewerMediaType().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List<String> getViewerMediaType() {
+ if (viewerMediaType == null) {
+ viewerMediaType = new ArrayList<String>();
+ }
+ return this.viewerMediaType;
+ }
+
+ /**
+ * Gets the value of the xmlSignatureTransform property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the xmlSignatureTransform property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getXMLSignatureTransform().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List<String> getXMLSignatureTransform() {
+ if (xmlSignatureTransform == null) {
+ xmlSignatureTransform = new ArrayList<String>();
+ }
+ return this.xmlSignatureTransform;
+ }
+
+ /**
+ * Gets the value of the keyboxIdentifier property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the keyboxIdentifier property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getKeyboxIdentifier().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link QualifiedBoxIdentifierType }
+ *
+ *
+ */
+ public List<QualifiedBoxIdentifierType> getKeyboxIdentifier() {
+ if (keyboxIdentifier == null) {
+ keyboxIdentifier = new ArrayList<QualifiedBoxIdentifierType>();
+ }
+ return this.keyboxIdentifier;
+ }
+
+ /**
+ * Gets the value of the binding property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the binding property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getBinding().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link BindingType }
+ *
+ *
+ */
+ public List<BindingType> getBinding() {
+ if (binding == null) {
+ binding = new ArrayList<BindingType>();
+ }
+ return this.binding;
+ }
+
+ /**
+ * Gets the value of the protocolVersion property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the protocolVersion property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getProtocolVersion().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List<String> getProtocolVersion() {
+ if (protocolVersion == null) {
+ protocolVersion = new ArrayList<String>();
+ }
+ return this.protocolVersion;
+ }
+
+ /**
+ * Gets the value of the any property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the any property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getAny().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Object }
+ *
+ *
+ */
+ public List<Object> getAny() {
+ if (any == null) {
+ any = new ArrayList<Object>();
+ }
+ return this.any;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetStatusRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetStatusRequestType.java
new file mode 100644
index 00000000..78a6d941
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetStatusRequestType.java
@@ -0,0 +1,100 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import java.math.BigInteger;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for GetStatusRequestType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="GetStatusRequestType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence minOccurs="0">
+ * &lt;element name="TokenStatus" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}TokenStatusType"/>
+ * &lt;element name="MaxDelay" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "GetStatusRequestType", propOrder = {
+ "tokenStatus",
+ "maxDelay"
+})
+public class GetStatusRequestType {
+
+ @XmlElement(name = "TokenStatus")
+ protected TokenStatusType tokenStatus;
+ @XmlElement(name = "MaxDelay")
+ @XmlSchemaType(name = "nonNegativeInteger")
+ protected BigInteger maxDelay;
+
+ /**
+ * Gets the value of the tokenStatus property.
+ *
+ * @return
+ * possible object is
+ * {@link TokenStatusType }
+ *
+ */
+ public TokenStatusType getTokenStatus() {
+ return tokenStatus;
+ }
+
+ /**
+ * Sets the value of the tokenStatus property.
+ *
+ * @param value
+ * allowed object is
+ * {@link TokenStatusType }
+ *
+ */
+ public void setTokenStatus(TokenStatusType value) {
+ this.tokenStatus = value;
+ }
+
+ /**
+ * Gets the value of the maxDelay property.
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getMaxDelay() {
+ return maxDelay;
+ }
+
+ /**
+ * Sets the value of the maxDelay property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setMaxDelay(BigInteger value) {
+ this.maxDelay = value;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetStatusResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetStatusResponseType.java
new file mode 100644
index 00000000..5c4fa9e4
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/GetStatusResponseType.java
@@ -0,0 +1,69 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for GetStatusResponseType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="GetStatusResponseType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="TokenStatus" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}TokenStatusType"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "GetStatusResponseType", propOrder = {
+ "tokenStatus"
+})
+public class GetStatusResponseType {
+
+ @XmlElement(name = "TokenStatus", required = true)
+ protected TokenStatusType tokenStatus;
+
+ /**
+ * Gets the value of the tokenStatus property.
+ *
+ * @return
+ * possible object is
+ * {@link TokenStatusType }
+ *
+ */
+ public TokenStatusType getTokenStatus() {
+ return tokenStatus;
+ }
+
+ /**
+ * Sets the value of the tokenStatus property.
+ *
+ * @param value
+ * allowed object is
+ * {@link TokenStatusType }
+ *
+ */
+ public void setTokenStatus(TokenStatusType value) {
+ this.tokenStatus = value;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxAssocArrayPairType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxAssocArrayPairType.java
new file mode 100644
index 00000000..4745f0df
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxAssocArrayPairType.java
@@ -0,0 +1,67 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for InfoboxAssocArrayPairType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="InfoboxAssocArrayPairType">
+ * &lt;complexContent>
+ * &lt;extension base="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}Base64XMLContentType">
+ * &lt;attribute name="Key" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "InfoboxAssocArrayPairType")
+public class InfoboxAssocArrayPairType
+ extends Base64XMLContentType
+{
+
+ @XmlAttribute(name = "Key", required = true)
+ protected String key;
+
+ /**
+ * Gets the value of the key property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getKey() {
+ return key;
+ }
+
+ /**
+ * Sets the value of the key property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setKey(String value) {
+ this.key = value;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadDataAssocArrayType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadDataAssocArrayType.java
new file mode 100644
index 00000000..489c9656
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadDataAssocArrayType.java
@@ -0,0 +1,116 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+
+/**
+ * <p>Java class for InfoboxReadDataAssocArrayType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="InfoboxReadDataAssocArrayType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;choice>
+ * &lt;sequence maxOccurs="unbounded" minOccurs="0">
+ * &lt;element name="Key" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}BoxIdentifierType"/>
+ * &lt;/sequence>
+ * &lt;sequence maxOccurs="unbounded" minOccurs="0">
+ * &lt;element name="Pair" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}InfoboxAssocArrayPairType"/>
+ * &lt;/sequence>
+ * &lt;/choice>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "InfoboxReadDataAssocArrayType", propOrder = {
+ "key",
+ "pair"
+})
+public class InfoboxReadDataAssocArrayType {
+
+ @XmlElement(name = "Key")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ protected List<String> key;
+ @XmlElement(name = "Pair")
+ protected List<InfoboxAssocArrayPairType> pair;
+
+ /**
+ * Gets the value of the key property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the key property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getKey().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List<String> getKey() {
+ if (key == null) {
+ key = new ArrayList<String>();
+ }
+ return this.key;
+ }
+
+ /**
+ * Gets the value of the pair property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the pair property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getPair().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link InfoboxAssocArrayPairType }
+ *
+ *
+ */
+ public List<InfoboxAssocArrayPairType> getPair() {
+ if (pair == null) {
+ pair = new ArrayList<InfoboxAssocArrayPairType>();
+ }
+ return this.pair;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadParamsAssocArrayType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadParamsAssocArrayType.java
new file mode 100644
index 00000000..fd238971
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadParamsAssocArrayType.java
@@ -0,0 +1,434 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+
+/**
+ * <p>Java class for InfoboxReadParamsAssocArrayType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="InfoboxReadParamsAssocArrayType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;choice>
+ * &lt;element name="ReadKeys">
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;attribute name="SearchString" use="required" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}WildCardSearchStringType" />
+ * &lt;attribute name="UserMakesUnique" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * &lt;/element>
+ * &lt;element name="ReadPairs">
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;attribute name="SearchString" use="required" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}WildCardSearchStringType" />
+ * &lt;attribute name="UserMakesUnique" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * &lt;attribute name="ValuesAreXMLEntities" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * &lt;/element>
+ * &lt;element name="ReadValue">
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;attribute name="Key" use="required" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}BoxIdentifierType" />
+ * &lt;attribute name="ValueIsXMLEntity" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * &lt;/element>
+ * &lt;/choice>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "InfoboxReadParamsAssocArrayType", propOrder = {
+ "readKeys",
+ "readPairs",
+ "readValue"
+})
+public class InfoboxReadParamsAssocArrayType {
+
+ @XmlElement(name = "ReadKeys")
+ protected InfoboxReadParamsAssocArrayType.ReadKeys readKeys;
+ @XmlElement(name = "ReadPairs")
+ protected InfoboxReadParamsAssocArrayType.ReadPairs readPairs;
+ @XmlElement(name = "ReadValue")
+ protected InfoboxReadParamsAssocArrayType.ReadValue readValue;
+
+ /**
+ * Gets the value of the readKeys property.
+ *
+ * @return
+ * possible object is
+ * {@link InfoboxReadParamsAssocArrayType.ReadKeys }
+ *
+ */
+ public InfoboxReadParamsAssocArrayType.ReadKeys getReadKeys() {
+ return readKeys;
+ }
+
+ /**
+ * Sets the value of the readKeys property.
+ *
+ * @param value
+ * allowed object is
+ * {@link InfoboxReadParamsAssocArrayType.ReadKeys }
+ *
+ */
+ public void setReadKeys(InfoboxReadParamsAssocArrayType.ReadKeys value) {
+ this.readKeys = value;
+ }
+
+ /**
+ * Gets the value of the readPairs property.
+ *
+ * @return
+ * possible object is
+ * {@link InfoboxReadParamsAssocArrayType.ReadPairs }
+ *
+ */
+ public InfoboxReadParamsAssocArrayType.ReadPairs getReadPairs() {
+ return readPairs;
+ }
+
+ /**
+ * Sets the value of the readPairs property.
+ *
+ * @param value
+ * allowed object is
+ * {@link InfoboxReadParamsAssocArrayType.ReadPairs }
+ *
+ */
+ public void setReadPairs(InfoboxReadParamsAssocArrayType.ReadPairs value) {
+ this.readPairs = value;
+ }
+
+ /**
+ * Gets the value of the readValue property.
+ *
+ * @return
+ * possible object is
+ * {@link InfoboxReadParamsAssocArrayType.ReadValue }
+ *
+ */
+ public InfoboxReadParamsAssocArrayType.ReadValue getReadValue() {
+ return readValue;
+ }
+
+ /**
+ * Sets the value of the readValue property.
+ *
+ * @param value
+ * allowed object is
+ * {@link InfoboxReadParamsAssocArrayType.ReadValue }
+ *
+ */
+ public void setReadValue(InfoboxReadParamsAssocArrayType.ReadValue value) {
+ this.readValue = value;
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;attribute name="SearchString" use="required" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}WildCardSearchStringType" />
+ * &lt;attribute name="UserMakesUnique" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class ReadKeys {
+
+ @XmlAttribute(name = "SearchString", required = true)
+ protected String searchString;
+ @XmlAttribute(name = "UserMakesUnique")
+ protected Boolean userMakesUnique;
+
+ /**
+ * Gets the value of the searchString property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSearchString() {
+ return searchString;
+ }
+
+ /**
+ * Sets the value of the searchString property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSearchString(String value) {
+ this.searchString = value;
+ }
+
+ /**
+ * Gets the value of the userMakesUnique property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isUserMakesUnique() {
+ if (userMakesUnique == null) {
+ return false;
+ } else {
+ return userMakesUnique;
+ }
+ }
+
+ /**
+ * Sets the value of the userMakesUnique property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setUserMakesUnique(Boolean value) {
+ this.userMakesUnique = value;
+ }
+
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;attribute name="SearchString" use="required" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}WildCardSearchStringType" />
+ * &lt;attribute name="UserMakesUnique" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * &lt;attribute name="ValuesAreXMLEntities" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class ReadPairs {
+
+ @XmlAttribute(name = "SearchString", required = true)
+ protected String searchString;
+ @XmlAttribute(name = "UserMakesUnique")
+ protected Boolean userMakesUnique;
+ @XmlAttribute(name = "ValuesAreXMLEntities")
+ protected Boolean valuesAreXMLEntities;
+
+ /**
+ * Gets the value of the searchString property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSearchString() {
+ return searchString;
+ }
+
+ /**
+ * Sets the value of the searchString property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSearchString(String value) {
+ this.searchString = value;
+ }
+
+ /**
+ * Gets the value of the userMakesUnique property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isUserMakesUnique() {
+ if (userMakesUnique == null) {
+ return false;
+ } else {
+ return userMakesUnique;
+ }
+ }
+
+ /**
+ * Sets the value of the userMakesUnique property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setUserMakesUnique(Boolean value) {
+ this.userMakesUnique = value;
+ }
+
+ /**
+ * Gets the value of the valuesAreXMLEntities property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isValuesAreXMLEntities() {
+ if (valuesAreXMLEntities == null) {
+ return false;
+ } else {
+ return valuesAreXMLEntities;
+ }
+ }
+
+ /**
+ * Sets the value of the valuesAreXMLEntities property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setValuesAreXMLEntities(Boolean value) {
+ this.valuesAreXMLEntities = value;
+ }
+
+ }
+
+
+ /**
+ * <p>Java class for anonymous complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType>
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;attribute name="Key" use="required" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}BoxIdentifierType" />
+ * &lt;attribute name="ValueIsXMLEntity" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+ @XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "")
+ public static class ReadValue {
+
+ @XmlAttribute(name = "Key", required = true)
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ protected String key;
+ @XmlAttribute(name = "ValueIsXMLEntity")
+ protected Boolean valueIsXMLEntity;
+
+ /**
+ * Gets the value of the key property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getKey() {
+ return key;
+ }
+
+ /**
+ * Sets the value of the key property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setKey(String value) {
+ this.key = value;
+ }
+
+ /**
+ * Gets the value of the valueIsXMLEntity property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isValueIsXMLEntity() {
+ if (valueIsXMLEntity == null) {
+ return false;
+ } else {
+ return valueIsXMLEntity;
+ }
+ }
+
+ /**
+ * Sets the value of the valueIsXMLEntity property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setValueIsXMLEntity(Boolean value) {
+ this.valueIsXMLEntity = value;
+ }
+
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadParamsBinaryFileType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadParamsBinaryFileType.java
new file mode 100644
index 00000000..18e25614
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadParamsBinaryFileType.java
@@ -0,0 +1,69 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for InfoboxReadParamsBinaryFileType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="InfoboxReadParamsBinaryFileType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;attribute name="ContentIsXMLEntity" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "InfoboxReadParamsBinaryFileType")
+public class InfoboxReadParamsBinaryFileType {
+
+ @XmlAttribute(name = "ContentIsXMLEntity")
+ protected Boolean contentIsXMLEntity;
+
+ /**
+ * Gets the value of the contentIsXMLEntity property.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public boolean isContentIsXMLEntity() {
+ if (contentIsXMLEntity == null) {
+ return false;
+ } else {
+ return contentIsXMLEntity;
+ }
+ }
+
+ /**
+ * Sets the value of the contentIsXMLEntity property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setContentIsXMLEntity(Boolean value) {
+ this.contentIsXMLEntity = value;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadRequestType.java
new file mode 100644
index 00000000..b39dcb2f
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadRequestType.java
@@ -0,0 +1,160 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+
+/**
+ * <p>Java class for InfoboxReadRequestType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="InfoboxReadRequestType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="InfoboxIdentifier" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}BoxIdentifierType"/>
+ * &lt;choice>
+ * &lt;element name="BinaryFileParameters" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}InfoboxReadParamsBinaryFileType"/>
+ * &lt;element name="AssocArrayParameters" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}InfoboxReadParamsAssocArrayType"/>
+ * &lt;/choice>
+ * &lt;element name="BoxSpecificParameters" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}AnyChildrenType" minOccurs="0"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "InfoboxReadRequestType", propOrder = {
+ "infoboxIdentifier",
+ "binaryFileParameters",
+ "assocArrayParameters",
+ "boxSpecificParameters"
+})
+@XmlRootElement
+public class InfoboxReadRequestType {
+
+ @XmlElement(name = "InfoboxIdentifier", required = true)
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ protected String infoboxIdentifier;
+ @XmlElement(name = "BinaryFileParameters")
+ protected InfoboxReadParamsBinaryFileType binaryFileParameters;
+ @XmlElement(name = "AssocArrayParameters")
+ protected InfoboxReadParamsAssocArrayType assocArrayParameters;
+ @XmlElement(name = "BoxSpecificParameters")
+ protected AnyChildrenType boxSpecificParameters;
+
+ /**
+ * Gets the value of the infoboxIdentifier property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getInfoboxIdentifier() {
+ return infoboxIdentifier;
+ }
+
+ /**
+ * Sets the value of the infoboxIdentifier property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setInfoboxIdentifier(String value) {
+ this.infoboxIdentifier = value;
+ }
+
+ /**
+ * Gets the value of the binaryFileParameters property.
+ *
+ * @return
+ * possible object is
+ * {@link InfoboxReadParamsBinaryFileType }
+ *
+ */
+ public InfoboxReadParamsBinaryFileType getBinaryFileParameters() {
+ return binaryFileParameters;
+ }
+
+ /**
+ * Sets the value of the binaryFileParameters property.
+ *
+ * @param value
+ * allowed object is
+ * {@link InfoboxReadParamsBinaryFileType }
+ *
+ */
+ public void setBinaryFileParameters(InfoboxReadParamsBinaryFileType value) {
+ this.binaryFileParameters = value;
+ }
+
+ /**
+ * Gets the value of the assocArrayParameters property.
+ *
+ * @return
+ * possible object is
+ * {@link InfoboxReadParamsAssocArrayType }
+ *
+ */
+ public InfoboxReadParamsAssocArrayType getAssocArrayParameters() {
+ return assocArrayParameters;
+ }
+
+ /**
+ * Sets the value of the assocArrayParameters property.
+ *
+ * @param value
+ * allowed object is
+ * {@link InfoboxReadParamsAssocArrayType }
+ *
+ */
+ public void setAssocArrayParameters(InfoboxReadParamsAssocArrayType value) {
+ this.assocArrayParameters = value;
+ }
+
+ /**
+ * Gets the value of the boxSpecificParameters property.
+ *
+ * @return
+ * possible object is
+ * {@link AnyChildrenType }
+ *
+ */
+ public AnyChildrenType getBoxSpecificParameters() {
+ return boxSpecificParameters;
+ }
+
+ /**
+ * Sets the value of the boxSpecificParameters property.
+ *
+ * @param value
+ * allowed object is
+ * {@link AnyChildrenType }
+ *
+ */
+ public void setBoxSpecificParameters(AnyChildrenType value) {
+ this.boxSpecificParameters = value;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadResponseType.java
new file mode 100644
index 00000000..fe8a6db4
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/InfoboxReadResponseType.java
@@ -0,0 +1,99 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for InfoboxReadResponseType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="InfoboxReadResponseType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;choice>
+ * &lt;element name="BinaryFileData" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}Base64XMLContentType"/>
+ * &lt;element name="AssocArrayData" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}InfoboxReadDataAssocArrayType"/>
+ * &lt;/choice>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "InfoboxReadResponseType", propOrder = {
+ "binaryFileData",
+ "assocArrayData"
+})
+@XmlRootElement
+public class InfoboxReadResponseType {
+
+ @XmlElement(name = "BinaryFileData")
+ protected Base64XMLContentType binaryFileData;
+ @XmlElement(name = "AssocArrayData")
+ protected InfoboxReadDataAssocArrayType assocArrayData;
+
+ /**
+ * Gets the value of the binaryFileData property.
+ *
+ * @return
+ * possible object is
+ * {@link Base64XMLContentType }
+ *
+ */
+ public Base64XMLContentType getBinaryFileData() {
+ return binaryFileData;
+ }
+
+ /**
+ * Sets the value of the binaryFileData property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Base64XMLContentType }
+ *
+ */
+ public void setBinaryFileData(Base64XMLContentType value) {
+ this.binaryFileData = value;
+ }
+
+ /**
+ * Gets the value of the assocArrayData property.
+ *
+ * @return
+ * possible object is
+ * {@link InfoboxReadDataAssocArrayType }
+ *
+ */
+ public InfoboxReadDataAssocArrayType getAssocArrayData() {
+ return assocArrayData;
+ }
+
+ /**
+ * Sets the value of the assocArrayData property.
+ *
+ * @param value
+ * allowed object is
+ * {@link InfoboxReadDataAssocArrayType }
+ *
+ */
+ public void setAssocArrayData(InfoboxReadDataAssocArrayType value) {
+ this.assocArrayData = value;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/MetaInfoType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/MetaInfoType.java
new file mode 100644
index 00000000..72080288
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/MetaInfoType.java
@@ -0,0 +1,136 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAnyElement;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+
+/**
+ * <p>Java class for MetaInfoType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="MetaInfoType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="MimeType" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}MimeTypeType"/>
+ * &lt;element name="Description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ * &lt;any namespace='##other' maxOccurs="unbounded" minOccurs="0"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MetaInfoType", propOrder = {
+ "mimeType",
+ "description",
+ "any"
+})
+public class MetaInfoType {
+
+ @XmlElement(name = "MimeType", required = true)
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ protected String mimeType;
+ @XmlElement(name = "Description")
+ protected String description;
+ @XmlAnyElement(lax = true)
+ protected List<Object> any;
+
+ /**
+ * Gets the value of the mimeType property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getMimeType() {
+ return mimeType;
+ }
+
+ /**
+ * Sets the value of the mimeType property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setMimeType(String value) {
+ this.mimeType = value;
+ }
+
+ /**
+ * Gets the value of the description property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * Sets the value of the description property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setDescription(String value) {
+ this.description = value;
+ }
+
+ /**
+ * Gets the value of the any property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the any property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getAny().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Object }
+ *
+ *
+ */
+ public List<Object> getAny() {
+ if (any == null) {
+ any = new ArrayList<Object>();
+ }
+ return this.any;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/NullOperationRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/NullOperationRequestType.java
new file mode 100644
index 00000000..69b2f060
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/NullOperationRequestType.java
@@ -0,0 +1,37 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for NullOperationRequestType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="NullOperationRequestType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "NullOperationRequestType")
+public class NullOperationRequestType {
+
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/NullOperationResponseType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/NullOperationResponseType.java
new file mode 100644
index 00000000..c7d3132e
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/NullOperationResponseType.java
@@ -0,0 +1,37 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for NullOperationResponseType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="NullOperationResponseType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "NullOperationResponseType")
+public class NullOperationResponseType {
+
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/ObjectFactory.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/ObjectFactory.java
new file mode 100644
index 00000000..3e9ca0d3
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/ObjectFactory.java
@@ -0,0 +1,368 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.namespace.QName;
+
+
+/**
+ * This object contains factory methods for each
+ * Java content interface and Java element interface
+ * generated in the at.gv.egiz.sl package.
+ * <p>An ObjectFactory allows you to programatically
+ * construct new instances of the Java representation
+ * for XML content. The Java representation of XML
+ * content can consist of schema derived interfaces
+ * and classes representing the binding of schema
+ * type definitions, element declarations and model
+ * groups. Factory methods for each of these are
+ * provided in this class.
+ *
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+ private final static QName _NullOperationRequest_QNAME = new QName("http://www.buergerkarte.at/namespaces/securitylayer/1.2#", "NullOperationRequest");
+ private final static QName _CreateCMSSignatureRequest_QNAME = new QName("http://www.buergerkarte.at/namespaces/securitylayer/1.2#", "CreateCMSSignatureRequest");
+ private final static QName _InfoboxReadRequest_QNAME = new QName("http://www.buergerkarte.at/namespaces/securitylayer/1.2#", "InfoboxReadRequest");
+ private final static QName _GetStatusResponse_QNAME = new QName("http://www.buergerkarte.at/namespaces/securitylayer/1.2#", "GetStatusResponse");
+ private final static QName _CreateCMSSignatureResponse_QNAME = new QName("http://www.buergerkarte.at/namespaces/securitylayer/1.2#", "CreateCMSSignatureResponse");
+ private final static QName _GetStatusRequest_QNAME = new QName("http://www.buergerkarte.at/namespaces/securitylayer/1.2#", "GetStatusRequest");
+ private final static QName _ErrorResponse_QNAME = new QName("http://www.buergerkarte.at/namespaces/securitylayer/1.2#", "ErrorResponse");
+ private final static QName _IdentityLinkDomainIdentifier_QNAME = new QName("http://www.buergerkarte.at/namespaces/securitylayer/1.2#", "IdentityLinkDomainIdentifier");
+ private final static QName _VerifyCMSSignatureRequest_QNAME = new QName("http://www.buergerkarte.at/namespaces/securitylayer/1.2#", "VerifyCMSSignatureRequest");
+ private final static QName _InfoboxReadResponse_QNAME = new QName("http://www.buergerkarte.at/namespaces/securitylayer/1.2#", "InfoboxReadResponse");
+ private final static QName _NullOperationResponse_QNAME = new QName("http://www.buergerkarte.at/namespaces/securitylayer/1.2#", "NullOperationResponse");
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: at.gv.egiz.sl
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link InfoboxReadParamsAssocArrayType }
+ *
+ */
+ public InfoboxReadParamsAssocArrayType createInfoboxReadParamsAssocArrayType() {
+ return new InfoboxReadParamsAssocArrayType();
+ }
+
+ /**
+ * Create an instance of {@link NullOperationResponseType }
+ *
+ */
+ public NullOperationResponseType createNullOperationResponseType() {
+ return new NullOperationResponseType();
+ }
+
+ /**
+ * Create an instance of {@link InfoboxReadResponseType }
+ *
+ */
+ public InfoboxReadResponseType createInfoboxReadResponseType() {
+ return new InfoboxReadResponseType();
+ }
+
+ /**
+ * Create an instance of {@link VerifyCMSSignatureRequestType }
+ *
+ */
+ public VerifyCMSSignatureRequestType createVerifyCMSSignatureRequestType() {
+ return new VerifyCMSSignatureRequestType();
+ }
+
+ /**
+ * Create an instance of {@link GetStatusResponseType }
+ *
+ */
+ public GetStatusResponseType createGetStatusResponseType() {
+ return new GetStatusResponseType();
+ }
+
+ /**
+ * Create an instance of {@link InfoboxReadRequestType }
+ *
+ */
+ public InfoboxReadRequestType createInfoboxReadRequestType() {
+ return new InfoboxReadRequestType();
+ }
+
+ /**
+ * Create an instance of {@link CreateCMSSignatureRequestType }
+ *
+ */
+ public CreateCMSSignatureRequestType createCreateCMSSignatureRequestType() {
+ return new CreateCMSSignatureRequestType();
+ }
+
+ /**
+ * Create an instance of {@link NullOperationRequestType }
+ *
+ */
+ public NullOperationRequestType createNullOperationRequestType() {
+ return new NullOperationRequestType();
+ }
+
+ /**
+ * Create an instance of {@link ErrorResponseType }
+ *
+ */
+ public ErrorResponseType createErrorResponseType() {
+ return new ErrorResponseType();
+ }
+
+ /**
+ * Create an instance of {@link GetStatusRequestType }
+ *
+ */
+ public GetStatusRequestType createGetStatusRequestType() {
+ return new GetStatusRequestType();
+ }
+
+ /**
+ * Create an instance of {@link CreateCMSSignatureResponseType }
+ *
+ */
+ public CreateCMSSignatureResponseType createCreateCMSSignatureResponseType() {
+ return new CreateCMSSignatureResponseType();
+ }
+
+ /**
+ * Create an instance of {@link InfoboxReadParamsBinaryFileType }
+ *
+ */
+ public InfoboxReadParamsBinaryFileType createInfoboxReadParamsBinaryFileType() {
+ return new InfoboxReadParamsBinaryFileType();
+ }
+
+ /**
+ * Create an instance of {@link ExcludedByteRangeType }
+ *
+ */
+ public ExcludedByteRangeType createExcludedByteRangeType() {
+ return new ExcludedByteRangeType();
+ }
+
+ /**
+ * Create an instance of {@link Base64OptRefContentType }
+ *
+ */
+ public Base64OptRefContentType createBase64OptRefContentType() {
+ return new Base64OptRefContentType();
+ }
+
+ /**
+ * Create an instance of {@link InfoboxReadDataAssocArrayType }
+ *
+ */
+ public InfoboxReadDataAssocArrayType createInfoboxReadDataAssocArrayType() {
+ return new InfoboxReadDataAssocArrayType();
+ }
+
+ /**
+ * Create an instance of {@link CMSDataObjectOptionalMetaType }
+ *
+ */
+ public CMSDataObjectOptionalMetaType createCMSDataObjectOptionalMetaType() {
+ return new CMSDataObjectOptionalMetaType();
+ }
+
+ /**
+ * Create an instance of {@link Base64XMLContentType }
+ *
+ */
+ public Base64XMLContentType createBase64XMLContentType() {
+ return new Base64XMLContentType();
+ }
+
+ /**
+ * Create an instance of {@link CMSDataObjectRequiredMetaType }
+ *
+ */
+ public CMSDataObjectRequiredMetaType createCMSDataObjectRequiredMetaType() {
+ return new CMSDataObjectRequiredMetaType();
+ }
+
+ /**
+ * Create an instance of {@link XMLContentType }
+ *
+ */
+ public XMLContentType createXMLContentType() {
+ return new XMLContentType();
+ }
+
+ /**
+ * Create an instance of {@link MetaInfoType }
+ *
+ */
+ public MetaInfoType createMetaInfoType() {
+ return new MetaInfoType();
+ }
+
+ /**
+ * Create an instance of {@link Base64ContentType }
+ *
+ */
+ public Base64ContentType createBase64ContentType() {
+ return new Base64ContentType();
+ }
+
+ /**
+ * Create an instance of {@link InfoboxAssocArrayPairType }
+ *
+ */
+ public InfoboxAssocArrayPairType createInfoboxAssocArrayPairType() {
+ return new InfoboxAssocArrayPairType();
+ }
+
+ /**
+ * Create an instance of {@link AnyMixedChildrenType }
+ *
+ */
+ public AnyMixedChildrenType createAnyMixedChildrenType() {
+ return new AnyMixedChildrenType();
+ }
+
+ /**
+ * Create an instance of {@link AnyChildrenType }
+ *
+ */
+ public AnyChildrenType createAnyChildrenType() {
+ return new AnyChildrenType();
+ }
+
+ /**
+ * Create an instance of {@link InfoboxReadParamsAssocArrayType.ReadKeys }
+ *
+ */
+ public InfoboxReadParamsAssocArrayType.ReadKeys createInfoboxReadParamsAssocArrayTypeReadKeys() {
+ return new InfoboxReadParamsAssocArrayType.ReadKeys();
+ }
+
+ /**
+ * Create an instance of {@link InfoboxReadParamsAssocArrayType.ReadPairs }
+ *
+ */
+ public InfoboxReadParamsAssocArrayType.ReadPairs createInfoboxReadParamsAssocArrayTypeReadPairs() {
+ return new InfoboxReadParamsAssocArrayType.ReadPairs();
+ }
+
+ /**
+ * Create an instance of {@link InfoboxReadParamsAssocArrayType.ReadValue }
+ *
+ */
+ public InfoboxReadParamsAssocArrayType.ReadValue createInfoboxReadParamsAssocArrayTypeReadValue() {
+ return new InfoboxReadParamsAssocArrayType.ReadValue();
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link NullOperationRequestType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.buergerkarte.at/namespaces/securitylayer/1.2#", name = "NullOperationRequest")
+ public JAXBElement<NullOperationRequestType> createNullOperationRequest(NullOperationRequestType value) {
+ return new JAXBElement<NullOperationRequestType>(_NullOperationRequest_QNAME, NullOperationRequestType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link CreateCMSSignatureRequestType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.buergerkarte.at/namespaces/securitylayer/1.2#", name = "CreateCMSSignatureRequest")
+ public JAXBElement<CreateCMSSignatureRequestType> createCreateCMSSignatureRequest(CreateCMSSignatureRequestType value) {
+ return new JAXBElement<CreateCMSSignatureRequestType>(_CreateCMSSignatureRequest_QNAME, CreateCMSSignatureRequestType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link InfoboxReadRequestType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.buergerkarte.at/namespaces/securitylayer/1.2#", name = "InfoboxReadRequest")
+ public JAXBElement<InfoboxReadRequestType> createInfoboxReadRequest(InfoboxReadRequestType value) {
+ return new JAXBElement<InfoboxReadRequestType>(_InfoboxReadRequest_QNAME, InfoboxReadRequestType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link GetStatusResponseType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.buergerkarte.at/namespaces/securitylayer/1.2#", name = "GetStatusResponse")
+ public JAXBElement<GetStatusResponseType> createGetStatusResponse(GetStatusResponseType value) {
+ return new JAXBElement<GetStatusResponseType>(_GetStatusResponse_QNAME, GetStatusResponseType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link CreateCMSSignatureResponseType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.buergerkarte.at/namespaces/securitylayer/1.2#", name = "CreateCMSSignatureResponse")
+ public JAXBElement<CreateCMSSignatureResponseType> createCreateCMSSignatureResponse(CreateCMSSignatureResponseType value) {
+ return new JAXBElement<CreateCMSSignatureResponseType>(_CreateCMSSignatureResponse_QNAME, CreateCMSSignatureResponseType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link GetStatusRequestType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.buergerkarte.at/namespaces/securitylayer/1.2#", name = "GetStatusRequest")
+ public JAXBElement<GetStatusRequestType> createGetStatusRequest(GetStatusRequestType value) {
+ return new JAXBElement<GetStatusRequestType>(_GetStatusRequest_QNAME, GetStatusRequestType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link ErrorResponseType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.buergerkarte.at/namespaces/securitylayer/1.2#", name = "ErrorResponse")
+ public JAXBElement<ErrorResponseType> createErrorResponse(ErrorResponseType value) {
+ return new JAXBElement<ErrorResponseType>(_ErrorResponse_QNAME, ErrorResponseType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.buergerkarte.at/namespaces/securitylayer/1.2#", name = "IdentityLinkDomainIdentifier")
+ public JAXBElement<String> createIdentityLinkDomainIdentifier(String value) {
+ return new JAXBElement<String>(_IdentityLinkDomainIdentifier_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link VerifyCMSSignatureRequestType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.buergerkarte.at/namespaces/securitylayer/1.2#", name = "VerifyCMSSignatureRequest")
+ public JAXBElement<VerifyCMSSignatureRequestType> createVerifyCMSSignatureRequest(VerifyCMSSignatureRequestType value) {
+ return new JAXBElement<VerifyCMSSignatureRequestType>(_VerifyCMSSignatureRequest_QNAME, VerifyCMSSignatureRequestType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link InfoboxReadResponseType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.buergerkarte.at/namespaces/securitylayer/1.2#", name = "InfoboxReadResponse")
+ public JAXBElement<InfoboxReadResponseType> createInfoboxReadResponse(InfoboxReadResponseType value) {
+ return new JAXBElement<InfoboxReadResponseType>(_InfoboxReadResponse_QNAME, InfoboxReadResponseType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link NullOperationResponseType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "http://www.buergerkarte.at/namespaces/securitylayer/1.2#", name = "NullOperationResponse")
+ public JAXBElement<NullOperationResponseType> createNullOperationResponse(NullOperationResponseType value) {
+ return new JAXBElement<NullOperationResponseType>(_NullOperationResponse_QNAME, NullOperationResponseType.class, null, value);
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/QualifiedBoxIdentifierType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/QualifiedBoxIdentifierType.java
new file mode 100644
index 00000000..97908a88
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/QualifiedBoxIdentifierType.java
@@ -0,0 +1,108 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 12:58:46 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+
+/**
+ * <p>Java class for QualifiedBoxIdentifierType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="QualifiedBoxIdentifierType">
+ * &lt;simpleContent>
+ * &lt;extension base="&lt;http://www.buergerkarte.at/namespaces/securitylayer/1.2#>BoxIdentifierType">
+ * &lt;attribute name="Signature" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * &lt;attribute name="Encryption" use="required" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ * &lt;/extension>
+ * &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "QualifiedBoxIdentifierType", propOrder = {
+ "value"
+})
+public class QualifiedBoxIdentifierType {
+
+ @XmlValue
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ protected String value;
+ @XmlAttribute(name = "Signature", required = true)
+ protected boolean signature;
+ @XmlAttribute(name = "Encryption", required = true)
+ protected boolean encryption;
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setValue(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Gets the value of the signature property.
+ *
+ */
+ public boolean isSignature() {
+ return signature;
+ }
+
+ /**
+ * Sets the value of the signature property.
+ *
+ */
+ public void setSignature(boolean value) {
+ this.signature = value;
+ }
+
+ /**
+ * Gets the value of the encryption property.
+ *
+ */
+ public boolean isEncryption() {
+ return encryption;
+ }
+
+ /**
+ * Sets the value of the encryption property.
+ *
+ */
+ public void setEncryption(boolean value) {
+ this.encryption = value;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/TokenStatusType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/TokenStatusType.java
new file mode 100644
index 00000000..a9f5e513
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/TokenStatusType.java
@@ -0,0 +1,58 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for TokenStatusType.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p>
+ * <pre>
+ * &lt;simpleType name="TokenStatusType">
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * &lt;enumeration value="ready"/>
+ * &lt;enumeration value="removed"/>
+ * &lt;/restriction>
+ * &lt;/simpleType>
+ * </pre>
+ *
+ */
+@XmlType(name = "TokenStatusType")
+@XmlEnum
+public enum TokenStatusType {
+
+ @XmlEnumValue("ready")
+ READY("ready"),
+ @XmlEnumValue("removed")
+ REMOVED("removed");
+ private final String value;
+
+ TokenStatusType(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ public static TokenStatusType fromValue(String v) {
+ for (TokenStatusType c: TokenStatusType.values()) {
+ if (c.value.equals(v)) {
+ return c;
+ }
+ }
+ throw new IllegalArgumentException(v);
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/VerifyCMSSignatureRequestType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/VerifyCMSSignatureRequestType.java
new file mode 100644
index 00000000..8ed1bc03
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/VerifyCMSSignatureRequestType.java
@@ -0,0 +1,161 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ * <p>Java class for VerifyCMSSignatureRequestType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="VerifyCMSSignatureRequestType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element name="DateTime" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ * &lt;element name="CMSSignature" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/>
+ * &lt;element name="DataObject" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}CMSDataObjectOptionalMetaType" minOccurs="0"/>
+ * &lt;/sequence>
+ * &lt;attribute name="Signatories" type="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}SignatoriesType" default="1" />
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "VerifyCMSSignatureRequestType", propOrder = {
+ "dateTime",
+ "cmsSignature",
+ "dataObject"
+})
+public class VerifyCMSSignatureRequestType {
+
+ @XmlElement(name = "DateTime")
+ @XmlSchemaType(name = "dateTime")
+ protected XMLGregorianCalendar dateTime;
+ @XmlElement(name = "CMSSignature", required = true)
+ protected byte[] cmsSignature;
+ @XmlElement(name = "DataObject")
+ protected CMSDataObjectOptionalMetaType dataObject;
+ @XmlAttribute(name = "Signatories")
+ protected List<String> signatories;
+
+ /**
+ * Gets the value of the dateTime property.
+ *
+ * @return
+ * possible object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getDateTime() {
+ return dateTime;
+ }
+
+ /**
+ * Sets the value of the dateTime property.
+ *
+ * @param value
+ * allowed object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public void setDateTime(XMLGregorianCalendar value) {
+ this.dateTime = value;
+ }
+
+ /**
+ * Gets the value of the cmsSignature property.
+ *
+ * @return
+ * possible object is
+ * byte[]
+ */
+ public byte[] getCMSSignature() {
+ return cmsSignature;
+ }
+
+ /**
+ * Sets the value of the cmsSignature property.
+ *
+ * @param value
+ * allowed object is
+ * byte[]
+ */
+ public void setCMSSignature(byte[] value) {
+ this.cmsSignature = value;
+ }
+
+ /**
+ * Gets the value of the dataObject property.
+ *
+ * @return
+ * possible object is
+ * {@link CMSDataObjectOptionalMetaType }
+ *
+ */
+ public CMSDataObjectOptionalMetaType getDataObject() {
+ return dataObject;
+ }
+
+ /**
+ * Sets the value of the dataObject property.
+ *
+ * @param value
+ * allowed object is
+ * {@link CMSDataObjectOptionalMetaType }
+ *
+ */
+ public void setDataObject(CMSDataObjectOptionalMetaType value) {
+ this.dataObject = value;
+ }
+
+ /**
+ * Gets the value of the signatories property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the signatories property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getSignatories().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List<String> getSignatories() {
+ if (signatories == null) {
+ signatories = new ArrayList<String>();
+ }
+ return this.signatories;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/XMLContentType.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/XMLContentType.java
new file mode 100644
index 00000000..6d1342fc
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/XMLContentType.java
@@ -0,0 +1,70 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+
+package at.gv.egiz.sl;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+
+/**
+ * <p>Java class for XMLContentType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="XMLContentType">
+ * &lt;complexContent>
+ * &lt;extension base="{http://www.buergerkarte.at/namespaces/securitylayer/1.2#}AnyMixedChildrenType">
+ * &lt;attribute ref="{http://www.w3.org/XML/1998/namespace}space"/>
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "XMLContentType")
+public class XMLContentType
+ extends AnyMixedChildrenType
+{
+
+ @XmlAttribute(name = "space", namespace = "http://www.w3.org/XML/1998/namespace")
+ @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+ protected String space;
+
+ /**
+ * Gets the value of the space property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getSpace() {
+ return space;
+ }
+
+ /**
+ * Sets the value of the space property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setSpace(String value) {
+ this.space = value;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/package-info.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/package-info.java
new file mode 100644
index 00000000..6e4f6072
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/package-info.java
@@ -0,0 +1,9 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
+// Any modifications to this file will be lost upon recompilation of the source schema.
+// Generated on: 2013.11.05 at 04:21:33 PM CET
+//
+
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.buergerkarte.at/namespaces/securitylayer/1.2#", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+package at.gv.egiz.sl;
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/BKUSLConnector.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/BKUSLConnector.java
new file mode 100644
index 00000000..3381dca5
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/BKUSLConnector.java
@@ -0,0 +1,165 @@
+package at.gv.egiz.sl.util;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.JAXBException;
+
+import org.apache.http.HttpResponse;
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.ContentType;
+import org.apache.http.entity.mime.MultipartEntityBuilder;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import at.gv.egiz.pdfas.common.exceptions.PDFIOException;
+import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
+import at.gv.egiz.pdfas.common.exceptions.SLPdfAsException;
+import at.gv.egiz.pdfas.lib.api.Configuration;
+import at.gv.egiz.sl.CreateCMSSignatureRequestType;
+import at.gv.egiz.sl.CreateCMSSignatureResponseType;
+import at.gv.egiz.sl.ErrorResponseType;
+import at.gv.egiz.sl.InfoboxReadRequestType;
+import at.gv.egiz.sl.InfoboxReadResponseType;
+
+public class BKUSLConnector extends BaseSLConnector {
+
+ private static final Logger logger = LoggerFactory
+ .getLogger(BKUSLConnector.class);
+
+ public static final String CONFIG_BKU_URL = "bku.sign.url";
+
+ private String bkuUrl;
+
+ public BKUSLConnector(Configuration config) {
+ this.bkuUrl = config.getValue(CONFIG_BKU_URL);
+ }
+
+ private CloseableHttpClient buildHttpClient() {
+ HttpClientBuilder builder = HttpClientBuilder.create();
+ return builder.build();
+ }
+
+ private String performHttpRequestToBKU(String xmlRequest)
+ throws ClientProtocolException, IOException, IllegalStateException {
+ CloseableHttpClient client = null;
+ try {
+ client = buildHttpClient();
+ HttpPost post = new HttpPost(this.bkuUrl);
+
+ MultipartEntityBuilder entityBuilder = MultipartEntityBuilder
+ .create();
+ entityBuilder.addTextBody(XMLREQUEST, xmlRequest,
+ ContentType.TEXT_XML);
+
+ post.setEntity(entityBuilder.build());
+
+ HttpResponse response = client.execute(post);
+ logger.debug("Response Code : "
+ + response.getStatusLine().getStatusCode());
+
+ BufferedReader rd = new BufferedReader(new InputStreamReader(
+ response.getEntity().getContent()));
+
+ StringBuffer result = new StringBuffer();
+ String line = "";
+ while ((line = rd.readLine()) != null) {
+ result.append(line);
+ }
+
+ logger.trace(result.toString());
+ return result.toString();
+ } finally {
+ if(client != null) {
+ client.close();
+ }
+ }
+ }
+
+ @SuppressWarnings("rawtypes")
+ public InfoboxReadResponseType sendInfoboxReadRequest(
+ InfoboxReadRequestType request) throws PdfAsException {
+ JAXBElement element = null;
+ String slRequest;
+ try {
+ slRequest = SLMarschaller.marshalToString(of
+ .createInfoboxReadRequest(request));
+ logger.trace(slRequest);
+
+ String slResponse = performHttpRequestToBKU(slRequest);
+
+ element = (JAXBElement) SLMarschaller
+ .unmarshalFromString(slResponse);
+
+ } catch (JAXBException e) {
+ throw new PDFIOException("SL_COM", e);
+ } catch (ClientProtocolException e) {
+ throw new PDFIOException("SL_COM", e);
+ } catch (IOException e) {
+ throw new PDFIOException("SL_COM", e);
+ }
+
+ if (element == null) {
+ throw new PDFIOException("SL ELEMENT NOT AVAILABLE");
+ }
+
+ if (element.getValue() instanceof InfoboxReadResponseType) {
+ InfoboxReadResponseType infoboxReadResponseType = (InfoboxReadResponseType) element
+ .getValue();
+ return infoboxReadResponseType;
+ } else if (element.getValue() instanceof ErrorResponseType) {
+ ErrorResponseType errorResponseType = (ErrorResponseType) element
+ .getValue();
+ throw new SLPdfAsException(errorResponseType.getErrorCode(),
+ errorResponseType.getInfo());
+ }
+ throw new PdfAsException("Invalid SL Repsonse");
+ }
+
+ public CreateCMSSignatureResponseType sendCMSRequest(
+ CreateCMSSignatureRequestType request) throws PdfAsException {
+ JAXBElement element = null;
+ String slRequest;
+ try {
+ slRequest = SLMarschaller.marshalToString(of
+ .createCreateCMSSignatureRequest(request));
+ logger.trace(slRequest);
+
+ String slResponse = performHttpRequestToBKU(slRequest);
+
+ element = (JAXBElement) SLMarschaller
+ .unmarshalFromString(slResponse);
+ } catch (JAXBException e) {
+ throw new PDFIOException("SL_COM", e);
+ } catch (ClientProtocolException e) {
+ throw new PDFIOException("SL_COM", e);
+ } catch (IOException e) {
+ throw new PDFIOException("SL_COM", e);
+ }
+
+ if (element == null) {
+ throw new PDFIOException("SL ELEMENT NOT AVAILABLE");
+ }
+
+ if (element.getValue() instanceof CreateCMSSignatureResponseType) {
+ CreateCMSSignatureResponseType createCMSSignatureResponseType = (CreateCMSSignatureResponseType) element
+ .getValue();
+ logger.debug(createCMSSignatureResponseType.toString());
+ return createCMSSignatureResponseType;
+ } else if (element.getValue() instanceof ErrorResponseType) {
+ ErrorResponseType errorResponseType = (ErrorResponseType) element
+ .getValue();
+ throw new SLPdfAsException(errorResponseType.getErrorCode(),
+ errorResponseType.getInfo());
+ }
+ throw new PdfAsException("Invalid SL Repsonse");
+
+ }
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/BaseSLConnector.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/BaseSLConnector.java
new file mode 100644
index 00000000..51b63f51
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/BaseSLConnector.java
@@ -0,0 +1,120 @@
+package at.gv.egiz.sl.util;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.nio.Buffer;
+import java.util.Arrays;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.JAXBException;
+
+import org.apache.http.HttpResponse;
+import org.apache.http.client.ClientProtocolException;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.ContentType;
+import org.apache.http.entity.mime.HttpMultipartMode;
+import org.apache.http.entity.mime.MultipartEntity;
+import org.apache.http.entity.mime.MultipartEntityBuilder;
+import org.apache.http.entity.mime.content.StringBody;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import at.gv.egiz.pdfas.common.exceptions.PDFIOException;
+import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
+import at.gv.egiz.pdfas.common.exceptions.SLPdfAsException;
+import at.gv.egiz.pdfas.lib.impl.signing.pdfbox.PADESPDFBOXSigner;
+import at.gv.egiz.sl.Base64OptRefContentType;
+import at.gv.egiz.sl.CMSDataObjectRequiredMetaType;
+import at.gv.egiz.sl.CreateCMSSignatureRequestType;
+import at.gv.egiz.sl.CreateCMSSignatureResponseType;
+import at.gv.egiz.sl.ErrorResponseType;
+import at.gv.egiz.sl.InfoboxReadParamsAssocArrayType;
+import at.gv.egiz.sl.InfoboxReadRequestType;
+import at.gv.egiz.sl.InfoboxReadResponseType;
+import at.gv.egiz.sl.MetaInfoType;
+import at.gv.egiz.sl.InfoboxReadParamsAssocArrayType.ReadValue;
+import at.gv.egiz.sl.ObjectFactory;
+
+public abstract class BaseSLConnector implements ISLConnector {
+
+ private static final Logger logger = LoggerFactory.getLogger(BaseSLConnector.class);
+
+ public static final String SecureSignatureKeypair = "SecureSignatureKeypair";
+
+ public static final String PDF_MIME_TYPE = "application/pdf";
+ public static final String PDF_MIME_TYPE_DESC = "Adobe PDF-Dateien";
+
+ public static final String DETACHED = "detached";
+
+ public static final String XMLREQUEST = "XMLRequest";
+
+ protected ObjectFactory of = new ObjectFactory();
+
+ public InfoboxReadRequestType createInfoboxReadRequest() {
+ InfoboxReadRequestType request = new InfoboxReadRequestType();
+ request.setInfoboxIdentifier("Certificates");
+ InfoboxReadParamsAssocArrayType readData = new InfoboxReadParamsAssocArrayType();
+
+ ReadValue readValue = new ReadValue();
+ readValue.setKey(SecureSignatureKeypair);
+
+ readData.setReadValue(readValue);
+ request.setAssocArrayParameters(readData);
+ return request;
+ }
+
+ public CreateCMSSignatureRequestType createCMSRequest(byte[] signatureData, int[] byteRange) {
+ // TODO build byte[] from signatureData and fill 0 bytes in byteRanged
+ if(byteRange.length % 2 != 0) {
+ // TODO: error
+ }
+
+ int lastOffset = byteRange[byteRange.length - 2];
+ int lastSize = byteRange[byteRange.length - 1];
+
+ int dataSize = lastOffset + lastSize;
+
+ byte[] data = new byte[dataSize];
+ int currentdataOff = 0;
+
+ Arrays.fill(data, (byte)0);
+
+ for(int i = 0; i < byteRange.length; i = i + 2) {
+ int offset = byteRange[i];
+ int size = byteRange[i+1];
+
+ for(int j = 0; j < size; j++) {
+ data[offset + j] = signatureData[currentdataOff];
+ currentdataOff++;
+ }
+
+ }
+
+ // == MetaInfoType
+ MetaInfoType metaInfoType = new MetaInfoType();
+ metaInfoType.setMimeType(PDF_MIME_TYPE);
+ metaInfoType.setDescription(PDF_MIME_TYPE_DESC);
+
+ // == Base64OptRefContentType
+ Base64OptRefContentType base64OptRefContentType = new Base64OptRefContentType();
+ base64OptRefContentType.setBase64Content(data);
+
+ // == CMSDataObjectRequiredMetaType
+ CMSDataObjectRequiredMetaType cmsDataObjectRequiredMetaType = new CMSDataObjectRequiredMetaType();
+ cmsDataObjectRequiredMetaType.setMetaInfo(metaInfoType);
+ cmsDataObjectRequiredMetaType.setContent(base64OptRefContentType);
+ // cmsDataObjectRequiredMetaType.setExcludedByteRange()
+
+ // == CreateCMSSignatureRequestType
+ CreateCMSSignatureRequestType request = new CreateCMSSignatureRequestType();
+ request.setKeyboxIdentifier(SecureSignatureKeypair);
+ request.setDataObject(cmsDataObjectRequiredMetaType);
+ request.setStructure(DETACHED);
+
+ return request;
+ }
+
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/ISLConnector.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/ISLConnector.java
new file mode 100644
index 00000000..82571720
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/ISLConnector.java
@@ -0,0 +1,15 @@
+package at.gv.egiz.sl.util;
+
+import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
+import at.gv.egiz.sl.CreateCMSSignatureRequestType;
+import at.gv.egiz.sl.CreateCMSSignatureResponseType;
+import at.gv.egiz.sl.InfoboxReadRequestType;
+import at.gv.egiz.sl.InfoboxReadResponseType;
+
+public interface ISLConnector {
+
+ public InfoboxReadRequestType createInfoboxReadRequest();
+ public InfoboxReadResponseType sendInfoboxReadRequest(InfoboxReadRequestType request) throws PdfAsException;
+ public CreateCMSSignatureRequestType createCMSRequest(byte[] signatureData, int[] byteRange);
+ public CreateCMSSignatureResponseType sendCMSRequest(CreateCMSSignatureRequestType request) throws PdfAsException;
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/SLMarschaller.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/SLMarschaller.java
new file mode 100644
index 00000000..8f1b3cc5
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/SLMarschaller.java
@@ -0,0 +1,49 @@
+package at.gv.egiz.sl.util;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.StringReader;
+import java.io.StringWriter;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.Unmarshaller;
+
+public class SLMarschaller {
+ private static Marshaller marshaller = null;
+ private static Unmarshaller unmarshaller = null;
+
+ static {
+ try {
+ JAXBContext context = JAXBContext.newInstance("at.gv.egiz.sl");
+ marshaller = context.createMarshaller();
+ marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
+ marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
+
+ unmarshaller = context.createUnmarshaller();
+ } catch (JAXBException e) {
+ throw new RuntimeException(
+ "There was a problem creating a JAXBContext object for formatting the object to XML.");
+ }
+ }
+
+ public static void marshal(Object obj, OutputStream os) throws JAXBException {
+ marshaller.marshal(obj, os);
+ }
+
+ public static String marshalToString(Object obj) throws JAXBException {
+ StringWriter sw = new StringWriter();
+ marshaller.marshal(obj, sw);
+ return sw.toString();
+ }
+
+ public static Object unmarshal(InputStream is) throws JAXBException {
+ return unmarshaller.unmarshal(is);
+ }
+
+ public static Object unmarshalFromString(String message) throws JAXBException {
+ StringReader sr = new StringReader(message);
+ return unmarshaller.unmarshal(sr);
+ }
+}
diff --git a/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/package-info.java b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/package-info.java
new file mode 100644
index 00000000..f370e34d
--- /dev/null
+++ b/pdf-as-lib/src/main/java/at/gv/egiz/sl/util/package-info.java
@@ -0,0 +1,8 @@
+/**
+ *
+ */
+/**
+ * @author afitzek
+ *
+ */
+package at.gv.egiz.sl.util; \ No newline at end of file
diff --git a/pdf-as-web/.gitignore b/pdf-as-web/.gitignore
new file mode 100644
index 00000000..5e56e040
--- /dev/null
+++ b/pdf-as-web/.gitignore
@@ -0,0 +1 @@
+/bin
diff --git a/pdf-as-web/build.gradle b/pdf-as-web/build.gradle
new file mode 100644
index 00000000..c579ad70
--- /dev/null
+++ b/pdf-as-web/build.gradle
@@ -0,0 +1,36 @@
+apply plugin: 'java'
+apply plugin: 'eclipse'
+apply plugin: 'eclipse-wtp'
+apply plugin: 'war'
+
+sourceCompatibility = 1.5
+
+jar {
+ manifest {
+ attributes 'Implementation-Title': 'PDF-AS-WEB', 'Implementation-Version': version
+ }
+}
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ compile project (':pdf-as-lib')
+ compile project (':stamper:stmp-itext')
+ compile project (':signature-standards:sigs-pcks7detached')
+ compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
+ testCompile group: 'junit', name: 'junit', version: '4.+'
+}
+
+test {
+ systemProperties 'property': 'value'
+}
+
+uploadArchives {
+ repositories {
+ flatDir {
+ dirs 'repos'
+ }
+ }
+}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PDFASSession.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PDFASSession.java
new file mode 100644
index 00000000..9207847d
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/PDFASSession.java
@@ -0,0 +1,37 @@
+package at.gv.egiz.pdfas.web.helper;
+
+import java.io.Serializable;
+
+import at.gv.egiz.pdfas.lib.api.Configuration;
+import at.gv.egiz.pdfas.lib.api.StatusRequest;
+import at.gv.egiz.pdfas.lib.api.sign.SignParameter;
+
+public class PDFASSession implements Serializable {
+
+ public static final String SESSION_TAG = "PDFASSession";
+
+ private StatusRequest statusRequest;
+ private SignParameter signParameter;
+ private Configuration config;
+
+ public PDFASSession(SignParameter parameter) {
+ this.signParameter = parameter;
+ }
+
+ public StatusRequest getStatusRequest() {
+ return statusRequest;
+ }
+
+ public void setStatusRequest(StatusRequest statusRequest) {
+ this.statusRequest = statusRequest;
+ }
+
+ public SignParameter getSignParameter() {
+ return signParameter;
+ }
+
+ public void setSignParameter(SignParameter signParameter) {
+ this.signParameter = signParameter;
+ }
+
+}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/package-info.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/package-info.java
new file mode 100644
index 00000000..5f9a6b5d
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/package-info.java
@@ -0,0 +1,8 @@
+/**
+ *
+ */
+/**
+ * @author afitzek
+ *
+ */
+package at.gv.egiz.pdfas.web.helper; \ No newline at end of file
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/package-info.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/package-info.java
new file mode 100644
index 00000000..937390f0
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/package-info.java
@@ -0,0 +1,8 @@
+/**
+ *
+ */
+/**
+ * @author afitzek
+ *
+ */
+package at.gv.egiz.pdfas.web; \ No newline at end of file
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java
new file mode 100644
index 00000000..93586c1a
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/DataURLServlet.java
@@ -0,0 +1,37 @@
+package at.gv.egiz.pdfas.web.servlets;
+
+import java.io.IOException;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * Servlet implementation class DataURL
+ */
+public class DataURLServlet extends HttpServlet {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * @see HttpServlet#HttpServlet()
+ */
+ public DataURLServlet() {
+ super();
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
+ */
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ // TODO Auto-generated method stub
+ }
+
+ /**
+ * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
+ */
+ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ // TODO Auto-generated method stub
+ }
+
+}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ProvidePDFServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ProvidePDFServlet.java
new file mode 100644
index 00000000..26f42840
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/ProvidePDFServlet.java
@@ -0,0 +1,37 @@
+package at.gv.egiz.pdfas.web.servlets;
+
+import java.io.IOException;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * Servlet implementation class ProvidePDF
+ */
+public class ProvidePDFServlet extends HttpServlet {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * @see HttpServlet#HttpServlet()
+ */
+ public ProvidePDFServlet() {
+ super();
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
+ */
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ // TODO Auto-generated method stub
+ }
+
+ /**
+ * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
+ */
+ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ // TODO Auto-generated method stub
+ }
+
+}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/SignServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/SignServlet.java
new file mode 100644
index 00000000..9ea6f354
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/SignServlet.java
@@ -0,0 +1,69 @@
+package at.gv.egiz.pdfas.web.servlets;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
+import at.gv.egiz.pdfas.lib.api.ByteArrayDataSource;
+import at.gv.egiz.pdfas.lib.api.Configuration;
+import at.gv.egiz.pdfas.lib.api.PdfAs;
+import at.gv.egiz.pdfas.lib.api.PdfAsFactory;
+import at.gv.egiz.pdfas.lib.api.StatusRequest;
+import at.gv.egiz.pdfas.lib.api.sign.SignParameter;
+
+/**
+ * Servlet implementation class Sign
+ */
+public class SignServlet extends HttpServlet {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * Default constructor.
+ */
+ public SignServlet() {
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
+ * response)
+ */
+ protected void doGet(HttpServletRequest request,
+ HttpServletResponse response) throws ServletException, IOException {
+ response.getWriter()
+ .println(
+ "<html><head><title>Hello</title></head><body>BODY</body></html>");
+ }
+
+ /**
+ * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
+ * response)
+ */
+ protected void doPost(HttpServletRequest request,
+ HttpServletResponse response) throws ServletException, IOException {
+ // TODO Auto-generated method stub
+ }
+
+ protected void doSignature(HttpServletRequest request,
+ HttpServletResponse response, byte[] pdfData) {
+ try {
+ PdfAs pdfAs = PdfAsFactory.createPdfAs(null);
+ // TODO: Build configuration and Sign Parameters
+ Configuration config = pdfAs.getConfiguration();
+ SignParameter signParameter = PdfAsFactory.createSignParameter(
+ config, new ByteArrayDataSource(pdfData));
+
+
+
+ StatusRequest statusRequest = pdfAs.startSign(signParameter);
+
+ } catch (PdfAsException e) {
+ e.printStackTrace();
+ }
+ }
+
+}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/VerifyServlet.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/VerifyServlet.java
new file mode 100644
index 00000000..d4303a5f
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/VerifyServlet.java
@@ -0,0 +1,61 @@
+package at.gv.egiz.pdfas.web.servlets;
+
+import java.io.IOException;
+import java.util.List;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import at.gv.egiz.pdfas.lib.api.ByteArrayDataSource;
+import at.gv.egiz.pdfas.lib.api.Configuration;
+import at.gv.egiz.pdfas.lib.api.PdfAs;
+import at.gv.egiz.pdfas.lib.api.PdfAsFactory;
+import at.gv.egiz.pdfas.lib.api.verify.VerifyParameter;
+import at.gv.egiz.pdfas.lib.api.verify.VerifyResult;
+
+/**
+ * Servlet implementation class VerifyServlet
+ */
+public class VerifyServlet extends HttpServlet {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * @see HttpServlet#HttpServlet()
+ */
+ public VerifyServlet() {
+ super();
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
+ */
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ // TODO Auto-generated method stub
+ }
+
+ /**
+ * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
+ */
+ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ // TODO Auto-generated method stub
+ }
+
+ protected void doVerify(HttpServletRequest request, HttpServletResponse response,
+ byte[] pdfData, int whichSignature) {
+ PdfAs pdfAs = PdfAsFactory.createPdfAs(null);
+ Configuration conf = pdfAs.getConfiguration();
+ VerifyParameter parameter = PdfAsFactory.createVerifyParameter(conf, new ByteArrayDataSource(pdfData));
+ parameter.setWhichSignature(whichSignature);
+
+ List<VerifyResult> results = pdfAs.verify(parameter);
+
+ // Create HTML Snippet for each Verification Result
+ // Put these results into the web page
+ // Or create a JSON response with the verification results for automated processing
+
+ }
+
+}
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/package-info.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/package-info.java
new file mode 100644
index 00000000..6be370f0
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/package-info.java
@@ -0,0 +1,8 @@
+/**
+ *
+ */
+/**
+ * @author afitzek
+ *
+ */
+package at.gv.egiz.pdfas.web.servlets; \ No newline at end of file
diff --git a/pdf-as-web/src/main/webapp/WEB-INF/web.xml b/pdf-as-web/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 00000000..13149b7f
--- /dev/null
+++ b/pdf-as-web/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE web-app
+ PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+ "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+ <!-- General description of your web application -->
+
+ <display-name>PDF-AS-WEB</display-name>
+ <description>
+ PDF-AS-WEB Application
+ </description>
+
+
+ <!-- Context initialization parameters that define shared String constants
+ used within your application, which can be customized by the system administrator
+ who is installing your application. The values actually assigned to these
+ parameters can be retrieved in a servlet or JSP page by calling: String value
+ = getServletContext().getInitParameter("name"); where "name" matches the
+ <param-name> element of one of these initialization parameters. You can define
+ any number of context initialization parameters, including zero. <context-param>
+ <param-name>webmaster</param-name> <param-value>myaddress@mycompany.com</param-value>
+ <description> The EMAIL address of the administrator to whom questions and
+ comments about this application should be addressed. </description> </context-param> -->
+
+ <!-- Servlet definitions for the servlets that make up your web application,
+ including initialization parameters. With Tomcat, you can also send requests
+ to servlets not listed here with a request like this: http://localhost:8080/{context-path}/servlet/{classname}
+ but this usage is not guaranteed to be portable. It also makes relative references
+ to images and other resources required by your servlet more complicated,
+ so defining all of your servlets (and defining a mapping to them with a servlet-mapping
+ element) is recommended. Servlet initialization parameters can be retrieved
+ in a servlet or JSP page by calling: String value = getServletConfig().getInitParameter("name");
+ where "name" matches the <param-name> element of one of these initialization
+ parameters. You can define any number of servlets, including zero. -->
+
+ <servlet>
+ <servlet-name>SignServlet</servlet-name>
+ <description>
+ The Sign Servlet allows Users to Sign PDF Documents ...
+ </description>
+ <servlet-class>at.gv.egiz.pdfas.web.servlets.SignServlet</servlet-class>
+ <load-on-startup>5</load-on-startup>
+ </servlet>
+ <servlet>
+ <servlet-name>ProvidePDF</servlet-name>
+ <display-name>ProvidePDF</display-name>
+ <description></description>
+ <servlet-class>at.gv.egiz.pdfas.web.servlets.ProvidePDF</servlet-class>
+ </servlet>
+ <servlet>
+ <servlet-name>DataURL</servlet-name>
+ <display-name>DataURL</display-name>
+ <description></description>
+ <servlet-class>at.gv.egiz.pdfas.web.servlets.DataURL</servlet-class>
+ </servlet>
+ <servlet>
+ <servlet-name>VerifyServlet</servlet-name>
+ <display-name>VerifyServlet</display-name>
+ <description></description>
+ <servlet-class>at.gv.egiz.pdfas.web.servlets.VerifyServlet</servlet-class>
+ </servlet>
+
+ <!-- Define mappings that are used by the servlet container to translate
+ a particular request URI (context-relative) to a particular servlet. The
+ examples below correspond to the servlet descriptions above. Thus, a request
+ URI like: http://localhost:8080/{contextpath}/graph will be mapped to the
+ "graph" servlet, while a request like: http://localhost:8080/{contextpath}/saveCustomer.do
+ will be mapped to the "controller" servlet. You may define any number of
+ servlet mappings, including zero. It is also legal to define more than one
+ mapping for the same servlet, if you wish to. -->
+
+ <servlet-mapping>
+ <servlet-name>SignServlet</servlet-name>
+ <url-pattern>/Sign</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>ProvidePDF</servlet-name>
+ <url-pattern>/ProvidePDF</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>DataURL</servlet-name>
+ <url-pattern>/DataURL</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping>
+ <servlet-name>VerifyServlet</servlet-name>
+ <url-pattern>/VerifyServlet</url-pattern>
+ </servlet-mapping>
+
+ <!-- Define the default session timeout for your application, in minutes.
+ From a servlet or JSP page, you can modify the timeout for a particular session
+ dynamically by using HttpSession.getMaxInactiveInterval(). -->
+
+ <session-config>
+ <session-timeout>30</session-timeout> <!-- 30 minutes -->
+ </session-config>
+
+ <welcome-file-list>
+ <welcome-file>signstart.jsp</welcome-file>
+ </welcome-file-list>
+
+</web-app> \ No newline at end of file
diff --git a/pdf-as-web/src/main/webapp/signstart.jsp b/pdf-as-web/src/main/webapp/signstart.jsp
new file mode 100644
index 00000000..596f04dc
--- /dev/null
+++ b/pdf-as-web/src/main/webapp/signstart.jsp
@@ -0,0 +1,14 @@
+<html>
+<head>
+</head>
+<body>
+<h1>Sign PDF-Dokument</h1>
+<form action="Sign" method="POST" enctype="multipart/form-data">
+
+ <input type="file" name="pdffile" />
+
+ <input type="submit" value="Card">
+ <input type="submit" value="Handy">
+</form>
+</body>
+</html> \ No newline at end of file
diff --git a/pdf-as-web/src/main/webapp/verifystart.jsp b/pdf-as-web/src/main/webapp/verifystart.jsp
new file mode 100644
index 00000000..cf8187bf
--- /dev/null
+++ b/pdf-as-web/src/main/webapp/verifystart.jsp
@@ -0,0 +1,13 @@
+<html>
+<head>
+</head>
+<body>
+<h1>Verify PDF-Dokument</h1>
+<form action="Sign" method="POST" enctype="multipart/form-data">
+
+ <input type="file" name="pdffile" />
+
+ <input type="submit" value="Verfiy">
+</form>
+</body>
+</html> \ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
index 916848eb..ef6f5fcc 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,2 +1,2 @@
-include "pdf-as-common", "stamper:stmp-itext", "signature-standards:sigs-pcks7detached", "signature-standards:sigs-pades", "pdf-as-lib", "pdf-as-cli", "pdf-as-legacy"
+include "pdf-as-common", "stamper:stmp-itext", "signature-standards:sigs-pcks7detached", "signature-standards:sigs-pades", "pdf-as-lib", "pdf-as-cli", "pdf-as-legacy", "pdf-as-web"
diff --git a/signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/PAdESSigner.java b/signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/PAdESSigner.java
new file mode 100644
index 00000000..91237d98
--- /dev/null
+++ b/signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/PAdESSigner.java
@@ -0,0 +1,72 @@
+package at.gv.egiz.pdfas.sigs.pades;
+
+import iaik.x509.X509Certificate;
+
+import java.io.IOException;
+import java.security.cert.CertificateException;
+import java.util.Iterator;
+
+import org.apache.pdfbox.exceptions.SignatureException;
+import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature;
+
+import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
+import at.gv.egiz.pdfas.lib.api.sign.IPlainSigner;
+import at.gv.egiz.sl.CreateCMSSignatureRequestType;
+import at.gv.egiz.sl.CreateCMSSignatureResponseType;
+import at.gv.egiz.sl.InfoboxAssocArrayPairType;
+import at.gv.egiz.sl.InfoboxReadRequestType;
+import at.gv.egiz.sl.InfoboxReadResponseType;
+import at.gv.egiz.sl.util.BKUSLConnector;
+import at.gv.egiz.sl.util.ISLConnector;
+import at.gv.egiz.sl.util.BaseSLConnector;
+
+public class PAdESSigner implements IPlainSigner {
+
+ private ISLConnector connector;
+
+ public PAdESSigner(ISLConnector connector) {
+ this.connector = connector;
+ }
+
+ public X509Certificate getCertificate() throws PdfAsException {
+ X509Certificate certificate = null;
+ try {
+ InfoboxReadRequestType request = connector
+ .createInfoboxReadRequest();
+ InfoboxReadResponseType response = connector
+ .sendInfoboxReadRequest(request);
+
+ Iterator<InfoboxAssocArrayPairType> iterator = response
+ .getAssocArrayData().getPair().iterator();
+
+ while (iterator.hasNext()) {
+ InfoboxAssocArrayPairType pair = iterator.next();
+ if (pair.getKey().equals("SecureSignatureKeypair")) {
+ byte[] certData = pair.getBase64Content();
+ certificate = new X509Certificate(certData);
+ break;
+ }
+ }
+ } catch (CertificateException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return certificate;
+ }
+
+ public byte[] sign(byte[] input, int[] byteRange) throws PdfAsException {
+ CreateCMSSignatureRequestType request = connector.createCMSRequest(input, byteRange);
+ CreateCMSSignatureResponseType response = connector.sendCMSRequest(request);
+
+ return response.getCMSSignature();
+ }
+
+ public String getPDFSubFilter() {
+ return PDSignature.SUBFILTER_ETSI_CADES_DETACHED.getName();
+ }
+
+ public String getPDFFilter() {
+ return PDSignature.FILTER_ADOBE_PPKLITE.getName();
+ }
+
+}
diff --git a/signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/package-info.java b/signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/package-info.java
new file mode 100644
index 00000000..5c74ace3
--- /dev/null
+++ b/signature-standards/sigs-pades/src/main/java/at/gv/egiz/pdfas/sigs/pades/package-info.java
@@ -0,0 +1,8 @@
+/**
+ *
+ */
+/**
+ * @author afitzek
+ *
+ */
+package at.gv.egiz.pdfas.sigs.pades; \ No newline at end of file
diff --git a/signature-standards/sigs-pcks7detached/src/main/java/at/gv/egiz/pdfas/sigs/pkcs7detached/PKCS7DetachedSigner.java b/signature-standards/sigs-pcks7detached/src/main/java/at/gv/egiz/pdfas/sigs/pkcs7detached/PKCS7DetachedSigner.java
index 864a31d1..c6b12897 100644
--- a/signature-standards/sigs-pcks7detached/src/main/java/at/gv/egiz/pdfas/sigs/pkcs7detached/PKCS7DetachedSigner.java
+++ b/signature-standards/sigs-pcks7detached/src/main/java/at/gv/egiz/pdfas/sigs/pkcs7detached/PKCS7DetachedSigner.java
@@ -23,7 +23,9 @@ import org.apache.pdfbox.cos.COSName;
import org.apache.pdfbox.exceptions.SignatureException;
import org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature;
+import at.gv.egiz.pdfas.common.exceptions.PDFIOException;
import at.gv.egiz.pdfas.common.exceptions.PdfAsException;
+import at.gv.egiz.pdfas.common.exceptions.PdfAsSignatureException;
import at.gv.egiz.pdfas.lib.api.sign.IPlainSigner;
public class PKCS7DetachedSigner implements IPlainSigner {
@@ -49,7 +51,7 @@ public class PKCS7DetachedSigner implements IPlainSigner {
return cert;
}
- public byte[] sign(byte[] input) throws SignatureException, IOException {
+ public byte[] sign(byte[] input, int[] byteRange) throws PdfAsException {
try {
SignedDataStream signed_data_stream = new SignedDataStream(
new ByteArrayInputStream(input), SignedDataStream.EXPLICIT);
@@ -71,9 +73,11 @@ public class PKCS7DetachedSigner implements IPlainSigner {
signed_data_stream.writeTo(baos);
return baos.toByteArray();
} catch (NoSuchAlgorithmException e) {
- throw new SignatureException(e);
+ throw new PdfAsSignatureException("", e);
} catch (X509ExtensionException e) {
- throw new SignatureException(e);
+ throw new PdfAsSignatureException("", e);
+ } catch (IOException e) {
+ throw new PDFIOException("", e);
}
}