diff options
Diffstat (limited to 'pdf-as-moa/src/main/java')
-rw-r--r-- | pdf-as-moa/src/main/java/at/gv/egiz/pdfas/moa/MOAConnector.java | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/pdf-as-moa/src/main/java/at/gv/egiz/pdfas/moa/MOAConnector.java b/pdf-as-moa/src/main/java/at/gv/egiz/pdfas/moa/MOAConnector.java index 5f3d9cb8..a6cbcd72 100644 --- a/pdf-as-moa/src/main/java/at/gv/egiz/pdfas/moa/MOAConnector.java +++ b/pdf-as-moa/src/main/java/at/gv/egiz/pdfas/moa/MOAConnector.java @@ -23,6 +23,7 @@ ******************************************************************************/ package at.gv.egiz.pdfas.moa; +import at.gv.e_government.reference.namespace.moa._20020822.*; import iaik.x509.X509Certificate; import java.io.File; @@ -32,6 +33,9 @@ import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.security.cert.CertificateException; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; import javax.xml.ws.BindingProvider; @@ -39,14 +43,9 @@ import org.apache.commons.codec.binary.Base64; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import at.gv.e_government.reference.namespace.moa._20020822.CMSContentBaseType; import at.gv.e_government.reference.namespace.moa._20020822.CMSDataObjectInfoType.DataObject; -import at.gv.e_government.reference.namespace.moa._20020822.CreateCMSSignatureRequest; import at.gv.e_government.reference.namespace.moa._20020822.CreateCMSSignatureRequestType.SingleSignatureInfo; import at.gv.e_government.reference.namespace.moa._20020822.CreateCMSSignatureRequestType.SingleSignatureInfo.DataObjectInfo; -import at.gv.e_government.reference.namespace.moa._20020822.CreateCMSSignatureResponseType; -import at.gv.e_government.reference.namespace.moa._20020822.ErrorResponseType; -import at.gv.e_government.reference.namespace.moa._20020822.MetaInfoType; import at.gv.e_government.reference.namespace.moa._20020822_.MOAFault; import at.gv.e_government.reference.namespace.moa._20020822_.SignatureCreationPortType; import at.gv.e_government.reference.namespace.moa._20020822_.SignatureCreationService; @@ -80,6 +79,7 @@ public class MOAConnector implements ISignatureConnector, private String moaEndpoint; private String keyIdentifier; + public MOAConnector(Configuration config, java.security.cert.Certificate certificate) throws CertificateException, FileNotFoundException, IOException { @@ -161,6 +161,7 @@ public class MOAConnector implements ISignatureConnector, return this.certificate; } + public byte[] sign(byte[] input, int[] byteRange, SignParameter parameter, RequestedSignature requestedSignature) throws PdfAsException { @@ -187,8 +188,23 @@ public class MOAConnector implements ISignatureConnector, DataObject dataObject = new DataObject(); MetaInfoType metaInfoType = new MetaInfoType(); - metaInfoType.setMimeType("application/pdf"); + if (parameter.getConfiguration().hasValue(IConfigurationConstants.SIG_PADES_FORCE_FLAG)) + { + if (IConfigurationConstants.TRUE.equalsIgnoreCase(parameter.getConfiguration().getValue(IConfigurationConstants.SIG_PADES_FORCE_FLAG))) + { + metaInfoType.setMimeType("application/pdf"); + sigInfo.setPAdESConformity(true); + } + else + { + metaInfoType.setMimeType("application/pdf"); + } + } + else + { + metaInfoType.setMimeType("application/pdf"); + } dataObject.setMetaInfo(metaInfoType); CMSContentBaseType content = new CMSContentBaseType(); |