summaryrefslogtreecommitdiff
path: root/eaaf_modules/eaaf_module_pvp2_core/src/main/java/at/gv/egiz/eaaf/modules/pvp2/impl/validation/SignatureTrustEngineDecorator.java
diff options
context:
space:
mode:
authorThomas Lenz <thomas.lenz@egiz.gv.at>2021-01-25 19:03:25 +0100
committerThomas Lenz <thomas.lenz@egiz.gv.at>2021-01-25 19:03:38 +0100
commitb3caa532978b6337b6015b08c17ec0466d6f9670 (patch)
treef8f4c1e6ee4395bd99e4cc59f7f00411d037b74f /eaaf_modules/eaaf_module_pvp2_core/src/main/java/at/gv/egiz/eaaf/modules/pvp2/impl/validation/SignatureTrustEngineDecorator.java
parent6116a5aeea9fbf519c6f28fd17c65007cd0cbf64 (diff)
downloadEAAF-Components-b3caa532978b6337b6015b08c17ec0466d6f9670.tar.gz
EAAF-Components-b3caa532978b6337b6015b08c17ec0466d6f9670.tar.bz2
EAAF-Components-b3caa532978b6337b6015b08c17ec0466d6f9670.zip
refactor PVP2 IDP module to support more than one IPvpMetadataProvider in one application
Diffstat (limited to 'eaaf_modules/eaaf_module_pvp2_core/src/main/java/at/gv/egiz/eaaf/modules/pvp2/impl/validation/SignatureTrustEngineDecorator.java')
-rw-r--r--eaaf_modules/eaaf_module_pvp2_core/src/main/java/at/gv/egiz/eaaf/modules/pvp2/impl/validation/SignatureTrustEngineDecorator.java41
1 files changed, 41 insertions, 0 deletions
diff --git a/eaaf_modules/eaaf_module_pvp2_core/src/main/java/at/gv/egiz/eaaf/modules/pvp2/impl/validation/SignatureTrustEngineDecorator.java b/eaaf_modules/eaaf_module_pvp2_core/src/main/java/at/gv/egiz/eaaf/modules/pvp2/impl/validation/SignatureTrustEngineDecorator.java
new file mode 100644
index 00000000..66393bb4
--- /dev/null
+++ b/eaaf_modules/eaaf_module_pvp2_core/src/main/java/at/gv/egiz/eaaf/modules/pvp2/impl/validation/SignatureTrustEngineDecorator.java
@@ -0,0 +1,41 @@
+package at.gv.egiz.eaaf.modules.pvp2.impl.validation;
+
+import org.opensaml.security.SecurityException;
+import org.opensaml.security.credential.Credential;
+import org.opensaml.xmlsec.keyinfo.KeyInfoCredentialResolver;
+import org.opensaml.xmlsec.signature.Signature;
+import org.opensaml.xmlsec.signature.support.SignatureTrustEngine;
+
+import at.gv.egiz.eaaf.modules.pvp2.api.metadata.IPvp2MetadataProvider;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
+
+@AllArgsConstructor
+public class SignatureTrustEngineDecorator implements SignatureTrustEngine {
+
+ private SignatureTrustEngine trustEngine;
+
+ @Getter
+ private IPvp2MetadataProvider metadataProvider;
+
+ @Override
+ public boolean validate(Signature token, CriteriaSet trustBasisCriteria) throws SecurityException {
+ return trustEngine.validate(token, trustBasisCriteria);
+
+ }
+
+ @Override
+ public boolean validate(byte[] signature, byte[] content, String algorithmUri,
+ CriteriaSet trustBasisCriteria, Credential candidateCredential) throws SecurityException {
+ return trustEngine.validate(signature, content, algorithmUri, trustBasisCriteria, candidateCredential);
+
+ }
+
+ @Override
+ public KeyInfoCredentialResolver getKeyInfoResolver() {
+ return trustEngine.getKeyInfoResolver();
+
+ }
+
+}