Class MessageReplayCheckerImpl
java.lang.Object
se.swedenconnect.opensaml.saml2.response.replay.MessageReplayCheckerImpl
- All Implemented Interfaces:
MessageReplayChecker
Message replay checker implementation using OpenSAML's
ReplayCache as an underlying cache.- Author:
- Martin Lindström (martin.lindstrom@litsec.se)
-
Constructor Summary
ConstructorsConstructorDescriptionMessageReplayCheckerImpl(ReplayCache replayCache, String replayCacheName) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoidcheckReplay(String id) Checks if the supplied message ID already has been processed within the time the replay checker keeps the processed items in its cache.voidcheckReplay(SAMLObject object) Checks if the supplied message contains an ID that already has been processed within the time the replay checker keeps the processed items in its cache.voidsetReplayCache(ReplayCache replayCache) Assigns the replay cache to use when checking against replay attacks.voidsetReplayCacheExpiration(long replayCacheExpiration) Assigns the number of milliseconds each stored ID should be kept in the cache.voidsetReplayCacheName(String replayCacheName) Assigns the name of the replay cache.
-
Constructor Details
-
MessageReplayCheckerImpl
Constructor.- Parameters:
replayCache- the OpenSAMLReplayCacheobject to usereplayCacheName- the name of the replay cache
-
-
Method Details
-
checkReplay
Checks if the supplied message ID already has been processed within the time the replay checker keeps the processed items in its cache.- Specified by:
checkReplayin interfaceMessageReplayChecker- Parameters:
id- the message ID- Throws:
MessageReplayException- if there is a replay attack
-
checkReplay
Checks if the supplied message contains an ID that already has been processed within the time the replay checker keeps the processed items in its cache.- Specified by:
checkReplayin interfaceMessageReplayChecker- Parameters:
object- the SAML message object- Throws:
MessageReplayException- if there is a replay attackIllegalArgumentException- if the supplied object is not supported by the checker
-
setReplayCache
Assigns the replay cache to use when checking against replay attacks.- Parameters:
replayCache- the cache
-
setReplayCacheName
Assigns the name of the replay cache.- Parameters:
replayCacheName- the name
-
setReplayCacheExpiration
public void setReplayCacheExpiration(long replayCacheExpiration) Assigns the number of milliseconds each stored ID should be kept in the cache. The default is 5 minutes.- Parameters:
replayCacheExpiration- number of millis
-