aboutsummaryrefslogtreecommitdiff
path: root/id/server/idserverlib/src/main/java/at/gv/egovernment
diff options
context:
space:
mode:
Diffstat (limited to 'id/server/idserverlib/src/main/java/at/gv/egovernment')
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/iaik/config/PKIConfigurationImpl.java8
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/MetadataAction.java13
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/config/PVPConfiguration.java58
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/AxisSecureSocketFactory.java4
4 files changed, 74 insertions, 9 deletions
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/iaik/config/PKIConfigurationImpl.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/iaik/config/PKIConfigurationImpl.java
index 646c27fe8..064d8a835 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/iaik/config/PKIConfigurationImpl.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/iaik/config/PKIConfigurationImpl.java
@@ -109,4 +109,12 @@ public class PKIConfigurationImpl implements PKIConfiguration {
return validationConfiguration;
}
+/* (non-Javadoc)
+ * @see iaik.pki.PKIConfiguration#getTimeout()
+ */
+ public int getTimeout() {
+ // TODO Auto-generated method stub
+ return 0;
+}
+
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/MetadataAction.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/MetadataAction.java
index 3d4360640..151529ad5 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/MetadataAction.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/MetadataAction.java
@@ -49,12 +49,9 @@ import org.opensaml.xml.io.Marshaller;
import org.opensaml.xml.security.credential.Credential;
import org.opensaml.xml.security.credential.UsageType;
import org.opensaml.xml.security.keyinfo.KeyInfoGenerator;
-import org.opensaml.xml.security.keyinfo.KeyInfoHelper;
import org.opensaml.xml.security.x509.X509KeyInfoGeneratorFactory;
-import org.opensaml.xml.signature.KeyInfo;
import org.opensaml.xml.signature.Signature;
import org.opensaml.xml.signature.Signer;
-import org.opensaml.xml.signature.impl.KeyInfoBuilder;
import org.w3c.dom.Document;
import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
@@ -69,19 +66,23 @@ import at.gv.egovernment.moa.logging.Logger;
public class MetadataAction implements IAction {
+ private static final int VALIDUNTIL_IN_DAYES = 30;
+
public String processRequest(IRequest req, HttpServletRequest httpReq,
HttpServletResponse httpResp, AuthenticationSession moasession) throws MOAIDException {
try {
EntitiesDescriptor idpEntitiesDescriptor =
SAML2Utils.createSAMLObject(EntitiesDescriptor.class);
-
+
idpEntitiesDescriptor.setName(PVPConfiguration.getInstance().getIDPIssuerName());
idpEntitiesDescriptor.setID(SAML2Utils.getSecureIdentifier());
- idpEntitiesDescriptor.setValidUntil(new DateTime().plusWeeks(4));
+ DateTime date = new DateTime();
+ idpEntitiesDescriptor.setValidUntil(date.plusDays(VALIDUNTIL_IN_DAYES));
+
EntityDescriptor idpEntityDescriptor = SAML2Utils
.createSAMLObject(EntityDescriptor.class);
@@ -90,6 +91,8 @@ public class MetadataAction implements IAction {
idpEntityDescriptor
.setEntityID(PVPConfiguration.getInstance().getIDPPublicPath());
+ idpEntityDescriptor.setValidUntil(date.plusDays(VALIDUNTIL_IN_DAYES));
+
List<ContactPerson> persons = PVPConfiguration.getInstance()
.getIDPContacts();
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 f6832c161..769e36fc1 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
@@ -25,10 +25,15 @@ package at.gv.egovernment.moa.id.protocols.pvp2x.config;
import iaik.x509.X509Certificate;
import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+import java.net.URLClassLoader;
import java.security.cert.CertificateException;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
+import java.util.jar.Attributes;
+import java.util.jar.Manifest;
import org.opensaml.saml2.metadata.Company;
import org.opensaml.saml2.metadata.ContactPerson;
@@ -51,6 +56,7 @@ import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
import at.gv.egovernment.moa.id.config.auth.OAAuthParameter;
import at.gv.egovernment.moa.id.protocols.pvp2x.utils.SAML2Utils;
import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.util.MiscUtil;
public class PVPConfiguration {
@@ -103,6 +109,8 @@ public class PVPConfiguration {
public static final String IDP_CONTACT_COMPANY = "company";
public static final String IDP_CONTACT_PHONE = "phone";
+ private static String moaIDVersion = null;
+
PVP2 generalpvpconfigdb;
Properties props;
@@ -164,7 +172,12 @@ public class PVPConfiguration {
}
public String getIDPIssuerName() {
- return generalpvpconfigdb.getIssuerName();
+
+ if (moaIDVersion == null) {
+ moaIDVersion = parseMOAIDVersionFromManifest();
+ }
+
+ return generalpvpconfigdb.getIssuerName() + moaIDVersion;
}
public List<String> getMetadataFiles() {
@@ -364,7 +377,48 @@ public class PVPConfiguration {
.createSAMLObject(OrganizationURL.class);
url.setURL(new LocalizedString(org_url, "de"));
org.getURLs().add(url);
-
+
return org;
}
+
+ private String parseMOAIDVersionFromManifest() {
+
+ try {
+ Class clazz = PVPConfiguration.class;
+ String className = clazz.getSimpleName() + ".class";
+ String classPath = clazz.getResource(className).toString();
+
+ if (!classPath.startsWith("jar")) {
+ Logger.info("MOA-ID Version can NOT parsed from Manifest. Set blank Version");
+ return new String();
+
+ }
+
+ String manifestPath = classPath.substring(0, classPath.lastIndexOf("!") + 1) +
+ "/META-INF/MANIFEST.MF";
+
+ Manifest manifest = new Manifest(new URL(manifestPath).openStream());;
+
+ Attributes attributes = manifest.getMainAttributes();
+ String version = attributes.getValue("Implementation-Version");
+
+
+
+ if (MiscUtil.isNotEmpty(version))
+ return new String(" (Version: " + version + ")");
+
+ else {
+ Logger.info("MOA-ID Version not found in Manifest. Set blank Version");
+ return new String();
+
+ }
+
+ } catch (Throwable e) {
+ Logger.info("MOA-ID Version can NOT parsed from Manifest. Set blank Version");
+
+ return new String();
+ }
+
+
+ }
}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/AxisSecureSocketFactory.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/AxisSecureSocketFactory.java
index 046d0f825..fff5fac96 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/AxisSecureSocketFactory.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/AxisSecureSocketFactory.java
@@ -61,7 +61,7 @@ import javax.net.ssl.SSLSocketFactory;
import org.apache.axis.components.net.BooleanHolder;
import org.apache.axis.components.net.DefaultSocketFactory;
-import org.apache.axis.components.net.SecureSocketFactory;
+import org.apache.axis.components.net.SocketFactory;
import org.apache.axis.components.net.TransportClientProperties;
import org.apache.axis.components.net.TransportClientPropertiesFactory;
import org.apache.axis.utils.Messages;
@@ -87,7 +87,7 @@ import at.gv.egovernment.moa.logging.Logger;
* @version $Id$
*/
public class AxisSecureSocketFactory
- extends DefaultSocketFactory implements SecureSocketFactory {
+ extends DefaultSocketFactory implements SocketFactory {
/** Field sslFactory */
private static SSLSocketFactory sslFactory;