diff options
Diffstat (limited to 'id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/config/PVPConfiguration.java')
-rw-r--r-- | id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/config/PVPConfiguration.java | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/config/PVPConfiguration.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/config/PVPConfiguration.java index 1f8dfa153..d38c900bc 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/config/PVPConfiguration.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/config/PVPConfiguration.java @@ -35,6 +35,7 @@ import org.opensaml.xml.validation.Validator; import org.w3c.dom.Element; import at.gv.egovernment.moa.id.config.ConfigurationProvider; +import at.gv.egovernment.moa.id.protocols.pvp2x.utils.Digester; import at.gv.egovernment.moa.id.protocols.pvp2x.utils.SAML2Utils; import at.gv.egovernment.moa.logging.Logger; @@ -53,6 +54,9 @@ public class PVPConfiguration { public static final String IDP_KEYALIAS = "idp.ks.alias"; public static final String IDP_KS_PASS = "idp.ks.kspassword"; public static final String IDP_KEY_PASS = "idp.ks.keypassword"; + + public static final String IDP_ISSUER_NAME = "idp.issuer.name"; + public static final String METADATA_FILE = "md.file"; public static final String IDP_ENTITY = "idp.entityid"; @@ -64,6 +68,9 @@ public class PVPConfiguration { public static final String IDP_REDIRECT_SSO_SERVICE = "idp.sso.redirect"; public static final String IDP_SOAP_RESOLVE_SERVICE = "idp.resolve.soap"; + public static final String IDP_TRUST_STORE = "idp.truststore"; + public static final String SP_TARGET_PREFIX = "sp.target."; + public static final String IDP_CONTACT_PREFIX = "idp.contact"; public static final String IDP_CONTACT_LIST = "idp.contact_list"; @@ -120,10 +127,35 @@ public class PVPConfiguration { return props.getProperty(IDP_KEY_PASS); } + public String getIDPIssuerName() { + return props.getProperty(IDP_ISSUER_NAME); + } + public String getMetadataFile() { return props.getProperty(METADATA_FILE); } + public String getTargetForSP(String sp) { + String spHash = Digester.toSHA1(sp.getBytes()); + Logger.info("SHA hash for sp: " + sp + " => " + spHash); + return props.getProperty(SP_TARGET_PREFIX + spHash); + } + + public String getTrustEntityCertificate(String entityID) { + String path = props.getProperty(IDP_TRUST_STORE); + if(path == null) { + return null; + } + + if(!path.endsWith("/")) { + path = path + "/"; + } + + String entityIDHash = Digester.toSHA1(entityID.getBytes()); + + return path + entityIDHash; + } + public List<ContactPerson> getIDPContacts() { List<ContactPerson> list = new ArrayList<ContactPerson>(); |