aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper')
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/PdfAsObject.java104
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignParameterWrapper.java32
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignatureCheckWrapper.java21
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignatureDetailInformationWrapper.java88
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyParameterWrapper.java14
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyResultWrapper.java116
-rw-r--r--pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyResultsImpl.java20
7 files changed, 369 insertions, 26 deletions
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/PdfAsObject.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/PdfAsObject.java
index 6606ec4a..067021b2 100644
--- a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/PdfAsObject.java
+++ b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/PdfAsObject.java
@@ -1,15 +1,16 @@
package at.gv.egiz.pdfas.wrapper;
import java.io.File;
+import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
-import com.sun.org.apache.xml.internal.utils.UnImplNode;
-
import at.gv.egiz.pdfas.api.PdfAs;
import at.gv.egiz.pdfas.api.analyze.AnalyzeParameters;
import at.gv.egiz.pdfas.api.analyze.AnalyzeResult;
import at.gv.egiz.pdfas.api.commons.DynamicSignatureLifetimeEnum;
import at.gv.egiz.pdfas.api.commons.DynamicSignatureProfile;
+import at.gv.egiz.pdfas.api.commons.DynamicSignatureProfileImpl;
import at.gv.egiz.pdfas.api.exceptions.ErrorCode;
import at.gv.egiz.pdfas.api.exceptions.PdfAsException;
import at.gv.egiz.pdfas.api.sign.SignParameters;
@@ -22,25 +23,59 @@ import at.gv.egiz.pdfas.api.verify.VerifyResults;
import at.gv.egiz.pdfas.api.xmldsig.ReconstructXMLDsigAfterAnalysisParameters;
import at.gv.egiz.pdfas.api.xmldsig.ReconstructXMLDsigParameters;
import at.gv.egiz.pdfas.api.xmldsig.ReconstructXMLDsigResult;
+import at.gv.egiz.pdfas.lib.api.ByteArrayDataSource;
+import at.gv.egiz.pdfas.lib.api.Configuration;
+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;
+import at.gv.egiz.pdfas.lib.api.verify.VerifyParameter;
+import at.gv.egiz.pdfas.lib.api.verify.VerifyResult;
public class PdfAsObject implements PdfAs {
+ private at.gv.egiz.pdfas.lib.api.PdfAs pdfas4;
+ private Configuration configuration;
+ private File workdir;
+
public SignResult sign(SignParameters signParameters) throws PdfAsException {
- // TODO Auto-generated method stub
- return null;
+ SignatureDetailInformation signatureDetailInformation = this
+ .prepareSign(signParameters);
+ return this.sign(signParameters, signatureDetailInformation);
}
public SignResult sign(SignParameters signParameters,
SignatureDetailInformation signatureDetailInformation)
throws PdfAsException {
- // TODO Auto-generated method stub
+
+ // Create the signature ....
+
+ // TODO wait for SL wrapper implementation
return null;
}
public VerifyResults verify(VerifyParameters verifyParameters)
throws PdfAsException {
- // TODO Auto-generated method stub
- return null;
+ try {
+ VerifyParameter newParameter = VerifyParameterWrapper.toNewParameters(verifyParameters);
+
+ List<VerifyResult> results = this.pdfas4.verify(newParameter);
+
+ Iterator<VerifyResult> it = results.iterator();
+
+ List<at.gv.egiz.pdfas.api.verify.VerifyResult> resultList =
+ new ArrayList<at.gv.egiz.pdfas.api.verify.VerifyResult>();
+
+ while(it.hasNext()) {
+ VerifyResult newResult = it.next();
+ at.gv.egiz.pdfas.api.verify.VerifyResult oldResult =
+ new VerifyResultWrapper(newResult);
+ resultList.add(oldResult);
+ }
+
+ return new VerifyResultsImpl(resultList);
+ } catch(at.gv.egiz.pdfas.common.exceptions.PdfAsException e) {
+ throw new PdfAsException(0, e.getMessage());
+ }
}
public AnalyzeResult analyze(AnalyzeParameters analyzeParameters)
@@ -78,61 +113,78 @@ public class PdfAsObject implements PdfAs {
}
public void reloadConfig() throws PdfAsException {
- // TODO Auto-generated method stub
-
+ this.pdfas4 = at.gv.egiz.pdfas.lib.api.PdfAsFactory
+ .createPdfAs(this.workdir);
+ this.configuration = this.pdfas4.getConfiguration();
}
public List getProfileInformation() throws PdfAsException {
- // TODO Auto-generated method stub
- return null;
+ throw new PdfAsException(ErrorCode.FUNCTION_NOT_AVAILABLE,
+ new RuntimeException());
}
public DynamicSignatureProfile createDynamicSignatureProfile(
String parentProfile, DynamicSignatureLifetimeEnum mode) {
- // TODO Auto-generated method stub
- return null;
+ return DynamicSignatureProfileImpl.createFromParent(null,
+ parentProfile, mode, configuration);
}
public DynamicSignatureProfile createDynamicSignatureProfile(
String myUniqueName, String parentProfile,
DynamicSignatureLifetimeEnum mode) {
- // TODO Auto-generated method stub
- return null;
+ return DynamicSignatureProfileImpl.createFromParent(myUniqueName,
+ parentProfile, mode, configuration);
}
public DynamicSignatureProfile createEmptyDynamicSignatureProfile(
DynamicSignatureLifetimeEnum mode) {
- // TODO Auto-generated method stub
- return null;
+ return DynamicSignatureProfileImpl.createEmptyProfile(null, mode,
+ configuration);
}
public DynamicSignatureProfile createEmptyDynamicSignatureProfile(
String myUniqueName, DynamicSignatureLifetimeEnum mode) {
- // TODO Auto-generated method stub
- return null;
+ return DynamicSignatureProfileImpl.createEmptyProfile(myUniqueName,
+ mode, configuration);
}
public DynamicSignatureProfile loadDynamicSignatureProfile(
String profileName) {
- // TODO Auto-generated method stub
- return null;
+ return DynamicSignatureProfileImpl.loadProfile(profileName);
}
public SignatureDetailInformation prepareSign(SignParameters signParameters)
throws PdfAsException {
- // TODO Auto-generated method stub
- return null;
+ try {
+ // Prepare Signature
+
+ SignParameter signParameter4 = PdfAsFactory.createSignParameter(
+ this.configuration, new ByteArrayDataSource(signParameters
+ .getDocument().getAsByteArray()));
+
+ SignParameterWrapper wrapper = new SignParameterWrapper(signParameters, signParameter4);
+
+ // TODO: wrapper sync old to new
+ StatusRequest request = this.pdfas4.startSign(wrapper.getSignParameter4());
+ // TODO: wait for SL implementation wrapper
+ return null;
+
+ } catch (at.gv.egiz.pdfas.common.exceptions.PdfAsException e) {
+ throw new PdfAsException(0, e.getMessage());
+ }
}
public SignResult finishSign(SignParameters signParameters,
SignatureDetailInformation signatureDetailInformation)
throws PdfAsException {
- // TODO Auto-generated method stub
- return null;
+ return sign(signParameters, signatureDetailInformation);
}
public PdfAsObject(File workdirectory) {
- //TODO
+ this.workdir = workdirectory;
+ this.pdfas4 = at.gv.egiz.pdfas.lib.api.PdfAsFactory
+ .createPdfAs(workdirectory);
+ this.configuration = this.pdfas4.getConfiguration();
}
}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignParameterWrapper.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignParameterWrapper.java
new file mode 100644
index 00000000..b51896bd
--- /dev/null
+++ b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignParameterWrapper.java
@@ -0,0 +1,32 @@
+package at.gv.egiz.pdfas.wrapper;
+
+import at.gv.egiz.pdfas.api.sign.SignParameters;
+import at.gv.egiz.pdfas.lib.api.sign.SignParameter;
+
+public class SignParameterWrapper {
+
+ private SignParameter signParameter4;
+ private SignParameters signParameters;
+
+ public SignParameterWrapper(SignParameters signParameters, SignParameter signParameter4) {
+ this.signParameter4 = signParameter4;
+ this.signParameters = signParameters;
+ }
+
+ private void syncOldToNew() {
+ // TODO
+ }
+
+ private void syncNewToOld() {
+ // TODO
+ }
+
+
+ public SignParameter getSignParameter4() {
+ return this.signParameter4;
+ }
+
+ public SignParameters getSignParameters() {
+ return this.signParameters;
+ }
+}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignatureCheckWrapper.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignatureCheckWrapper.java
new file mode 100644
index 00000000..04b0dd3c
--- /dev/null
+++ b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignatureCheckWrapper.java
@@ -0,0 +1,21 @@
+package at.gv.egiz.pdfas.wrapper;
+
+import at.gv.egiz.pdfas.api.verify.SignatureCheck;
+
+public class SignatureCheckWrapper implements SignatureCheck {
+
+ private at.gv.egiz.pdfas.lib.api.verify.SignatureCheck newCheck;
+
+ public SignatureCheckWrapper(at.gv.egiz.pdfas.lib.api.verify.SignatureCheck newCheck) {
+ this.newCheck = newCheck;
+ }
+
+ public int getCode() {
+ return this.newCheck.getCode();
+ }
+
+ public String getMessage() {
+ return this.newCheck.getMessage();
+ }
+
+}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignatureDetailInformationWrapper.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignatureDetailInformationWrapper.java
new file mode 100644
index 00000000..683e083f
--- /dev/null
+++ b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/SignatureDetailInformationWrapper.java
@@ -0,0 +1,88 @@
+package at.gv.egiz.pdfas.wrapper;
+
+import java.security.cert.X509Certificate;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import at.gv.egiz.pdfas.api.io.DataSource;
+import at.gv.egiz.pdfas.api.sign.SignatureDetailInformation;
+import at.gv.egiz.pdfas.api.sign.pos.SignaturePosition;
+
+public class SignatureDetailInformationWrapper implements SignatureDetailInformation {
+
+ private SignParameterWrapper wrapper;
+
+ public DataSource getSignatureData() {
+ // TODO
+ return null;
+ }
+
+ public SignaturePosition getSignaturePosition() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public List getNonTextualObjects() {
+ return null;
+ }
+
+ public Date getSignDate() {
+ return null;
+ }
+
+ public String getIssuer() {
+ return null;
+ }
+
+ public Map getIssuerDNMap() {
+ return null;
+ }
+
+ public String getSubjectName() {
+ return null;
+ }
+
+ public String getSerialNumber() {
+ return null;
+ }
+
+ public String getSigAlgorithm() {
+ return null;
+ }
+
+ public String getSigID() {
+ return null;
+ }
+
+ public String getSigKZ() {
+ return null;
+ }
+
+ public String getSignatureValue() {
+ return null;
+ }
+
+ public String getSigTimeStamp() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Map getSubjectDNMap() {
+ return null;
+ }
+
+ public X509Certificate getX509Certificate() {
+ return null;
+ }
+
+ public boolean isTextual() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean isBinary() {
+ return true;
+ }
+
+}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyParameterWrapper.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyParameterWrapper.java
new file mode 100644
index 00000000..387d9ea4
--- /dev/null
+++ b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyParameterWrapper.java
@@ -0,0 +1,14 @@
+package at.gv.egiz.pdfas.wrapper;
+
+import at.gv.egiz.pdfas.api.verify.VerifyParameters;
+import at.gv.egiz.pdfas.lib.api.PdfAsFactory;
+import at.gv.egiz.pdfas.lib.api.verify.VerifyParameter;
+
+public class VerifyParameterWrapper {
+
+ public static VerifyParameter toNewParameters(VerifyParameters oldParameters) {
+ //TODO
+ return null;
+ }
+
+}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyResultWrapper.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyResultWrapper.java
new file mode 100644
index 00000000..0364be9b
--- /dev/null
+++ b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyResultWrapper.java
@@ -0,0 +1,116 @@
+package at.gv.egiz.pdfas.wrapper;
+
+import java.security.cert.X509Certificate;
+import java.util.Date;
+import java.util.List;
+
+import at.gv.egiz.pdfas.api.exceptions.PdfAsException;
+import at.gv.egiz.pdfas.api.exceptions.PdfAsWrappedException;
+import at.gv.egiz.pdfas.api.io.DataSource;
+import at.gv.egiz.pdfas.api.verify.SignatureCheck;
+import at.gv.egiz.pdfas.api.verify.VerifyResult;
+import at.gv.egiz.pdfas.api.xmldsig.XMLDsigData;
+
+public class VerifyResultWrapper implements VerifyResult {
+
+ private at.gv.egiz.pdfas.lib.api.verify.VerifyResult newResult;
+
+ public VerifyResultWrapper(at.gv.egiz.pdfas.lib.api.verify.VerifyResult newResult) {
+ this.newResult = newResult;
+ }
+
+ public String getSignatureType() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public DataSource getSignedData() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public X509Certificate getSignerCertificate() {
+ return this.newResult.getSignerCertificate();
+ }
+
+ public Date getSigningTime() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Object getInternalSignatureInformation() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getTimeStampValue() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void setNonTextualObjects(List nonTextualObjects) {
+ }
+
+ public boolean isVerificationDone() {
+ return this.newResult.isVerificationDone();
+ }
+
+ public PdfAsException getVerificationException() {
+ return new PdfAsWrappedException(this.newResult.getVerificationException());
+ }
+
+ public SignatureCheck getCertificateCheck() {
+ return new SignatureCheckWrapper(this.newResult.getCertificateCheck());
+ }
+
+ public SignatureCheck getValueCheckCode() {
+ return new SignatureCheckWrapper(this.newResult.getValueCheckCode());
+ }
+
+ public SignatureCheck getManifestCheckCode() {
+ return new SignatureCheckWrapper(this.newResult.getManifestCheckCode());
+ }
+
+ public boolean isQualifiedCertificate() {
+ return this.newResult.isQualifiedCertificate();
+ }
+
+ public boolean isPublicAuthority() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public String getPublicAuthorityCode() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public List getPublicProperties() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Date getVerificationTime() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getHashInputData() {
+ return null;
+ }
+
+ public List getNonTextualObjects() {
+ return null;
+ }
+
+ public boolean hasNonTextualObjects() {
+ return false;
+ }
+
+ public XMLDsigData getReconstructedXMLDsig() {
+ return null;
+ }
+
+
+
+}
diff --git a/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyResultsImpl.java b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyResultsImpl.java
new file mode 100644
index 00000000..d20da58b
--- /dev/null
+++ b/pdf-as-legacy/src/main/java/at/gv/egiz/pdfas/wrapper/VerifyResultsImpl.java
@@ -0,0 +1,20 @@
+package at.gv.egiz.pdfas.wrapper;
+
+import java.util.List;
+
+import at.gv.egiz.pdfas.api.verify.VerifyResult;
+import at.gv.egiz.pdfas.api.verify.VerifyResults;
+
+public class VerifyResultsImpl implements VerifyResults {
+
+ private List<VerifyResult> list;
+
+ public VerifyResultsImpl(List<VerifyResult> list) {
+ this.list = list;
+ }
+
+ public List getResults() {
+ return this.list;
+ }
+
+}