aboutsummaryrefslogtreecommitdiff
path: root/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSVerifySignatureBindingImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSVerifySignatureBindingImpl.java')
-rw-r--r--moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSVerifySignatureBindingImpl.java244
1 files changed, 0 insertions, 244 deletions
diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSVerifySignatureBindingImpl.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSVerifySignatureBindingImpl.java
deleted file mode 100644
index 1cfa806..0000000
--- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSVerifySignatureBindingImpl.java
+++ /dev/null
@@ -1,244 +0,0 @@
-package at.gv.egovernment.moa.spss.server.webservice.binding;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import at.gv.egiz.moasig.FormResultType;
-import at.gv.egiz.moasig.ObjectFactory;
-import at.gv.egiz.moasig.PDFSignatureResultType;
-import at.gv.egiz.moasig.VerifyCMSSignatureResponseType;
-import at.gv.egiz.moasig.VerifyPDFSignatureRequest;
-import at.gv.egiz.moasig.VerifyPDFSignatureResponseType;
-import at.gv.egovernment.moa.spss.MOAApplicationException;
-import at.gv.egovernment.moa.spss.api.SPSSFactory;
-import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject;
-import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest;
-import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse;
-import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponseElement;
-import at.gv.egovernment.moa.spss.api.common.CheckResult;
-import at.gv.egovernment.moa.spss.api.common.SignerInfo;
-import at.gv.egovernment.moa.spss.api.xmlverify.AdESFormResults;
-import at.gv.egovernment.moa.spss.server.webservice.CMSVerifySignatureBinding;
-import at.gv.egovernment.moaspss.util.CollectionUtils;
-
-public class CMSVerifySignatureBindingImpl implements CMSVerifySignatureBinding {
-
- private TransformerUtils transformerUtils = new TransformerUtils();
-
- /** The factory to create API objects. */
- private SPSSFactory factory = SPSSFactory.getInstance();
-
- @Override
- public VerifyCMSSignatureRequest buildCMSRequest(
- at.gv.egiz.moasig.VerifyCMSSignatureRequest verifyCMSSignatureRequest) throws MOAApplicationException {
-
- Date dateTime = null;
- if (verifyCMSSignatureRequest.getDateTime() != null) {
- dateTime = verifyCMSSignatureRequest.getDateTime().toGregorianCalendar().getTime();
- }
-
- int[] signatories = parseSignatories(verifyCMSSignatureRequest);
-
- CMSDataObject dataObject = this.transformerUtils.parseDataObject(verifyCMSSignatureRequest.getDataObject());
-
- String trustProfileID = null;
-
- if (verifyCMSSignatureRequest.getTrustProfileID() != null) {
- trustProfileID = verifyCMSSignatureRequest.getTrustProfileID();
- }
-
- InputStream cmsSignature = new ByteArrayInputStream(verifyCMSSignatureRequest.getCMSSignature());
-
- return factory.createVerifyCMSSignatureRequest(signatories, dateTime, cmsSignature, dataObject, trustProfileID, false);
- }
-
- /**
- * Parse the <code>Signatories</code> attribute contained in the
- * <code>VerifyCMSSignatureRequest</code> DOM element.
- *
- * @param requestElem
- * The <code>VerifyCMSSignatureRequest</code> DOM element.
- * @return The signatories contained in the given
- * <code>VerifyCMSSignatureRequest</code> DOM element.
- */
- private int[] parseSignatories(at.gv.egiz.moasig.VerifyCMSSignatureRequest verifyCMSSignatureRequest) {
- if(verifyCMSSignatureRequest.getSignatories().isEmpty()) {
- return VerifyCMSSignatureRequest.ALL_SIGNATORIES;
- }
-
- Iterator<String> signatoriesIterator = verifyCMSSignatureRequest.getSignatories().iterator();
- List signatoriesList = new ArrayList();
-
- int[] signatories;
- while (signatoriesIterator.hasNext()) {
- String signatorie = signatoriesIterator.next();
-
- if ("all".equals(signatorie)) {
- return VerifyCMSSignatureRequest.ALL_SIGNATORIES;
- } else {
- StringTokenizer tokenizer = new StringTokenizer(signatorie);
- // put the signatories into a List
- while (tokenizer.hasMoreTokens()) {
- try {
- signatoriesList.add(new Integer(tokenizer.nextToken()));
- } catch (NumberFormatException e) {
- // this cannot occur if the request has been validated
- }
- }
- }
-
- }
-
- // convert the List into an int array
- signatories = CollectionUtils.toIntArray(signatoriesList);
-
- return signatories;
- }
-
- @Override
- public VerifyCMSSignatureResponseType buildCMSResponse(VerifyCMSSignatureResponse response)
- throws MOAApplicationException {
-
- VerifyCMSSignatureResponseType verifyCMSSignatureResponseType = new VerifyCMSSignatureResponseType();
-
- Iterator iter;
-
- for (iter = response.getResponseElements().iterator(); iter.hasNext();) {
- VerifyCMSSignatureResponseElement responseElement = (VerifyCMSSignatureResponseElement) iter.next();
- addResponseElement(verifyCMSSignatureResponseType, responseElement);
- }
-
- return verifyCMSSignatureResponseType;
- }
-
- /**
- * Add an element to the response.
- *
- * @param responseElement
- * The element to add to the response.
- * @throws MOAApplicationException
- * An error occurred adding the element.
- */
- private void addResponseElement(VerifyCMSSignatureResponseType verifyCMSSignatureResponseType,
- VerifyCMSSignatureResponseElement responseElement) throws MOAApplicationException {
-
- ObjectFactory of = new ObjectFactory();
- SignerInfo signerInfo = responseElement.getSignerInfo();
- CheckResult signatureCheck = responseElement.getSignatureCheck();
- CheckResult certCheck = responseElement.getCertificateCheck();
-
- verifyCMSSignatureResponseType.getSignerInfoAndSignatureCheckAndCertificateCheck().add(
- of.createVerifyCMSSignatureResponseTypeSignerInfo(this.transformerUtils.buildSignerInfo(signerInfo)));
- verifyCMSSignatureResponseType.getSignerInfoAndSignatureCheckAndCertificateCheck()
- .add(of.createVerifyCMSSignatureResponseTypeSignatureCheck(
- this.transformerUtils.buildCheckResult(signatureCheck)));
-
- verifyCMSSignatureResponseType.getSignerInfoAndSignatureCheckAndCertificateCheck()
- .add(of.createVerifyCMSSignatureResponseTypeCertificateCheck(
- this.transformerUtils.buildCheckResult(certCheck)));
-
- if (responseElement.getAdESFormResults() != null) {
- Iterator adesIterator = responseElement.getAdESFormResults().iterator();
- while (adesIterator.hasNext()) {
- AdESFormResults adesResult = (AdESFormResults) adesIterator.next();
- FormResultType formResultType = new FormResultType();
- formResultType.setCode(BigInteger.valueOf(adesResult.getCode()));
- formResultType.setName(adesResult.getName());
-
- verifyCMSSignatureResponseType.getSignerInfoAndSignatureCheckAndCertificateCheck().add(
- of.createVerifyCMSSignatureResponseTypeFormCheckResult(formResultType));
- }
- }
- }
-
- /**
- * Add an element to the response.
- *
- * @param responseElement
- * The element to add to the response.
- * @throws MOAApplicationException
- * An error occurred adding the element.
- */
- private void addResponseElement(VerifyPDFSignatureResponseType verifyPDFSignatureResponseType,
- VerifyCMSSignatureResponseElement responseElement) throws MOAApplicationException {
-
- SignerInfo signerInfo = responseElement.getSignerInfo();
- CheckResult signatureCheck = responseElement.getSignatureCheck();
- CheckResult certCheck = responseElement.getCertificateCheck();
-
- PDFSignatureResultType resultType = new PDFSignatureResultType();
-
- if (responseElement.getAdESFormResults() != null) {
- Iterator adesIterator = responseElement.getAdESFormResults().iterator();
- while (adesIterator.hasNext()) {
- AdESFormResults adesResult = (AdESFormResults) adesIterator.next();
- FormResultType formResultType = new FormResultType();
- formResultType.setCode(BigInteger.valueOf(adesResult.getCode()));
- formResultType.setName(adesResult.getName());
- resultType.getFormCheckResult().add(formResultType);
- }
- }
-
- resultType.setSignerInfo(this.transformerUtils.buildSignerInfo(signerInfo));
- resultType.setSignatureCheck(this.transformerUtils.buildCheckResult(signatureCheck));
- resultType.setCertificateCheck(this.transformerUtils.buildCheckResult(certCheck));
-
- verifyPDFSignatureResponseType.getSignatureResult().add(resultType);
- }
-
- /**
- * Parse the <code>Signatories</code> attribute contained in the
- * <code>VerifyCMSSignatureRequest</code> DOM element.
- *
- * @param requestElem
- * The <code>VerifyCMSSignatureRequest</code> DOM element.
- * @return The signatories contained in the given
- * <code>VerifyCMSSignatureRequest</code> DOM element.
- */
- private int[] parseSignatories(VerifyPDFSignatureRequest verifyPDFSignatureRequest) {
- return VerifyCMSSignatureRequest.ALL_SIGNATORIES;
- }
-
- @Override
- public VerifyCMSSignatureRequest buildPDFRequest(VerifyPDFSignatureRequest verifyPDFSignatureRequest)
- throws MOAApplicationException {
- Date dateTime = null;
- if (verifyPDFSignatureRequest.getDateTime() != null) {
- dateTime = verifyPDFSignatureRequest.getDateTime().toGregorianCalendar().getTime();
- }
-
- int[] signatories = parseSignatories(verifyPDFSignatureRequest);
-
- String trustProfileID = null;
-
- if (verifyPDFSignatureRequest.getTrustProfileID() != null) {
- trustProfileID = verifyPDFSignatureRequest.getTrustProfileID();
- }
-
- InputStream cmsSignature = new ByteArrayInputStream(verifyPDFSignatureRequest.getPDFSignature());
-
- return factory.createVerifyCMSSignatureRequest(signatories, dateTime, cmsSignature, null, trustProfileID, true);
- }
-
- @Override
- public VerifyPDFSignatureResponseType buildPDFResponse(VerifyCMSSignatureResponse response)
- throws MOAApplicationException {
- VerifyPDFSignatureResponseType verifyPDFSignatureResponseType = new VerifyPDFSignatureResponseType();
-
- Iterator iter;
-
- for (iter = response.getResponseElements().iterator(); iter.hasNext();) {
- VerifyCMSSignatureResponseElement responseElement = (VerifyCMSSignatureResponseElement) iter.next();
- addResponseElement(verifyPDFSignatureResponseType, responseElement);
- }
-
- return verifyPDFSignatureResponseType;
- }
-
-}