diff options
Diffstat (limited to 'moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSParserUtils.java')
-rw-r--r-- | moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSParserUtils.java | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSParserUtils.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSParserUtils.java deleted file mode 100644 index 3bfe2f5..0000000 --- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/CMSParserUtils.java +++ /dev/null @@ -1,141 +0,0 @@ -package at.gv.egovernment.moa.spss.server.webservice.binding; - -import java.io.IOException; -import java.math.BigInteger; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.cmssign.CMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.cmssign.DataObjectInfo; -import at.gv.egovernment.moa.spss.api.cmssign.SingleSignatureInfo; -import at.gv.egovernment.moa.spss.api.cmsverify.CMSDataObject; -import at.gv.egovernment.moa.spss.api.xmlsign.ErrorResponse; -import at.gv.egovernment.moaspss.util.Base64Utils; - -public class CMSParserUtils { - - private TransformerUtils transformerUtils = new TransformerUtils(); - - /** The factory to create API objects. */ - private SPSSFactory factory; - - public CMSParserUtils() { - this.factory = SPSSFactory.getInstance(); - } - - /** - * Add a <code>CMSSignature</code> element to the response. - * - * @param cmsSignatureResponse - * The content to put under the <code>CMSSignature</code> - * element. - * @throws IOException - */ - public byte[] addCMSSignature(CMSSignatureResponse cmsSignatureResponse) throws MOAApplicationException { - String base64Value = cmsSignatureResponse.getCMSSignature(); - - try { - return Base64Utils.decode(base64Value, true); - } catch (IOException e) { - throw new MOAApplicationException("Base64 decoding failed", null); - } - } - - /** - * Add a <code>ErrorResponse</code> element to the response. - * - * @param errorResponse - * The API object containing the information to put into the - * <code>ErrorResponse</code> DOM element. - */ - public at.gv.egiz.moasig.ErrorResponseType addErrorResponse(ErrorResponse errorResponse) { - at.gv.egiz.moasig.ErrorResponseType errorResponseType = new at.gv.egiz.moasig.ErrorResponseType(); - - errorResponseType.setErrorCode(BigInteger.valueOf(errorResponse.getErrorCode())); - errorResponseType.setInfo(errorResponse.getInfo()); - - return errorResponseType; - } - - /** - * Parse all <code>SingleSignatureInfo</code> elements of the - * <code>CreateCMSSignatureRequest</code>. - * - * @param requestElem - * The <code>CreateCMSSignatureRequest</code> to parse. - * @return A <code>List</code> of <code>SingleSignatureInfo</code> API - * objects. - * @throws MOAApplicationException - * An error occurred parsing on of the - * <code>SingleSignatureInfo</code> elements. - */ - public List parseSingleSignatureInfos( - List<at.gv.egiz.moasig.CreateCMSSignatureRequestType.SingleSignatureInfo> singleInfos) - throws MOAApplicationException { - - List singleSignatureInfos = new ArrayList(); - - Iterator<at.gv.egiz.moasig.CreateCMSSignatureRequestType.SingleSignatureInfo> singleInfoIterator = singleInfos - .iterator(); - - while (singleInfoIterator.hasNext()) { - at.gv.egiz.moasig.CreateCMSSignatureRequestType.SingleSignatureInfo singleSignatureInfo = singleInfoIterator - .next(); - - singleSignatureInfos.add(parseSingleSignatureInfo(singleSignatureInfo)); - } - - return singleSignatureInfos; - } - - /** - * Parse a <code>SingleSignatureInfo</code> DOM element. - * - * @param sigInfoElem - * The <code>SingleSignatureInfo</code> DOM element to parse. - * @return A <code>SingleSignatureInfo</code> API object containing the - * information of <code>sigInfoElem</code>. - * @throws MOAApplicationException - * An error occurred parsing the - * <code>SingleSignatureInfo</code>. - */ - public SingleSignatureInfo parseSingleSignatureInfo( - at.gv.egiz.moasig.CreateCMSSignatureRequestType.SingleSignatureInfo singleSignatureInfo) - throws MOAApplicationException { - - DataObjectInfo dataObjectInfo = parseDataObjectInfo(singleSignatureInfo.getDataObjectInfo()); - boolean securityLayerConform = singleSignatureInfo.isSecurityLayerConformity(); - - return factory.createSingleSignatureInfoCMS(dataObjectInfo, securityLayerConform); - } - - /** - * Parse the <code>DataObjectInfo</code> DOM elements contained in the given - * <code>SingleSignatureInfo</code> DOM element. - * - * @param sigInfoElem - * The <code>SingleSignatureInfo</code> DOM element whose - * <code>DataObjectInfo</code>s to parse. - * @return A <code>List</code> of <code>DataObjectInfo</code> API objects - * containing the data from the <code>DataObjectInfo</code> DOM - * elements. - * @throws MOAApplicationException - * An error occurred parsing one of the - * <code>DataObjectInfo</code>s. - */ - public DataObjectInfo parseDataObjectInfo( - at.gv.egiz.moasig.CreateCMSSignatureRequestType.SingleSignatureInfo.DataObjectInfo dataObjectInfo) - throws MOAApplicationException { - - String structure = dataObjectInfo.getStructure(); - - CMSDataObject dataObject = this.transformerUtils.parseDataObject(dataObjectInfo.getDataObject()); - - return factory.createDataObjectInfo(structure, dataObject); - - } - -} |