aboutsummaryrefslogtreecommitdiff
path: root/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/TSLEvaluationContext.java
diff options
context:
space:
mode:
Diffstat (limited to 'moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/TSLEvaluationContext.java')
-rw-r--r--moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/TSLEvaluationContext.java134
1 files changed, 0 insertions, 134 deletions
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/TSLEvaluationContext.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/TSLEvaluationContext.java
deleted file mode 100644
index f0723a1..0000000
--- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/tsl/utils/TSLEvaluationContext.java
+++ /dev/null
@@ -1,134 +0,0 @@
-package at.gv.egovernment.moa.spss.tsl.utils;
-
-import iaik.util.logging.Log.MultiThreadLoggingGroup;
-import iaik.util.logging.Log;
-import iaik.util.logging.GeneralLog;
-import iaik.xml.crypto.tsl.BaseClass;
-import iaik.xml.crypto.tsl.SIEExtensionChecker;
-import iaik.xml.crypto.tsl.constants.Countries;
-import iaik.xml.crypto.tsl.ex.TSLSIEExtensionException;
-import iaik.xml.crypto.tsl.ex.SeverityAspect.Mitigation;
-import iaik.xml.crypto.tsl.sie.gen.CriteriaListType;
-import iaik.xml.crypto.tsl.sie.gen.KeyUsageBitType;
-import iaik.xml.crypto.tsl.sie.gen.KeyUsageType;
-import iaik.xml.crypto.tsl.sie.gen.ObjectFactory;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-public final class TSLEvaluationContext extends iaik.xml.crypto.tsl.TSLEvaluationContext {
-
- public TSLEvaluationContext(
- String workingdirectory,
- boolean sqlMultithreaded,
- boolean throwExceptions,
- boolean logExceptions,
- boolean throwWarnings,
- boolean logWarnings) {
- super(workingdirectory,
- sqlMultithreaded,
- throwExceptions,
- logExceptions,
- throwWarnings,
- logWarnings);
- }
-
- @Override
- public Object throwException(Throwable e, Method enclosingMethod,
- Object thisObject, Object[] parameters) {
-
- if (e instanceof TSLSIEExtensionException
- && e.getMessage() == TSLSIEExtensionException.NO_KEYUSEAGE_NOR_POLICYSET) {
-
- CriteriaListType criteriaList = (CriteriaListType) parameters[1];
-
- GeneralLog.warn(criteriaList.getDescription());
-
- String description = criteriaList.getDescription();
- if (description
- .trim()
- .equals(
- "This service issues qualified certificates for e-signing and "
- + "e-authentication within the same process. The Relaying Party shall "
- + "make distinction by inspection of keyUsage field contents - "
- + "e-signature certificates have non-repudation bit set exclusively.")) {
- criteriaList.setAssert(SIEExtensionChecker.Asssert.all.toString());
-
- ObjectFactory of = new ObjectFactory();
- KeyUsageType ku = of.createKeyUsageType();
- KeyUsageBitType kb = of.createKeyUsageBitType();
- kb.setName(SIEExtensionChecker.KeyUseageBit.nonRepudiation
- .toString());
- kb.setValue(true);
- ku.getKeyUsageBit().add(kb);
- criteriaList.getKeyUsage().add(ku);
-
- Object mitigatedResult = null;
- try {
- mitigatedResult = enclosingMethod.invoke(thisObject, parameters);
-
- } catch (IllegalAccessException e1) {
- wrapException(e1);
- } catch (InvocationTargetException e1) {
- wrapException(e1);
- }
-
- if (mitigatedResult != null) {
- wrapException(e, criteriaList.sourceLocation(), new Mitigation() {
- @Override
- public String getReport() {
- return "Fixed invalid criteria list";
- }
- });
- return mitigatedResult;
- }
-
- }
- }
- return super.throwException(e, enclosingMethod, thisObject, parameters);
- }
-
- @Override
- protected long howLongWaitForThreads() {
- return 10000;
- }
-
- @Override
- protected BaseClass getCurrentBaseClass() {
- //TODO check whether we can avoid by redesign to focus this only on import
- return null;
- }
-
- @Override
- public boolean normalizeXML() {
- return true;
- }
-
- public Countries getExpectedTerritory() {
- return null;
- }
-
- public MultiThreadLoggingGroup getLoggingGroup() {
- return this;
- }
-
- StringBuffer log = new StringBuffer();
-
- public void flushLog() {
- if (log != null && log.length() > 0) {
- synchronized (System.out) {
- Thread currentThread = Thread.currentThread();
- print("# # # " + getHint() + " Thread: "
- + currentThread.getName() + "(" + currentThread.getId()
- + ") collected logs - BEGIN # # #\n" + log.toString() + "# # # "
- + getHint() + " Thread: " + currentThread.getName()
- + "(" + currentThread.getId() + ") collected logs - END # # #\n");
- }
- log = null;
- }
- }
-
- public void print(Object msg) {
- Log.print(msg);
- }
-} \ No newline at end of file