aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/gv/egiz/pdfas/impl/api/verify
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/gv/egiz/pdfas/impl/api/verify')
-rw-r--r--src/main/java/at/gv/egiz/pdfas/impl/api/verify/SignatureCheckImpl.java51
-rw-r--r--src/main/java/at/gv/egiz/pdfas/impl/api/verify/VerifyResultAdapter.java126
-rw-r--r--src/main/java/at/gv/egiz/pdfas/impl/api/verify/VerifyResultsImpl.java38
3 files changed, 215 insertions, 0 deletions
diff --git a/src/main/java/at/gv/egiz/pdfas/impl/api/verify/SignatureCheckImpl.java b/src/main/java/at/gv/egiz/pdfas/impl/api/verify/SignatureCheckImpl.java
new file mode 100644
index 0000000..d5803f8
--- /dev/null
+++ b/src/main/java/at/gv/egiz/pdfas/impl/api/verify/SignatureCheckImpl.java
@@ -0,0 +1,51 @@
+/**
+ *
+ */
+package at.gv.egiz.pdfas.impl.api.verify;
+
+import at.gv.egiz.pdfas.api.verify.SignatureCheck;
+
+/**
+ * @author wprinz
+ */
+public class SignatureCheckImpl implements SignatureCheck
+{
+ /**
+ * The check code.
+ */
+ protected int code = -1;
+
+ /**
+ * The check code message.
+ */
+ protected String message = null;
+
+
+
+ /**
+ * @param code The check code.
+ * @param message The check code message.
+ */
+ public SignatureCheckImpl(int code, String message)
+ {
+ this.code = code;
+ this.message = message;
+ }
+
+ /**
+ * @see at.gv.egiz.pdfas.api.verify.SignatureCheck#getCode()
+ */
+ public int getCode()
+ {
+ return this.code;
+ }
+
+ /**
+ * @see at.gv.egiz.pdfas.api.verify.SignatureCheck#getMessage()
+ */
+ public String getMessage()
+ {
+ return this.message;
+ }
+
+}
diff --git a/src/main/java/at/gv/egiz/pdfas/impl/api/verify/VerifyResultAdapter.java b/src/main/java/at/gv/egiz/pdfas/impl/api/verify/VerifyResultAdapter.java
new file mode 100644
index 0000000..d66097a
--- /dev/null
+++ b/src/main/java/at/gv/egiz/pdfas/impl/api/verify/VerifyResultAdapter.java
@@ -0,0 +1,126 @@
+/**
+ *
+ */
+package at.gv.egiz.pdfas.impl.api.verify;
+
+import java.security.cert.X509Certificate;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import at.gv.egiz.pdfas.api.verify.SignatureCheck;
+import at.gv.egiz.pdfas.api.verify.VerifyResult;
+import at.gv.egiz.pdfas.impl.api.commons.SignatureInformationAdapter;
+import at.knowcenter.wag.egov.egiz.exceptions.SettingNotFoundException;
+import at.knowcenter.wag.egov.egiz.pdf.SignatureHolder;
+import at.knowcenter.wag.egov.egiz.sig.SignatureResponse;
+
+/**
+ * Implements the VerifyResult interface.
+ *
+ * @author wprinz
+ */
+public class VerifyResultAdapter extends SignatureInformationAdapter implements VerifyResult
+{
+ protected SignatureResponse sigRes = null;
+
+ protected Date vTime = null;
+
+ /**
+ * Constructor.
+ *
+ * @param sigRes
+ * The SignatureResponse.
+ * @param sh
+ * The SignatureHolder.
+ * @param verificationTime
+ * The time of verification. This is directly returned by {@link #getVerificationTime()}
+ */
+ public VerifyResultAdapter(SignatureResponse sigRes, SignatureHolder sh, Date verificationTime)
+ {
+ super(sh);
+ this.sigRes = sigRes;
+ this.vTime = verificationTime;
+ }
+
+ /**
+ * @see at.gv.egiz.pdfas.api.verify.VerifyResult#getCertificateCheck()
+ */
+ public SignatureCheck getCertificateCheck()
+ {
+ return new SignatureCheckImpl(Integer.parseInt(this.sigRes.getCertificateCheckCode()), this.sigRes.getCertificateCheckInfo());
+ }
+
+ /**
+ * @see at.gv.egiz.pdfas.api.verify.VerifyResult#getManifestCheckCode()
+ */
+ public SignatureCheck getManifestCheckCode()
+ {
+ return new SignatureCheckImpl(Integer.parseInt(this.sigRes.getSignatureManifestCheckCode()), this.sigRes.getSignatureManifestCheckInfo());
+ }
+
+ /**
+ * @see at.gv.egiz.pdfas.api.verify.VerifyResult#getValueCheckCode()
+ */
+ public SignatureCheck getValueCheckCode()
+ {
+ return new SignatureCheckImpl(Integer.parseInt(this.sigRes.getSignatureCheckCode()), this.sigRes.getSignatureCheckInfo());
+ }
+
+ /**
+ * @see at.gv.egiz.pdfas.api.verify.VerifyResult#getVerificationTime()
+ */
+ public Date getVerificationTime()
+ {
+ return this.vTime;
+ }
+
+ /**
+ * @see at.gv.egiz.pdfas.api.verify.VerifyResult#isQualifiedCertificate()
+ */
+ public boolean isQualifiedCertificate()
+ {
+ return this.sigRes.isQualifiedCertificate();
+ }
+
+ /**
+ * @see at.gv.egiz.pdfas.api.verify.VerifyResult#getPublicProperties()
+ */
+ public List getPublicProperties()
+ {
+ try
+ {
+ return this.sigRes.getPublicProperties();
+ }
+ catch (SettingNotFoundException e)
+ {
+ e.printStackTrace();
+ return new ArrayList();
+ }
+ }
+
+ /**
+ * @see at.gv.egiz.pdfas.api.commons.SignatureInformation#getInternalSignatureInformation()
+ */
+ public Object getInternalSignatureInformation()
+ {
+ return null;
+ }
+
+ /**
+ * @see at.gv.egiz.pdfas.api.commons.SignatureInformation#getSignerCertificate()
+ */
+ public X509Certificate getSignerCertificate()
+ {
+ // TODO this should be the same as the signature holder's cert.
+ return this.sigRes.getCertificate().getX509Certificate();
+ }
+
+ /**
+ * @see at.gv.egiz.pdfas.api.verify.VerifyResult#getHashInputData()
+ */
+ public String getHashInputData()
+ {
+ return this.sigRes.getHashInputData();
+ }
+}
diff --git a/src/main/java/at/gv/egiz/pdfas/impl/api/verify/VerifyResultsImpl.java b/src/main/java/at/gv/egiz/pdfas/impl/api/verify/VerifyResultsImpl.java
new file mode 100644
index 0000000..e7cc79d
--- /dev/null
+++ b/src/main/java/at/gv/egiz/pdfas/impl/api/verify/VerifyResultsImpl.java
@@ -0,0 +1,38 @@
+/**
+ *
+ */
+package at.gv.egiz.pdfas.impl.api.verify;
+
+import java.util.List;
+
+import at.gv.egiz.pdfas.api.verify.VerifyResults;
+
+/**
+ * @author wprinz
+ */
+public class VerifyResultsImpl implements VerifyResults
+{
+ /**
+ * The results.
+ */
+ protected List results = null;
+
+ /**
+ * Constructor.
+ *
+ * @param results
+ * The results.
+ */
+ public VerifyResultsImpl(List results)
+ {
+ this.results = results;
+ }
+
+ /**
+ * @see at.gv.egiz.pdfas.api.verify.VerifyResults#getResults()
+ */
+ public List getResults()
+ {
+ return this.results;
+ }
+}