package at.gv.egovernment.moa.id.commons.api; import java.util.List; import java.util.Map; import java.util.Properties; import at.gv.egovernment.moa.id.commons.api.data.ProtocolAllowed; import at.gv.egovernment.moa.id.commons.api.exceptions.ConfigurationException; import at.gv.util.config.EgovUtilPropertiesConfiguration; import iaik.pki.revocation.RevocationSourceTypes; public interface AuthConfiguration extends ConfigurationProvider{ public static final String PROP_KEY_SSL_HOSTNAME_VALIDATION = "configuration.ssl.validation.hostname"; public static final String PROP_KEY_OVS_SSL_HOSTNAME_VALIDATION = "service.onlinemandates.ssl.validation.hostname"; public static final String PROP_KEY_PROTOCOL_PVP_METADATA_ENTITYCATEGORY_RESOLVER = "protocols.pvp2.metadata.entitycategories.active"; public static final String DEFAULT_X509_CHAININGMODE = "pkix"; public static final int CONFIG_PROPS_METADATA_SOCKED_TIMEOUT = 20 * 1000; //20 seconds metadata socked timeout public Properties getGeneralPVP2ProperiesConfig(); public Properties getGeneralOAuth20ProperiesConfig(); public ProtocolAllowed getAllowedProtocols(); public Map getConfigurationWithPrefix(final String Prefix); public String getConfigurationWithKey(final String key); public int getTransactionTimeOut(); public int getSSOCreatedTimeOut(); public int getSSOUpdatedTimeOut(); public String getAlternativeSourceID() throws ConfigurationException; public List getLegacyAllowedProtocols(); public String getMoaSpAuthBlockTrustProfileID(boolean useTestTrustStore) throws ConfigurationException; public List getMoaSpAuthBlockVerifyTransformsInfoIDs() throws ConfigurationException; public ConnectionParameterInterface getMoaSpConnectionParameter() throws ConfigurationException; // public ConnectionParameterInterface getForeignIDConnectionParameter(IOAAuthParameters oaParameters) throws ConfigurationException; /** * Get parameters to connect the Online Mandate-Service (MIS) * * Use an Online-Application specific MIS instance URL if it exists, * otherwise use the first entry of the general configuration * * @param oaParameters Online-Application configuration, or null if the default service-url should be always used * @return Connection parameters with OA specific or general information * @throws ConfigurationException */ public ConnectionParameterInterface getOnlineMandatesConnectionParameter(IOAAuthParameters oaParameters) throws ConfigurationException; public String getMoaSpIdentityLinkTrustProfileID(boolean useTestTrustStore) throws ConfigurationException; public List getTransformsInfos() throws ConfigurationException; public List getIdentityLinkX509SubjectNames() throws ConfigurationException; public List getSLRequestTemplates() throws ConfigurationException; public String getSLRequestTemplates(String type) throws ConfigurationException; public List getDefaultBKUURLs() throws ConfigurationException; public String getDefaultBKUURL(String type) throws ConfigurationException; public String getSSOTagetIdentifier() throws ConfigurationException; public String getSSOFriendlyName(); public String getSSOSpecialText(); public String getMOASessionEncryptionKey(); public String getMOAConfigurationEncryptionKey(); public boolean isIdentityLinkResigning(); public String getIdentityLinkResigningKey(); public boolean isMonitoringActive(); public String getMonitoringTestIdentityLinkURL(); public String getMonitoringMessageSuccess(); public boolean isAdvancedLoggingActive(); /** * Returns the PublicURLPrefix. * * @return the PublicURLPrefix (one or more) of this IDP instance. All publicURLPrefix URLs are ends without / * @throws ConfigurationException if no PublicURLPrefix is found. */ public List getPublicURLPrefix() throws ConfigurationException; public boolean isVirtualIDPsEnabled(); public boolean isPVP2AssertionEncryptionActive(); public boolean isCertifiacteQCActive(); public IStorkConfig getStorkConfig() throws ConfigurationException; public EgovUtilPropertiesConfiguration geteGovUtilsConfig(); public String getDocumentServiceUrl(); /** * Notify, if the STORK fake IdentityLink functionality is active * * @return true/false */ public boolean isStorkFakeIdLActive(); /** * Get a list of all STORK countries for which a faked IdentityLink should be created * * @return {List} of country codes */ public List getStorkFakeIdLCountries(); /** * Get a list of all STORK countries for which no signature is required * * @return {List} of country codes */ public List getStorkNoSignatureCountries(); /** * Get the MOA-SS key-group identifier for fake IdentityLink signing * * @return MOA-SS key-group identifier {String} */ public String getStorkFakeIdLResigningKey(); /** * Notify, if the PVP2x metadata schema validation is active * * @return true/false */ public boolean isPVPSchemaValidationActive(); /** * Get all configuration values with prefix and wildcard * * @param key: Search key. * and % can be used as wildcards * @return Key/Value pairs {Map}, which key maps the search key */ Map getConfigurationWithWildCard(String key); /** * Get configured default revisions-log event codes which should be logged * * @return {List} if event codes or null */ List getDefaultRevisionsLogEventCodes(); @Deprecated public boolean isHTTPAuthAllowed(); /** * Get the perverted X509 revocation method order for SSL certificate validation * * @return Array of {@link RevocationSourceTypes} values */ public String[] getRevocationMethodOrder(); }