diff options
Diffstat (limited to 'moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/config/TrustProfile.java')
-rw-r--r-- | moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/config/TrustProfile.java | 233 |
1 files changed, 122 insertions, 111 deletions
diff --git a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/config/TrustProfile.java b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/config/TrustProfile.java index 0063c7f..94155d6 100644 --- a/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/config/TrustProfile.java +++ b/moaSig/moa-sig-lib/src/main/java/at/gv/egovernment/moa/spss/server/config/TrustProfile.java @@ -21,7 +21,6 @@ * that you distribute must include a readable copy of the "NOTICE" text file. */ - package at.gv.egovernment.moa.spss.server.config; import java.net.URI; @@ -35,129 +34,139 @@ import java.util.regex.PatternSyntaxException; import at.gv.egovernment.moa.sig.tsl.TslConstants; import at.gv.egovernment.moaspss.logging.Logger; import at.gv.egovernment.moaspss.util.MiscUtil; -import iaik.x509.X509Certificate; /** * Information about a trust profile. - * + * * @author Patrick Peck * @version $Id$ */ public class TrustProfile { /** The ID of the trust profile. */ - private String id; + private final String id; /** The URI giving the location of the trust profile. */ - private String uri; + private final String uri; /** The URI giving the location of the allowed signer certificates. */ - private String signerCertsUri; - - /** Defines if Trustprofile makes use of EU TSL*/ - private boolean tslEnabled; - /** The countries given */ - private List<String> countries = new ArrayList<String>(); - - private List<URI> allowedTspStatus = new ArrayList<URI>(); - private List<Pattern> allowedTspServiceTypes = new ArrayList<Pattern>(); - - + private final String signerCertsUri; + + /** Defines if Trustprofile makes use of EU TSL */ + private final boolean tslEnabled; + /** The countries given */ + private final List<String> countries = new ArrayList<>(); + + private final List<URI> allowedTspStatus = new ArrayList<>(); + private final List<Pattern> allowedTspServiceTypes = new ArrayList<>(); + /** * Create a <code>TrustProfile</code>. - * - * @param id The ID of the <code>TrustProfile</code> to create. - * @param uri The URI of the <code>TrustProfile</code> to create. - * @param signerCertsUri The URI of the location of the allowed signer - * certificates of the <code>TrustProfile</code> to create. - * @param allowedTspServiceTypes - * @param allowedTspStatus + * + * @param id The ID of the <code>TrustProfile</code> to + * create. + * @param uri The URI of the <code>TrustProfile</code> to + * create. + * @param signerCertsUri The URI of the location of the allowed signer + * certificates of the <code>TrustProfile</code> + * to create. + * @param allowedTspServiceTypes + * @param allowedTspStatus */ - public TrustProfile(String id, String uri, String signerCertsUri, - boolean tslEnabled, String countries, String allowedTspStatus, String allowedTspServiceTypes) { + public TrustProfile(String id, String uri, String signerCertsUri, + boolean tslEnabled, String countries, String allowedTspStatus, String allowedTspServiceTypes) { this.id = id; this.uri = uri; this.signerCertsUri = signerCertsUri; - - //TSL configuration parameters + + // TSL configuration parameters this.tslEnabled = tslEnabled; - if (tslEnabled) { - setCountries(countries); - if (!this.countries.isEmpty()) - Logger.info("TrustProfile "+ id + " allows " + Arrays.toString(this.countries.toArray()) + " TSL countries"); - else - Logger.info("TrustProfile "+ id + " allows " + "ALL" + " TSL countries"); - - setAllowedTspStatus(allowedTspStatus); - Logger.info("TrustProfile "+ id + " allows " + Arrays.toString(this.allowedTspStatus.toArray()) + " TSP status identifier"); - - setAllowedTspServiceTypes(allowedTspServiceTypes); - Logger.info("TrustProfile "+ id + " allows " + Arrays.toString(this.allowedTspServiceTypes.toArray()) + " TSL service-type identifier"); - - } + if (tslEnabled) { + setCountries(countries); + if (!this.countries.isEmpty()) { + Logger.info("TrustProfile " + id + " allows " + Arrays.toString(this.countries.toArray()) + + " TSL countries"); + } else { + Logger.info("TrustProfile " + id + " allows " + "ALL" + " TSL countries"); + } + + setAllowedTspStatus(allowedTspStatus); + Logger.info("TrustProfile " + id + " allows " + Arrays.toString(this.allowedTspStatus.toArray()) + + " TSP status identifier"); + + setAllowedTspServiceTypes(allowedTspServiceTypes); + Logger.info("TrustProfile " + id + " allows " + Arrays.toString(this.allowedTspServiceTypes.toArray()) + + " TSL service-type identifier"); + + } } private void setCountries(String countries) { - if (MiscUtil.isNotEmpty(countries)) { - String[] ccArray = countries.split(","); - for (String el : ccArray) - this.countries.add(el.trim()); - - } + if (MiscUtil.isNotEmpty(countries)) { + final String[] ccArray = countries.split(","); + for (final String el : ccArray) { + this.countries.add(el.trim()); + } + + } } - + private void setAllowedTspStatus(String allowedTspStatus) { - if (MiscUtil.isNotEmpty(allowedTspStatus)) { - String[] ccArray = allowedTspStatus.split(","); - for (String el : ccArray) { - try { - this.allowedTspStatus.add(new URI(el.trim())); - - } catch (URISyntaxException e) { - Logger.warn("TrustProfile: " + this.id + " contains a non-valid TSP Status identifier (" + el + ")"); - - } - - } - - } else { - Logger.debug("Use default set of TSP Status identifier"); - this.allowedTspStatus.addAll( - Arrays.asList( - TslConstants.SERVICE_STATUS_SORT_TO_URI.get(TslConstants.SERVICE_STATUS_SHORT.granted), - TslConstants.SERVICE_STATUS_SORT_TO_URI.get(TslConstants.SERVICE_STATUS_SHORT.recognisedatnationallevel), - TslConstants.SERVICE_STATUS_SORT_TO_URI.get(TslConstants.SERVICE_STATUS_SHORT.accredited), - TslConstants.SERVICE_STATUS_SORT_TO_URI.get(TslConstants.SERVICE_STATUS_SHORT.undersupervision))); - - } - + if (MiscUtil.isNotEmpty(allowedTspStatus)) { + final String[] ccArray = allowedTspStatus.split(","); + for (final String el : ccArray) { + try { + this.allowedTspStatus.add(new URI(el.trim())); + + } catch (final URISyntaxException e) { + Logger.warn("TrustProfile: " + this.id + " contains a non-valid TSP Status identifier (" + el + + ")"); + + } + + } + + } else { + Logger.debug("Use default set of TSP Status identifier"); + this.allowedTspStatus.addAll( + Arrays.asList( + TslConstants.SERVICE_STATUS_SORT_TO_URI.get(TslConstants.SERVICE_STATUS_SHORT.granted), + TslConstants.SERVICE_STATUS_SORT_TO_URI.get( + TslConstants.SERVICE_STATUS_SHORT.recognisedatnationallevel), + TslConstants.SERVICE_STATUS_SORT_TO_URI.get(TslConstants.SERVICE_STATUS_SHORT.accredited), + TslConstants.SERVICE_STATUS_SORT_TO_URI.get( + TslConstants.SERVICE_STATUS_SHORT.undersupervision))); + + } + } - + private void setAllowedTspServiceTypes(String allowedTspServiceTypes) { - if (MiscUtil.isNotEmpty(allowedTspServiceTypes)) { - String[] ccArray = allowedTspServiceTypes.split(","); - for (String el : ccArray) { - try { - this.allowedTspServiceTypes.add(Pattern.compile(el.trim())); - - } catch (PatternSyntaxException e) { - Logger.warn("TrustProfile: " + this.id + " contains a non-valid TSP Service-Type identifier Regex pattern(" + el + ")"); - - } - - } - - } else { - Logger.debug("Use default set of TSP Service-Type identifier"); - this.allowedTspServiceTypes.addAll( - Arrays.asList( - Pattern.compile(TslConstants.DEFAULT_REGEX_PATTERN_ALLOW_ALL))); - - } - + if (MiscUtil.isNotEmpty(allowedTspServiceTypes)) { + final String[] ccArray = allowedTspServiceTypes.split(","); + for (final String el : ccArray) { + try { + this.allowedTspServiceTypes.add(Pattern.compile(el.trim())); + + } catch (final PatternSyntaxException e) { + Logger.warn("TrustProfile: " + this.id + + " contains a non-valid TSP Service-Type identifier Regex pattern(" + el + ")"); + + } + + } + + } else { + Logger.debug("Use default set of TSP Service-Type identifier"); + this.allowedTspServiceTypes.addAll( + Arrays.asList( + Pattern.compile(TslConstants.DEFAULT_REGEX_PATTERN_ALLOW_ALL))); + + } + } - + /** * Return the ID of this <code>TrustProfile</code>. - * + * * @return The <code>TrustProfile</code> ID. */ public String getId() { @@ -166,49 +175,51 @@ public class TrustProfile { /** * Return the URI of this <code>TrustProfile</code>. - * + * * @return The URI of <code>TrustProfile</code>. */ public String getUri() { return uri; } - /** - * Return the URI giving the location of the allowed signer certificates - * of this <code>TrustProfile</code>. - * + * Return the URI giving the location of the allowed signer certificates of this + * <code>TrustProfile</code>. + * * @return The URI of <code>TrustProfile</code>. */ public String getSignerCertsUri() { return signerCertsUri; } + /** * Returns if Trustprofile is TSL enabled + * * @return */ public boolean isTSLEnabled() { - return tslEnabled; + return tslEnabled; } + /** * Returns the given countries + * * @return Given countries */ public List<String> getCountries() { - if (!tslEnabled) - return null; - else - return countries; + if (!tslEnabled) { + return null; + } else { + return countries; + } } public List<URI> getAllowedTspStatus() { - return allowedTspStatus; + return allowedTspStatus; } public List<Pattern> getAllowedTspServiceTypes() { - return allowedTspServiceTypes; + return allowedTspServiceTypes; } - - - + } |