aboutsummaryrefslogtreecommitdiff
path: root/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/MOAMetadataProvider.java
diff options
context:
space:
mode:
authorThomas Lenz <tlenz@iaik.tugraz.at>2016-10-21 10:21:15 +0200
committerThomas Lenz <tlenz@iaik.tugraz.at>2016-10-21 10:21:15 +0200
commit7720eee7787b2149b36ac76da1b64e416e16d07c (patch)
tree3449005fee14728dafdf11e8c2125f095762565e /id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/MOAMetadataProvider.java
parent6e044fe2eff937e5a4d975005def49ee2e9a06d0 (diff)
downloadmoa-id-spss-7720eee7787b2149b36ac76da1b64e416e16d07c.tar.gz
moa-id-spss-7720eee7787b2149b36ac76da1b64e416e16d07c.tar.bz2
moa-id-spss-7720eee7787b2149b36ac76da1b64e416e16d07c.zip
update SSL certificate revocation-checking method-order if the IAIK_PKI module is used
Diffstat (limited to 'id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/MOAMetadataProvider.java')
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/MOAMetadataProvider.java18
1 files changed, 16 insertions, 2 deletions
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/MOAMetadataProvider.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/MOAMetadataProvider.java
index 19adfe4c4..dc024e695 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/MOAMetadataProvider.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/metadata/MOAMetadataProvider.java
@@ -31,6 +31,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.Timer;
import javax.xml.namespace.QName;
@@ -68,6 +69,7 @@ public class MOAMetadataProvider extends SimpleMOAMetadataProvider
// private static MOAMetadataProvider instance = null;
MetadataProvider internalProvider = null;
+ private Timer timer = null;
private static Object mutex = new Object();
//private Map<String, Date> lastAccess = null;
@@ -163,10 +165,14 @@ public class MOAMetadataProvider extends SimpleMOAMetadataProvider
byte[] cert = Base64Utils.decode(certBase64, false);
String oaFriendlyName = oaParam.getFriendlyName();
+ if (timer == null)
+ timer = new Timer(true);
+
ChainingMetadataProvider chainProvider = (ChainingMetadataProvider) internalProvider;
HTTPMetadataProvider newMetadataProvider = createNewHTTPMetaDataProvider(metadataURL,
buildMetadataFilterChain(oaParam, metadataURL, cert),
- oaFriendlyName);
+ oaFriendlyName,
+ timer);
chainProvider.addMetadataProvider(newMetadataProvider);
@@ -374,6 +380,10 @@ public class MOAMetadataProvider extends SimpleMOAMetadataProvider
}
internalProvider = new ChainingMetadataProvider();
+
+ if (timer != null)
+ timer.cancel();
+
} else {
Logger.warn("ReInitalize MOAMetaDataProvider is not possible! MOA-ID Instance has to be restarted manualy");
}
@@ -414,12 +424,16 @@ public class MOAMetadataProvider extends SimpleMOAMetadataProvider
byte[] cert = Base64Utils.decode(certBase64, false);
+ if (timer == null)
+ timer = new Timer(true);
+
Logger.info("Loading metadata for: " + oaFriendlyName);
if (!providersinuse.containsKey(metadataurl)) {
httpProvider = createNewHTTPMetaDataProvider(
metadataurl,
buildMetadataFilterChain(oaParam, metadataurl, cert),
- oaFriendlyName);
+ oaFriendlyName,
+ timer);
if (httpProvider != null)
providersinuse.put(metadataurl, httpProvider);