aboutsummaryrefslogtreecommitdiff
path: root/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/XMLVerifySignatureBindingImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/XMLVerifySignatureBindingImpl.java')
-rw-r--r--moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/XMLVerifySignatureBindingImpl.java524
1 files changed, 0 insertions, 524 deletions
diff --git a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/XMLVerifySignatureBindingImpl.java b/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/XMLVerifySignatureBindingImpl.java
deleted file mode 100644
index dcc92f9..0000000
--- a/moaSig/moa-sig/src/main/java/at/gv/egovernment/moa/spss/server/webservice/binding/XMLVerifySignatureBindingImpl.java
+++ /dev/null
@@ -1,524 +0,0 @@
-package at.gv.egovernment.moa.spss.server.webservice.binding;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.math.BigInteger;
-import java.security.cert.CertificateEncodingException;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.security.auth.login.FailedLoginException;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBElement;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.dom.DOMResult;
-
-import org.apache.commons.io.IOUtils;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-import at.gv.egiz.moasig.MoaTransformsType;
-import at.gv.egiz.moasig.NamespaceDeclarationType;
-import at.gv.egiz.moasig.PublicAuthorityType;
-import at.gv.egiz.moasig.QualifiedCertificate;
-import at.gv.egiz.moasig.SecureSignatureCreationDevice;
-import at.gv.egiz.moasig.TransformParameterType;
-import at.gv.egiz.moasig.TransformParameterType.Hash;
-import at.gv.egiz.moasig.VerifyXMLSignatureResponseType;
-import at.gv.egiz.moasig.XMLDataObjectAssociationType;
-import at.gv.egiz.moasig.XMLSignatureLocationType;
-import at.gv.egovernment.moa.spss.MOAApplicationException;
-import at.gv.egovernment.moa.spss.api.SPSSFactory;
-import at.gv.egovernment.moa.spss.api.common.Content;
-import at.gv.egovernment.moa.spss.api.common.ContentBinary;
-import at.gv.egovernment.moa.spss.api.common.ContentXML;
-import at.gv.egovernment.moa.spss.api.common.InputData;
-import at.gv.egovernment.moa.spss.api.common.XMLDataObjectAssociation;
-import at.gv.egovernment.moa.spss.api.xmlverify.AdESFormResults;
-import at.gv.egovernment.moa.spss.api.xmlverify.ReferenceInfo;
-import at.gv.egovernment.moa.spss.api.xmlverify.SignatureManifestCheckParams;
-import at.gv.egovernment.moa.spss.api.xmlverify.SupplementProfile;
-import at.gv.egovernment.moa.spss.api.xmlverify.TransformParameter;
-import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureInfo;
-import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation;
-import at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfile;
-import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest;
-import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse;
-import at.gv.egovernment.moa.spss.server.webservice.XMLVerifySignatureBinding;
-import at.gv.egovernment.moaspss.util.DOMUtils;
-import iaik.utils.RFC2253NameParser;
-import iaik.utils.RFC2253NameParserException;
-
-public class XMLVerifySignatureBindingImpl implements XMLVerifySignatureBinding {
-
- /** The <code>SPSSFactory</code> for creating new API objects. */
- private SPSSFactory factory = SPSSFactory.getInstance();
-
- private TransformerUtils transformerUtils = new TransformerUtils();
-
- private TransformParser transformParser = new TransformParser();
-
- @Override
- public VerifyXMLSignatureRequest buildXMLRequest(
- at.gv.egiz.moasig.VerifyXMLSignatureRequest verifyXMLSignatureRequest) throws MOAApplicationException {
- Date dateTime = null;
- if (verifyXMLSignatureRequest.getDateTime() != null) {
- dateTime = verifyXMLSignatureRequest.getDateTime().toGregorianCalendar().getTime();
- }
- boolean returnHashInputData = false;
- returnHashInputData = (verifyXMLSignatureRequest.getReturnHashInputData() != null);
- String trustProfileID = verifyXMLSignatureRequest.getTrustProfileID();
- VerifySignatureInfo verifySignatureInfo = parseVerifySignatureInfo(
- verifyXMLSignatureRequest.getVerifySignatureInfo());
- List supplementProfiles = parseSupplementProfiles(verifyXMLSignatureRequest);
-
- SignatureManifestCheckParams signatureManifestCheckParams = this
- .parseSignatureManifestCheckParams(verifyXMLSignatureRequest.getSignatureManifestCheckParams());
- return factory.createVerifyXMLSignatureRequest(dateTime, verifySignatureInfo, supplementProfiles,
- signatureManifestCheckParams, returnHashInputData, trustProfileID);
- }
-
- @Override
- public VerifyXMLSignatureResponseType buildXMLResponse(VerifyXMLSignatureResponse response)
- throws MOAApplicationException {
- VerifyXMLSignatureResponseType verifyXMLSignatureResponseType = new VerifyXMLSignatureResponseType();
-
- verifyXMLSignatureResponseType.setSignerInfo(this.transformerUtils.buildSignerInfo(response.getSignerInfo()));
-
- if (response.getHashInputDatas() != null && !response.getHashInputDatas().isEmpty()) {
- for (Iterator iter = response.getHashInputDatas().iterator(); iter.hasNext();) {
- InputData inputData = (InputData) iter.next();
- verifyXMLSignatureResponseType.getHashInputData().add(buildInputData(inputData));
- }
- }
-
- if (response.getReferenceInputDatas() != null && !response.getReferenceInputDatas().isEmpty()) {
- for (Iterator iter = response.getReferenceInputDatas().iterator(); iter.hasNext();) {
- InputData inputData = (InputData) iter.next();
- verifyXMLSignatureResponseType.getReferenceInputData().add(buildInputData(inputData));
- }
- }
-
- // add the SignatureCheck
- verifyXMLSignatureResponseType.setSignatureCheck(buildReferencesCheckResult(response.getSignatureCheck()));
-
- // add the SignatureManifestCheck
- if (response.getSignatureManifestCheck() != null) {
- verifyXMLSignatureResponseType.setSignatureManifestCheck(buildReferencesCheckResult(response.getSignatureManifestCheck()));
- }
-
- // add the XMLDsigManifestChecks
- if(response.getXMLDsigManifestChecks() != null) {
- List xmlDsigManifestChecks = response.getXMLDsigManifestChecks();
- Iterator iter = xmlDsigManifestChecks.iterator();
- while(iter.hasNext()) {
- Object xmlDsigManifestCheck = iter.next();
- verifyXMLSignatureResponseType.getXMLDSIGManifestCheck().add(
- buildManifestCheckResult((at.gv.egovernment.moa.spss.api.xmlverify.ManifestRefsCheckResult)
- xmlDsigManifestCheck));
- }
- }
-
- // add the CertificateCheck
- verifyXMLSignatureResponseType.setCertificateCheck(this.transformerUtils.buildCheckResult(response.getCertificateCheck()));
-
- if(response.getAdESFormResults() != null) {
- Iterator formIterator = response.getAdESFormResults().iterator();
-
- while(formIterator.hasNext()) {
- AdESFormResults adESFormResult = (AdESFormResults)formIterator.next();
- verifyXMLSignatureResponseType.getFormCheckResult().add(
- buildFormResult(adESFormResult));
- }
-
- }
-
- return verifyXMLSignatureResponseType;
- }
-
- private at.gv.egiz.moasig.InputDataType buildInputData(InputData inputData) throws MOAApplicationException {
- at.gv.egiz.moasig.InputDataType inputDataType = new at.gv.egiz.moasig.InputDataType();
- inputDataType.setPartOf(inputData.getPartOf());
-
- if(inputData.getReferringReferenceNumber() != InputData.REFERER_NONE_) {
- inputDataType.setReferringSigReference(BigInteger.valueOf(inputData.getReferringReferenceNumber()));
- }
-
- switch(inputData.getContentType()) {
- case Content.XML_CONTENT:
- ContentXML contentXml = (ContentXML) inputData;
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- try {
- iaik.xml.crypto.utils.DOMUtils.serialize(DOMUtils.nodeList2DocumentFragment(
- contentXml.getXMLContent()).getOwnerDocument(),
- baos);
- inputDataType.setBase64Content(baos.toByteArray());
- } catch (TransformerException e) {
- throw new MOAApplicationException("2200", null, e);
- } catch (ParserConfigurationException e) {
- throw new MOAApplicationException("2200", null, e);
- }
-
- break;
- case Content.BINARY_CONTENT:
- ContentBinary contentBinary = (ContentBinary) inputData;
- try {
- inputDataType.setBase64Content(IOUtils.toByteArray(contentBinary.getBinaryContent()));
- } catch (IOException e) {
- throw new MOAApplicationException("2200", null, e);
- }
- break;
- }
- return inputDataType;
- }
-
- private at.gv.egiz.moasig.FormResultType buildFormResult(AdESFormResults adESFormResults) {
- at.gv.egiz.moasig.FormResultType formResult = new at.gv.egiz.moasig.FormResultType();
- formResult.setCode(BigInteger.valueOf(adESFormResults.getCode()));
- formResult.setName(adESFormResults.getName());
- return formResult;
- }
-
- private at.gv.egiz.moasig.ManifestRefsCheckResultType buildManifestCheckResult(
- at.gv.egovernment.moa.spss.api.xmlverify.ManifestRefsCheckResult referencesCheckResult) {
- at.gv.egiz.moasig.ManifestRefsCheckResultType referencesCheckResultType = new at.gv.egiz.moasig.ManifestRefsCheckResultType();
-
- if (referencesCheckResult.getInfo() != null) {
- at.gv.egiz.moasig.ObjectFactory of = new at.gv.egiz.moasig.ObjectFactory();
- at.gv.egiz.moasig.AnyChildrenType anyInfos = new at.gv.egiz.moasig.AnyChildrenType();
-
- if (referencesCheckResult.getInfo().getFailedReferences() != null) {
- for (int idx = 0; idx < referencesCheckResult.getInfo().getFailedReferences().length; idx++) {
- anyInfos.getContent().add(of.createFailedReference(
- BigInteger.valueOf(referencesCheckResult.getInfo().getFailedReferences()[idx])));
- }
- }
-
- if (referencesCheckResult.getInfo().getAnyOtherInfo() != null) {
- for (int idx = 0; idx < referencesCheckResult.getInfo().getAnyOtherInfo().getLength(); idx++) {
- Node node = referencesCheckResult.getInfo().getAnyOtherInfo().item(idx);
- if (node instanceof Element) {
- anyInfos.getContent().add((Element) node);
- }
- }
- }
-
- anyInfos.getContent().add(of.createReferringSigReference(
- BigInteger.valueOf(referencesCheckResult.getInfo().getReferringSignatureReference())));
-
- referencesCheckResultType.setInfo(anyInfos);
-
- }
-
- referencesCheckResultType.setCode(BigInteger.valueOf(referencesCheckResult.getCode()));
- return referencesCheckResultType;
- }
-
- private at.gv.egiz.moasig.ReferencesCheckResultType buildReferencesCheckResult(
- at.gv.egovernment.moa.spss.api.xmlverify.ReferencesCheckResult referencesCheckResult) {
- at.gv.egiz.moasig.ReferencesCheckResultType referencesCheckResultType = new at.gv.egiz.moasig.ReferencesCheckResultType();
-
- if (referencesCheckResult.getInfo() != null) {
- at.gv.egiz.moasig.ObjectFactory of = new at.gv.egiz.moasig.ObjectFactory();
- at.gv.egiz.moasig.AnyChildrenType anyInfos = new at.gv.egiz.moasig.AnyChildrenType();
-
- if (referencesCheckResult.getInfo().getFailedReferences() != null) {
- for (int idx = 0; idx < referencesCheckResult.getInfo().getFailedReferences().length; idx++) {
- anyInfos.getContent().add(of.createFailedReference(
- BigInteger.valueOf(referencesCheckResult.getInfo().getFailedReferences()[idx])));
- }
- }
-
- if (referencesCheckResult.getInfo().getAnyOtherInfo() != null) {
- for (int idx = 0; idx < referencesCheckResult.getInfo().getAnyOtherInfo().getLength(); idx++) {
- Node node = referencesCheckResult.getInfo().getAnyOtherInfo().item(idx);
- if (node instanceof Element) {
- anyInfos.getContent().add((Element) node);
- }
- }
- }
-
- referencesCheckResultType.setInfo(anyInfos);
- }
-
- referencesCheckResultType.setCode(BigInteger.valueOf(referencesCheckResult.getCode()));
- return referencesCheckResultType;
- }
-
-
-
- /**
- * Parse the <code>VerifySignatureInfo</code> DOM element contained in the
- * <code>VerifyXMLSignatureRequest</code> DOM element.
- *
- * @param requestElem
- * The <code>VerifyXMLSignatureRequest</code> DOM element
- * containing the <code>VerifySignatureInfo</code> DOM element.
- * @return The <code>VerifySignatureInfo</code> API object containing the
- * data from the DOM element.
- * @throws MOAApplicationException
- */
- private VerifySignatureInfo parseVerifySignatureInfo(
- at.gv.egiz.moasig.VerifyXMLSignatureRequestType.VerifySignatureInfo verifySignatureInfo)
- throws MOAApplicationException {
- Content verifySignatureEnvironment = transformerUtils
- .buildContent(verifySignatureInfo.getVerifySignatureEnvironment());
-
- XMLSignatureLocationType xmlSignatureLocationType = verifySignatureInfo.getVerifySignatureLocation();
-
- String xPathExpression = xmlSignatureLocationType.getXPathExpression();
-
- Iterator<NamespaceDeclarationType> namespaceDelcarationIterator = xmlSignatureLocationType.getNamespaceDeclaration().iterator();
-
- Map namespaceMap = new HashMap();
-
- while(namespaceDelcarationIterator.hasNext()) {
- NamespaceDeclarationType namespaceDelcaration = namespaceDelcarationIterator.next();
-
- String prefix = namespaceDelcaration.getPrefix();
- String namespace = namespaceDelcaration.getValue();
-
- namespaceMap.put(prefix, namespace);
- }
-
- VerifySignatureLocation verifySignatureLocation = factory.createVerifySignatureLocation(xPathExpression,
- namespaceMap);
-
- return factory.createVerifySignatureInfo(verifySignatureEnvironment, verifySignatureLocation);
- }
-
- /**
- * Parse the supplement profiles contained in the given
- * <code>VerifyXMLSignatureRequest</code> DOM element.
- *
- * @param requestElem
- * The <code>VerifyXMLSignatureRequest</code> DOM element.
- * @return A <code>List</code> of <code>SupplementProfile</code> API objects
- * containing the data from the <code>SupplementProfile</code> DOM
- * elements.
- * @throws MOAApplicationException
- */
- private List parseSupplementProfiles(at.gv.egiz.moasig.VerifyXMLSignatureRequest verifyXMLSignatureRequest)
- throws MOAApplicationException {
- List supplementProfiles = new ArrayList();
- List<Object> supplementElements = verifyXMLSignatureRequest.getSupplementProfileOrSupplementProfileID();
- if (supplementElements != null) {
- Iterator<Object> supplementElementsIterator = supplementElements.iterator();
- while (supplementElementsIterator.hasNext()) {
- Object object = supplementElementsIterator.next();
- SupplementProfile profile;
- if (object instanceof XMLDataObjectAssociationType) {
- XMLDataObjectAssociationType xmlDataObjectAssociationType = (XMLDataObjectAssociationType) object;
- profile = parseSupplementProfile(xmlDataObjectAssociationType);
- } else if (object instanceof String) {
- String profileID = (String) object;
- profile = factory.createSupplementProfile(profileID);
- } else {
- throw new MOAApplicationException(
- "Invalid object in moa:SupplementProfile | moa:SupplementProfileID", null);
- }
-
- supplementProfiles.add(profile);
- }
- }
-
- return supplementProfiles;
- }
-
- public SupplementProfile parseSupplementProfile(XMLDataObjectAssociationType xmlDataObjectAssociationType)
- throws MOAApplicationException {
- XMLDataObjectAssociation supplementProfile = this.transformerUtils
- .parseXMLDataObjectAssociation(xmlDataObjectAssociationType);
-
- return factory.createSupplementProfile(supplementProfile);
- }
-
- /**
- * Parse the <code>SignatureManifestCheckParams</code> DOM element contained
- * in the given <code>VerifyXMLSignatureRequest</code> DOM element.
- *
- * @param requestElem
- * The <code>VerifyXMLSignatureRequest</code> DOM element.
- * @return The <code>SignatureManifestCheckParams</code> API object
- * containing the data from the
- * <code>SignatureManifestCheckParams</code> DOM element.
- * @throws MOAApplicationException
- * An error occurred parsing the
- * <code>SignatureManifestCheckParams</code> DOM element.
- */
- private SignatureManifestCheckParams parseSignatureManifestCheckParams(
- at.gv.egiz.moasig.VerifyXMLSignatureRequestType.SignatureManifestCheckParams signatureManifestCheckParams)
- throws MOAApplicationException {
-
- if (signatureManifestCheckParams == null) {
- return null;
- }
-
- boolean returnReferencInputData = signatureManifestCheckParams.isReturnReferenceInputData();
- List<at.gv.egiz.moasig.VerifyTransformsDataType> referenceInfos = signatureManifestCheckParams
- .getReferenceInfo();
- List referenceInfosBuild = parseReferenceInfos(referenceInfos);
-
- return factory.createSignatureManifestCheckParams(referenceInfosBuild, returnReferencInputData);
- }
-
- /**
- * Parse the <code>ReferenceInfo</code> DOM elements contained in a
- * <code>SignatureManifestCheckParams</code> DOM element.
- *
- * @param paramsElem
- * The <code>SignatureManifestCheckParams</code> DOM element
- * containing the <code>ReferenceInfo</code> DOM elements.
- * @return A <code>List</code> of <code>RefernceInfo</code> API objects
- * containing the data from the <code>ReferenceInfo</code> DOM
- * elements.
- * @throws MOAApplicationException
- * An error occurred parsing the <code>ReferenceInfo</code> DOM
- * elements.
- */
- private List parseReferenceInfos(List<at.gv.egiz.moasig.VerifyTransformsDataType> referenceInfosWeb)
- throws MOAApplicationException {
-
- List referenceInfos = new ArrayList();
-
- if (referenceInfosWeb != null) {
-
- Iterator<at.gv.egiz.moasig.VerifyTransformsDataType> referenceInfosIterator = referenceInfosWeb.iterator();
-
- while (referenceInfosIterator.hasNext()) {
- at.gv.egiz.moasig.VerifyTransformsDataType verifyTransformsDataType = referenceInfosIterator.next();
-
- ReferenceInfo referenceInfo = parseReferenceInfo(verifyTransformsDataType);
- referenceInfos.add(referenceInfo);
- }
-
- }
- return referenceInfos;
- }
-
- /**
- * Parse a <code>ReferenceInfo</code> DOM element.
- *
- * @param refInfoElem
- * The <code>ReferenceInfo</code> DOM element to parse.
- * @return The <code>ReferenceInfo</code> API object containing the data
- * from the given <code>ReferenceInfo</code> DOM element.
- * @throws MOAApplicationException
- * An error occurred parsing the <code>ReferenceInfo</code> DOM
- * element.
- */
- private ReferenceInfo parseReferenceInfo(at.gv.egiz.moasig.VerifyTransformsDataType verifyTransformsDataType)
- throws MOAApplicationException {
- List profiles = parseVerifyTransformsInfoProfiles(verifyTransformsDataType);
- return factory.createReferenceInfo(profiles);
- }
-
- /**
- * Parse the <code>VerifyTransformsInfoProfile</code> DOM elements contained
- * in a <code>ReferenceInfo</code> DOM element.
- *
- * @param refInfoElem
- * <code>ReferenceInfo</code> DOM element containing the
- * <code>VerifyTransformsInfoProfile</code> DOM elements.
- * @return A <code>List</code> of <code>VerifyTransformsInfoProfile</code>
- * API objects containing the profile data.
- * @throws MOAApplicationException
- * An error occurred building the
- * <code>VerifyTransformsInfoProfile</code>s.
- */
- private List parseVerifyTransformsInfoProfiles(at.gv.egiz.moasig.VerifyTransformsDataType verifyTransformsDataType)
- throws MOAApplicationException {
-
- List profiles = new ArrayList();
-
- List<Object> transformsList = verifyTransformsDataType
- .getVerifyTransformsInfoProfileOrVerifyTransformsInfoProfileID();
- Iterator<Object> transformsListIterator = transformsList.iterator();
-
- while (transformsListIterator.hasNext()) {
- Object object = transformsListIterator.next();
-
- if (object instanceof at.gv.egiz.moasig.VerifyTransformsInfoProfile) {
- at.gv.egiz.moasig.VerifyTransformsInfoProfile verifyTransformsInfoProfile = (at.gv.egiz.moasig.VerifyTransformsInfoProfile) object;
- } else if (object instanceof String) {
- String profileID = (String) object;
- profiles.add(factory.createVerifyTransformsInfoProfile(profileID));
- } else {
- throw new MOAApplicationException("Invalid object in VerifyTransformsData", null);
- }
- }
- return profiles;
- }
-
- /**
- * Parse a <code>VerifyTransformsInfoProfile</code> DOM element.
- *
- * @param profileElem
- * The <code>VerifyTransformsInfoProfile</code> DOM element to
- * parse.
- * @return A <code>VerifyTransformsInfoProfile</code> API object containing
- * the information from the <code>VerifyTransformsInfoProfile</code>
- * DOM element.
- * @throws MOAApplicationException
- * An error occurred parsing the
- * <code>VerifyTransformsInfoProfile</code>.
- */
- public VerifyTransformsInfoProfile parseVerifyTransformsInfoProfile(
- at.gv.egiz.moasig.VerifyTransformsInfoProfile verifyTransformsInfoProfile) throws MOAApplicationException {
- List transforms = null;
- List transformParameters = new ArrayList();
- List<TransformParameterType> transformParams = verifyTransformsInfoProfile.getTransformParameter();
- Iterator<TransformParameterType> transformParamIterator = transformParams.iterator();
-
- MoaTransformsType moaTransforms = verifyTransformsInfoProfile.getMoaTransforms();
-
- if (moaTransforms != null) {
- transforms = transformParser.parseTransforms(moaTransforms);
- }
-
- while (transformParamIterator.hasNext()) {
- TransformParameterType transformParameter = transformParamIterator.next();
- transformParameters.add(parseTransformParameter(transformParameter));
- }
-
- return factory.createVerifyTransformsInfoProfile(transforms, transformParameters);
- }
-
- /**
- * Parse a <code>TransformParameter</code> DOM element.
- *
- * @param paramElem
- * The <code>TransformParameter</code> DOM element to parse.
- * @return The <code>TransformParameter</code> API object containing the
- * information from the <code>TransformParameter</code> DOM element.
- * @throws MOAApplicationException
- * An error occurred parsing the <code>TransformParameter</code>
- * DOM element.
- */
- private TransformParameter parseTransformParameter(TransformParameterType transformParameter)
- throws MOAApplicationException {
- String uri = transformParameter.getURI();
- if (transformParameter.getBase64Content() != null) {
- InputStream binaryContent = new ByteArrayInputStream(transformParameter.getBase64Content());
- return factory.createTransformParameter(uri, binaryContent);
- } else if (transformParameter.getHash() != null) {
- Hash hash = transformParameter.getHash();
- String digestMethodStr = "";
-
- if (hash.getDigestMethod() != null) {
- digestMethodStr = hash.getDigestMethod().getAlgorithm();
- }
- byte[] digestValue = hash.getDigestValue();
- return factory.createTransformParameter(uri, digestMethodStr, digestValue);
- } else {
- return factory.createTransformParameter(uri);
- }
- }
-}