diff options
Diffstat (limited to 'pdf-as-moa/src/main/java/at/gv/egiz')
| -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(); | 
