aboutsummaryrefslogtreecommitdiff
path: root/connector/src/main/java/at/asitplus/eidas/specific/connector/config
diff options
context:
space:
mode:
Diffstat (limited to 'connector/src/main/java/at/asitplus/eidas/specific/connector/config')
-rw-r--r--connector/src/main/java/at/asitplus/eidas/specific/connector/config/MsConnectorMessageSource.java21
-rw-r--r--connector/src/main/java/at/asitplus/eidas/specific/connector/config/PvpEndPointConfiguration.java158
-rw-r--r--connector/src/main/java/at/asitplus/eidas/specific/connector/config/PvpMetadataConfiguration.java269
3 files changed, 0 insertions, 448 deletions
diff --git a/connector/src/main/java/at/asitplus/eidas/specific/connector/config/MsConnectorMessageSource.java b/connector/src/main/java/at/asitplus/eidas/specific/connector/config/MsConnectorMessageSource.java
deleted file mode 100644
index 59df6375..00000000
--- a/connector/src/main/java/at/asitplus/eidas/specific/connector/config/MsConnectorMessageSource.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.asitplus.eidas.specific.connector.config;
-
-import java.util.Arrays;
-import java.util.List;
-
-import at.gv.egiz.eaaf.core.api.logging.IMessageSourceLocation;
-
-/**
- * Inject eIDAS Connector specific messages into Spring based message-source.
- *
- * @author tlenz
- *
- */
-public class MsConnectorMessageSource implements IMessageSourceLocation {
-
- @Override
- public List<String> getMessageSourceLocation() {
- return Arrays.asList("classpath:/properties/messages");
- }
-
-}
diff --git a/connector/src/main/java/at/asitplus/eidas/specific/connector/config/PvpEndPointConfiguration.java b/connector/src/main/java/at/asitplus/eidas/specific/connector/config/PvpEndPointConfiguration.java
deleted file mode 100644
index 81c37bd0..00000000
--- a/connector/src/main/java/at/asitplus/eidas/specific/connector/config/PvpEndPointConfiguration.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * Copyright 2018 A-SIT Plus GmbH
- * AT-specific eIDAS Connector has been developed in a cooperation between EGIZ,
- * A-SIT Plus GmbH, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "License");
- * You may not use this work except in compliance with the License.
- * You may obtain a copy of the License at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
-*/
-
-package at.asitplus.eidas.specific.connector.config;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.commons.lang3.StringUtils;
-import org.opensaml.saml.saml2.metadata.ContactPerson;
-import org.opensaml.saml.saml2.metadata.ContactPersonTypeEnumeration;
-import org.opensaml.saml.saml2.metadata.EmailAddress;
-import org.opensaml.saml.saml2.metadata.GivenName;
-import org.opensaml.saml.saml2.metadata.Organization;
-import org.opensaml.saml.saml2.metadata.OrganizationDisplayName;
-import org.opensaml.saml.saml2.metadata.OrganizationName;
-import org.opensaml.saml.saml2.metadata.OrganizationURL;
-import org.opensaml.saml.saml2.metadata.SurName;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import at.asitplus.eidas.specific.core.MsEidasNodeConstants;
-import at.gv.egiz.eaaf.core.api.idp.IConfiguration;
-import at.gv.egiz.eaaf.core.exceptions.EaafConfigurationException;
-import at.gv.egiz.eaaf.core.exceptions.EaafException;
-import at.gv.egiz.eaaf.modules.pvp2.api.IPvp2BasicConfiguration;
-import at.gv.egiz.eaaf.modules.pvp2.impl.utils.Saml2Utils;
-
-@Service("PVPEndPointConfiguration")
-public class PvpEndPointConfiguration implements IPvp2BasicConfiguration {
- private static final Logger log = LoggerFactory.getLogger(PvpEndPointConfiguration.class);
-
- private static final String DEFAULT_XML_LANG = "en";
-
- @Autowired(required = true)
- IConfiguration basicConfiguration;
-
- @Override
- public String getIdpEntityId(String authUrl) throws EaafException {
- return removePostFix(authUrl) + MsEidasNodeConstants.ENDPOINT_PVP_METADATA;
-
- }
-
- @Override
- public String getIdpSsoPostService(String authUrl) throws EaafException {
- return removePostFix(authUrl) + MsEidasNodeConstants.ENDPOINT_PVP_POST;
-
- }
-
- @Override
- public String getIdpSsoRedirectService(String authUrl) throws EaafException {
- return removePostFix(authUrl) + MsEidasNodeConstants.ENDPOINT_PVP_REDIRECT;
-
- }
-
- @Override
- public String getIdpSsoSoapService(String extractAuthUrlFromRequest) throws EaafException {
- log.warn("PVP S-Profile End-Point does NOT support SOAP Binding");
- return null;
-
- }
-
- @Override
- public List<ContactPerson> getIdpContacts() throws EaafException {
- final ContactPerson contactPerson = Saml2Utils.createSamlObject(ContactPerson.class);
- final GivenName givenName = Saml2Utils.createSamlObject(GivenName.class);
- final SurName surname = Saml2Utils.createSamlObject(SurName.class);
- final EmailAddress emailAddress = Saml2Utils.createSamlObject(EmailAddress.class);
-
- givenName.setValue(getAndVerifyFromConfiguration(
- MsEidasNodeConstants.CONFIG_PROPS_METADATA_CONTACT_GIVENNAME));
- surname.setValue(getAndVerifyFromConfiguration(
- MsEidasNodeConstants.CONFIG_PROPS_METADATA_CONTACT_SURNAME));
- emailAddress.setURI(getAndVerifyFromConfiguration(
- MsEidasNodeConstants.CONFIG_PROPS_METADATA_CONTACT_EMAIL));
-
- contactPerson.setType(ContactPersonTypeEnumeration.TECHNICAL);
- contactPerson.setGivenName(givenName);
- contactPerson.setSurName(surname);
- contactPerson.getEmailAddresses().add(emailAddress);
-
- return Arrays.asList(contactPerson);
-
- }
-
- @Override
- public Organization getIdpOrganisation() throws EaafException {
- final Organization organisation = Saml2Utils.createSamlObject(Organization.class);
- final OrganizationName orgName = Saml2Utils.createSamlObject(OrganizationName.class);
- final OrganizationDisplayName orgDisplayName = Saml2Utils.createSamlObject(OrganizationDisplayName.class);
- final OrganizationURL orgUrl = Saml2Utils.createSamlObject(OrganizationURL.class);
-
- orgName.setXMLLang(DEFAULT_XML_LANG);
- orgName.setValue(getAndVerifyFromConfiguration(
- MsEidasNodeConstants.CONFIG_PROPS_METADATA_ORGANISATION_NAME));
-
- orgDisplayName.setXMLLang(DEFAULT_XML_LANG);
- orgDisplayName.setValue(getAndVerifyFromConfiguration(
- MsEidasNodeConstants.CONFIG_PROPS_METADATA_ORGANISATION_FRIENDLYNAME));
-
- orgUrl.setXMLLang(DEFAULT_XML_LANG);
- orgUrl.setURI(getAndVerifyFromConfiguration(
- MsEidasNodeConstants.CONFIG_PROPS_METADATA_ORGANISATION_URL));
-
-
- organisation.getOrganizationNames().add(orgName);
- organisation.getDisplayNames().add(orgDisplayName);
- organisation.getURLs().add(orgUrl);
-
- return organisation;
- }
-
- @Override
- public IConfiguration getBasicConfiguration() {
- return basicConfiguration;
- }
-
- private String removePostFix(String url) {
- if (url != null && url.endsWith("/")) {
- return url.substring(0, url.length() - 1);
- } else {
- return url;
- }
- }
-
- private String getAndVerifyFromConfiguration(String configKey) throws EaafConfigurationException {
- final String value = basicConfiguration.getBasicConfiguration(configKey);
- if (StringUtils.isEmpty(value)) {
- throw new EaafConfigurationException("config.08",
- new Object[] {configKey});
-
- }
-
- return value;
- }
-}
diff --git a/connector/src/main/java/at/asitplus/eidas/specific/connector/config/PvpMetadataConfiguration.java b/connector/src/main/java/at/asitplus/eidas/specific/connector/config/PvpMetadataConfiguration.java
deleted file mode 100644
index e83fd4cf..00000000
--- a/connector/src/main/java/at/asitplus/eidas/specific/connector/config/PvpMetadataConfiguration.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*
- * Copyright 2018 A-SIT Plus GmbH
- * AT-specific eIDAS Connector has been developed in a cooperation between EGIZ,
- * A-SIT Plus GmbH, A-SIT, and Graz University of Technology.
- *
- * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "License");
- * You may not use this work except in compliance with the License.
- * You may obtain a copy of the License at:
- * https://joinup.ec.europa.eu/news/understanding-eupl-v12
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
-*/
-
-package at.asitplus.eidas.specific.connector.config;
-
-import java.util.Arrays;
-import java.util.List;
-
-import org.opensaml.saml.saml2.core.Attribute;
-import org.opensaml.saml.saml2.core.NameIDType;
-import org.opensaml.saml.saml2.metadata.ContactPerson;
-import org.opensaml.saml.saml2.metadata.Organization;
-import org.opensaml.saml.saml2.metadata.RequestedAttribute;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import at.asitplus.eidas.specific.core.MsEidasNodeConstants;
-import at.gv.egiz.eaaf.core.api.idp.IConfiguration;
-import at.gv.egiz.eaaf.core.exceptions.EaafException;
-import at.gv.egiz.eaaf.modules.pvp2.api.IPvp2BasicConfiguration;
-import at.gv.egiz.eaaf.modules.pvp2.api.credential.EaafX509Credential;
-import at.gv.egiz.eaaf.modules.pvp2.api.metadata.IPvpMetadataBuilderConfiguration;
-import at.gv.egiz.eaaf.modules.pvp2.api.utils.IPvp2CredentialProvider;
-import at.gv.egiz.eaaf.modules.pvp2.exception.CredentialsNotAvailableException;
-import at.gv.egiz.eaaf.modules.pvp2.impl.builder.PvpAttributeBuilder;
-
-public class PvpMetadataConfiguration implements IPvpMetadataBuilderConfiguration {
- private static final Logger log = LoggerFactory.getLogger(PvpMetadataConfiguration.class);
-
- private final IConfiguration basicConfig;
- private final String authUrl;
- private final IPvp2CredentialProvider pvpIdpCredentials;
- private final IPvp2BasicConfiguration pvpBasicConfig;
-
- /**
- * Configuration object to create PVP2 S-Profile metadata.
- *
- * @param basicConfig Application configuration
- * @param authUrl Public-URL Prefix of the application
- * @param pvpBasicConfig PVP2 configuration object
- * @param pvpIdpCredentials2 PVP2 credentials
- */
- public PvpMetadataConfiguration(IConfiguration basicConfig, String authUrl,
- IPvp2BasicConfiguration pvpBasicConfig, IPvp2CredentialProvider pvpIdpCredentials2) {
- this.authUrl = authUrl;
- this.pvpIdpCredentials = pvpIdpCredentials2;
- this.basicConfig = basicConfig;
- this.pvpBasicConfig = pvpBasicConfig;
-
- }
-
- @Override
- public String getSpNameForLogging() {
- return "PVP2 S-Profile IDP";
- }
-
- @Override
- public int getMetadataValidUntil() {
- return Integer.parseInt(basicConfig.getBasicConfiguration(
- MsEidasNodeConstants.PROP_CONFIG_PVP2_METADATA_VALIDITY,
- String.valueOf(MsEidasNodeConstants.DEFAULT_PVP_METADATA_VALIDITY)));
-
- }
-
- @Override
- public boolean buildEntitiesDescriptorAsRootElement() {
- return false;
-
- }
-
- @Override
- public boolean buildIdpSsoDescriptor() {
- return true;
-
- }
-
- @Override
- public boolean buildSpSsoDescriptor() {
- return false;
-
- }
-
- @Override
- public String getEntityID() {
- try {
- return pvpBasicConfig.getIdpEntityId(authUrl);
-
- } catch (final EaafException e) {
- log.error("Can NOT build PVP metadata configuration.", e);
- throw new RuntimeException("Can NOT build PVP metadata configuration.");
-
- }
-
- }
-
- @Override
- public String getEntityFriendlyName() {
- return null;
-
- }
-
- @Override
- public List<ContactPerson> getContactPersonInformation() {
- try {
- return pvpBasicConfig.getIdpContacts();
-
- } catch (final EaafException e) {
- log.error("Can NOT build PVP metadata configuration.", e);
- throw new RuntimeException("Can NOT build PVP metadata configuration.");
-
- }
-
- }
-
- @Override
- public Organization getOrgansiationInformation() {
- try {
- return pvpBasicConfig.getIdpOrganisation();
-
- } catch (final EaafException e) {
- log.error("Can NOT build PVP metadata configuration.", e);
- throw new RuntimeException("Can NOT build PVP metadata configuration.");
-
- }
- }
-
- @Override
- public EaafX509Credential getMetadataSigningCredentials() throws CredentialsNotAvailableException {
- return pvpIdpCredentials.getMetaDataSigningCredential();
-
- }
-
- @Override
- public EaafX509Credential getRequestorResponseSigningCredentials() throws CredentialsNotAvailableException {
- return pvpIdpCredentials.getMessageSigningCredential();
-
- }
-
- @Override
- public EaafX509Credential getEncryptionCredentials() throws CredentialsNotAvailableException {
- return null;
-
- }
-
- @Override
- public String getIdpWebSsoPostBindingUrl() {
- try {
- return pvpBasicConfig.getIdpSsoPostService(authUrl);
-
- } catch (final EaafException e) {
- log.error("Can NOT build PVP metadata configuration.", e);
- throw new RuntimeException("Can NOT build PVP metadata configuration.");
-
- }
-
- }
-
- @Override
- public String getIdpWebSsoRedirectBindingUrl() {
- try {
- return pvpBasicConfig.getIdpSsoRedirectService(authUrl);
-
- } catch (final EaafException e) {
- log.error("Can NOT build PVP metadata configuration.", e);
- throw new RuntimeException("Can NOT build PVP metadata configuration.");
-
- }
- }
-
- @Override
- public String getIdpSloPostBindingUrl() {
- return null;
-
- }
-
- @Override
- public String getIdpSloRedirectBindingUrl() {
- return null;
-
- }
-
- @Override
- public String getSpAssertionConsumerServicePostBindingUrl() {
- return null;
-
- }
-
- @Override
- public String getSpAssertionConsumerServiceRedirectBindingUrl() {
- return null;
-
- }
-
- @Override
- public String getSpSloPostBindingUrl() {
- return null;
-
- }
-
- @Override
- public String getSpSloRedirectBindingUrl() {
- return null;
-
- }
-
- @Override
- public String getSpSloSoapBindingUrl() {
- return null;
-
- }
-
- @Override
- public List<Attribute> getIdpPossibleAttributes() {
- return PvpAttributeBuilder.buildSupportedEmptyAttributes();
-
- }
-
- @Override
- public List<String> getIdpPossibleNameIdTypes() {
- return Arrays.asList(NameIDType.PERSISTENT,
- NameIDType.TRANSIENT,
- NameIDType.UNSPECIFIED);
- }
-
- @Override
- public List<RequestedAttribute> getSpRequiredAttributes() {
- return null;
-
- }
-
- @Override
- public List<String> getSpAllowedNameIdTypes() {
- return null;
-
- }
-
- @Override
- public boolean wantAssertionSigned() {
- return false;
-
- }
-
- @Override
- public boolean wantAuthnRequestSigned() {
- return true;
-
- }
-
-}