aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/moa/MOAHelper.java
diff options
context:
space:
mode:
authorferbas <ferbas@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c>2009-10-27 11:14:26 +0000
committerferbas <ferbas@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c>2009-10-27 11:14:26 +0000
commitc623dc5a78e03c5f944efb4cb8d628797a1c215f (patch)
treea91d0b0b44681647340ed39b90c9023b20cdd1a2 /src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/moa/MOAHelper.java
parent6d231f9014712a3b66b876b2a6ae7bc0ed32cb75 (diff)
downloadpdf-as-3-c623dc5a78e03c5f944efb4cb8d628797a1c215f.tar.gz
pdf-as-3-c623dc5a78e03c5f944efb4cb8d628797a1c215f.tar.bz2
pdf-as-3-c623dc5a78e03c5f944efb4cb8d628797a1c215f.zip
added support for dynamic algorithm suites / acos04
git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@363 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c
Diffstat (limited to 'src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/moa/MOAHelper.java')
-rw-r--r--src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/moa/MOAHelper.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/moa/MOAHelper.java b/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/moa/MOAHelper.java
index e05d55c..6b209a2 100644
--- a/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/moa/MOAHelper.java
+++ b/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/moa/MOAHelper.java
@@ -15,9 +15,11 @@ import java.util.regex.Pattern;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import at.gv.egiz.pdfas.algorithmSuite.AlgorithmSuiteUtil;
import at.knowcenter.wag.egov.egiz.exceptions.ConnectorException;
import at.knowcenter.wag.egov.egiz.sig.SignatureObject;
import at.knowcenter.wag.egov.egiz.sig.X509Cert;
+import at.knowcenter.wag.egov.egiz.sig.connectors.ConnectorEnvironment;
import at.knowcenter.wag.egov.egiz.sig.connectors.bku.BKUHelper;
import at.knowcenter.wag.egov.egiz.sig.connectors.bku.SignSignatureObject;
import at.knowcenter.wag.egov.egiz.sig.sigid.IdFormatter;
@@ -52,7 +54,7 @@ public class MOAHelper
* @see CodingHelper
* @see X509Cert
*/
- public static SignSignatureObject parseCreateXMLResponse(String xmlResponse, IdFormatter id_formatter) throws ConnectorException
+ public static SignSignatureObject parseCreateXMLResponse(String xmlResponse, IdFormatter id_formatter, ConnectorEnvironment environment) throws ConnectorException
{
Pattern sig_val_p_s = Pattern.compile("<[\\w]*:?SignatureValue>"); //$NON-NLS-1$
Pattern sig_val_p_e = Pattern.compile("</[\\w]*:?SignatureValue>"); //$NON-NLS-1$
@@ -182,7 +184,16 @@ public class MOAHelper
so.signatureValue = sig_val;
so.x509Certificate = cert;
- so.id = id_formatter.formatIds(null);
+ String algs = AlgorithmSuiteUtil.extractAlgorithmSuiteString(xmlResponse);
+
+ String defaultCertAlg = environment.getDefaultAlgForCert(cert);
+
+ if (AlgorithmSuiteUtil.isDefaultCertAlg(algs, defaultCertAlg)) {
+ // do not embed default alg
+ algs = null;
+ }
+
+ so.id = id_formatter.formatIds(null, algs);
return so;
}