From 43e57a42832ea8b4ceb0317f3c9028a4174ffa7b Mon Sep 17 00:00:00 2001 From: mcentner Date: Wed, 8 Aug 2007 07:25:32 +0000 Subject: Adapted project directory structure to suit the new maven based build process. git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@909 d688527b-c9ab-4aba-bd8d-4036d912da1d --- id/oa/src/main/webapp/WEB-INF/web.xml | 9 +++++ id/oa/src/main/webapp/auth.jsp | 48 +++++++++++++++++++++++++ id/oa/src/main/webapp/chooseBKU.jsp | 19 ++++++++++ id/oa/src/main/webapp/form.jsp | 20 +++++++++++ id/oa/src/main/webapp/getBKUSelectTag.jsp | 6 ++++ id/oa/src/main/webapp/index.jsp | 60 +++++++++++++++++++++++++++++++ id/oa/src/main/webapp/stateful_login.jsp | 29 +++++++++++++++ 7 files changed, 191 insertions(+) create mode 100644 id/oa/src/main/webapp/WEB-INF/web.xml create mode 100644 id/oa/src/main/webapp/auth.jsp create mode 100644 id/oa/src/main/webapp/chooseBKU.jsp create mode 100644 id/oa/src/main/webapp/form.jsp create mode 100644 id/oa/src/main/webapp/getBKUSelectTag.jsp create mode 100644 id/oa/src/main/webapp/index.jsp create mode 100644 id/oa/src/main/webapp/stateful_login.jsp (limited to 'id/oa') diff --git a/id/oa/src/main/webapp/WEB-INF/web.xml b/id/oa/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 000000000..13158fdaa --- /dev/null +++ b/id/oa/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,9 @@ + + + + + + Sample OA + MOA Sample OA + + diff --git a/id/oa/src/main/webapp/auth.jsp b/id/oa/src/main/webapp/auth.jsp new file mode 100644 index 000000000..0b563a83e --- /dev/null +++ b/id/oa/src/main/webapp/auth.jsp @@ -0,0 +1,48 @@ + + +MOA ID Auth Sample Login + + +<% /** assumes moa-id-auth and oa in the same servlet container, + and moa-id-proxy on a different fixed location */ + String authUrlPath = + request.getScheme() + "://" + + request.getServerName() + ":" + request.getServerPort() + + "/moa-id-auth/"; + String proxyUrlPath = "http://10.16.126.28:9080/moa-id-proxy/"; + String oaUrlPath = + request.getScheme() + "://" + + request.getServerName() + ":" + request.getServerPort() + + "/oa/"; + String params = + "Target=gb&" + + "OA=" + proxyUrlPath + "index.jsp"; + String urlStartAuth = + authUrlPath + + "StartAuthentication?" + + params; + String templateParam = + "&Template=" + oaUrlPath + "AuthTemplate.jsp"; + String urlStartAuthCustom = + urlStartAuth + + templateParam; + String urlSelectBKU = + authUrlPath + + "SelectBKU?" + + params; + String urlSelectBKUCustom = + urlSelectBKU + + templateParam + + "&BKUSelectionTemplate=" + oaUrlPath + "BKUSelectionTemplate.jsp"; +%> +Log in to sample application +
+Log in to sample application using custom form +
+Choose BKU (HTMLComplete or HTMLSelect) and log in +
+Choose BKU (HTMLSelect) using custom form and log in +
+">Wrong parameters example + + \ No newline at end of file diff --git a/id/oa/src/main/webapp/chooseBKU.jsp b/id/oa/src/main/webapp/chooseBKU.jsp new file mode 100644 index 000000000..0135b6fdf --- /dev/null +++ b/id/oa/src/main/webapp/chooseBKU.jsp @@ -0,0 +1,19 @@ + + +BKU Auswahl + + +

BKU Auswahl

+

+

"> + + +
+

+ + \ No newline at end of file diff --git a/id/oa/src/main/webapp/form.jsp b/id/oa/src/main/webapp/form.jsp new file mode 100644 index 000000000..d439fa84d --- /dev/null +++ b/id/oa/src/main/webapp/form.jsp @@ -0,0 +1,20 @@ +<%@ page import="java.util.*" %> + + +Sample Online Application + + +

Sample Form

+

+

+<% String param1 = request.getParameter("param1"); + if (param1 == null) param1 = ""; %> +Input some text: + +
Previous text input: <%=param1%>
+ +
+

+

Back

+ + \ No newline at end of file diff --git a/id/oa/src/main/webapp/getBKUSelectTag.jsp b/id/oa/src/main/webapp/getBKUSelectTag.jsp new file mode 100644 index 000000000..028dbd348 --- /dev/null +++ b/id/oa/src/main/webapp/getBKUSelectTag.jsp @@ -0,0 +1,6 @@ + diff --git a/id/oa/src/main/webapp/index.jsp b/id/oa/src/main/webapp/index.jsp new file mode 100644 index 000000000..35e49d743 --- /dev/null +++ b/id/oa/src/main/webapp/index.jsp @@ -0,0 +1,60 @@ +<%@ page import="java.util.*,javax.servlet.http.*,sun.misc.BASE64Decoder" %> + + +Sample Online Application + + +

Sample Online Application

+ +

Request headers: + + <% + /* collect parameters from request */ + for (Enumeration headers = request.getHeaderNames(); headers.hasMoreElements(); ) { + String key = (String) headers.nextElement(); + String value = request.getHeader(key); %> + + <% } %> +
<%=key%><%=value%>
+

+ +<% String query=request.getQueryString(); %> +

QueryString: "<%=query%>" +

+ +

Request parameters: + + <% + /* collect parameters from request */ + for (Enumeration params = request.getParameterNames(); params.hasMoreElements(); ) { + String name = (String) params.nextElement(); + String value = request.getParameter(name); %> + + <% } %> +
<%=name%><%=value%>
+

+ +

Cookies: + + <% + /* collect attributes from request */ + Cookie[] cookies = request.getCookies(); + if (cookies != null) { + for (int i = 0; i < cookies.length; i++) { + Cookie cookie = cookies[i]; %> + + <% } + } %> +
<%=cookie.getName()%><%=cookie.getValue()%>
+

+ +<% String authHeader = request.getHeader("Authorization"); + if (authHeader != null) { + authHeader = authHeader.substring(authHeader.indexOf(" ")+1); + String decAuthHeader = new String(new BASE64Decoder().decodeBuffer(authHeader)); +%> +

Basic authentication credentials: <%=decAuthHeader%>

+<% } %> +

Form sample

+ + \ No newline at end of file diff --git a/id/oa/src/main/webapp/stateful_login.jsp b/id/oa/src/main/webapp/stateful_login.jsp new file mode 100644 index 000000000..eaede507f --- /dev/null +++ b/id/oa/src/main/webapp/stateful_login.jsp @@ -0,0 +1,29 @@ +<%@ page import="javax.servlet.http.*" %> +<% + /* check request's remote IP address - must be moa-id-proxy's address */ + String remoteIPAddress = request.getRemoteAddr(); + if (! "127.0.0.1".equals(remoteIPAddress)) { /* Substitute "127.0.0.1" for moa-id-proxy's IP address */ + response.setStatus(403); + return; + } + + /* store authentication data in cookies */ + String fn = request.getParameter("FamilyName"); + String gn = request.getParameter("GivenName"); + /* set cookie domain and cookie path ! */ + String cookieDomain = ".test.test"; /* Set this to the common domain of moa-id-proxy and of the online application */ + String cookiePath = request.getContextPath(); /* Set this to the context path of the online application */ + + Cookie cfn = new Cookie("familyname", fn); + cfn.setDomain(cookieDomain); + cfn.setPath(cookiePath); + response.addCookie(cfn); + + Cookie cgn = new Cookie("givenname", gn); + cgn.setDomain(cookieDomain); + cgn.setPath(cookiePath); + response.addCookie(cgn); + + /* redirect to online application's start page */ + response.sendRedirect("http://oa.test.test:8080/oa/index.jsp"); /* Substitute for URL in online application */ +%> -- cgit v1.2.3 From bb444223c1b737319f473f6816566fa28b658cf5 Mon Sep 17 00:00:00 2001 From: mcentner Date: Wed, 8 Aug 2007 14:06:55 +0000 Subject: id mavenized git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@917 d688527b-c9ab-4aba-bd8d-4036d912da1d --- id/oa/pom.xml | 27 +++++ id/pom.xml | 22 ++++ id/server/auth/assembly-war.xml | 94 +++++++++++++++++ id/server/auth/assembly.xml | 7 ++ id/server/auth/pom.xml | 144 ++++++++++++++++++++++++++ id/server/distribution/assembly-auth.xml | 86 ++++++++++++++++ id/server/distribution/assembly-proxy.xml | 89 ++++++++++++++++ id/server/distribution/pom.xml | 115 +++++++++++++++++++++ id/server/idserverlib/pom.xml | 164 ++++++++++++++++++++++++++++++ id/server/pom.xml | 134 ++++++++++++++++++++++++ id/server/proxy/assembly-war.xml | 85 ++++++++++++++++ id/server/proxy/pom.xml | 136 +++++++++++++++++++++++++ id/templates/pom.xml | 13 +++ 13 files changed, 1116 insertions(+) create mode 100644 id/oa/pom.xml create mode 100644 id/pom.xml create mode 100644 id/server/auth/assembly-war.xml create mode 100644 id/server/auth/assembly.xml create mode 100644 id/server/auth/pom.xml create mode 100644 id/server/distribution/assembly-auth.xml create mode 100644 id/server/distribution/assembly-proxy.xml create mode 100644 id/server/distribution/pom.xml create mode 100644 id/server/idserverlib/pom.xml create mode 100644 id/server/pom.xml create mode 100644 id/server/proxy/assembly-war.xml create mode 100644 id/server/proxy/pom.xml create mode 100644 id/templates/pom.xml (limited to 'id/oa') diff --git a/id/oa/pom.xml b/id/oa/pom.xml new file mode 100644 index 000000000..fec2e709b --- /dev/null +++ b/id/oa/pom.xml @@ -0,0 +1,27 @@ + + 4.0.0 + MOA + oa + war + 1.4.0 + MOA Sample OA + + + oa + + + org.apache.maven.plugins + maven-compiler-plugin + + true + true + ${env.BUILD_EXECUTEABLE} + ${env.BUILD_VERSION} + 1.3 + 1.3 + + + + + diff --git a/id/pom.xml b/id/pom.xml new file mode 100644 index 000000000..e8e58a667 --- /dev/null +++ b/id/pom.xml @@ -0,0 +1,22 @@ + + + MOA + MOA + 1.4.0 + + + 4.0.0 + MOA + id + pom + 1.4.0 + MOA Id + + + oa + templates + server + + + \ No newline at end of file diff --git a/id/server/auth/assembly-war.xml b/id/server/auth/assembly-war.xml new file mode 100644 index 000000000..15f10f4cb --- /dev/null +++ b/id/server/auth/assembly-war.xml @@ -0,0 +1,94 @@ + + web + + + war + + + false + + + + ${basedir}/src/main/webapp + / + + + ${basedir}/../idserverlib/target/classes + WEB-INF/classes + + **/proxy/** + + + + ${basedir}/src/main/webapp + / + + + ${basedir}/../resources/wsdl + resources/schema + + **/*.wsdl + + + + ${basedir}/../../../common/target + WEB-INF/lib + + **/*.jar + + + + ${basedir}/../../../spss/server/serverlib/target + WEB-INF/lib + + **/*.jar + + + + ${basedir}/../resources + WEB-INF/classes/resources + + + ${basedir}/../services + WEB-INF/classes/META-INF/services + + + + + + + javaext:activation + axis:axis + commons-discovery:commons-discovery + commons-fileupload:commons-fileupload + commons-io:commons-io + commons-logging:commons-logging + jaxp:dom + iaik.prod:iaik_ixsil + iaik.prod:iaik_moa_full + iaik.prod:iaik_Pkcs11Wrapper + iaik.prod:iaik_X509TrustManager + jaxen:jaxen-core + jaxen:jaxen-dom + jaxp:jaxp-api + javax.xml:jaxrpc + mail:mail + saaj:saaj + jaxp:sax + jaxen:saxpath + wsdl4j:wsdl4j + regexp:regexp + log4j:log4j + postgresql:postgresql + + WEB-INF/lib + + + + iaik.win32:Pkcs11Wrapper + + WEB-INF/lib/win32 + + + + \ No newline at end of file diff --git a/id/server/auth/assembly.xml b/id/server/auth/assembly.xml new file mode 100644 index 000000000..31709e6c5 --- /dev/null +++ b/id/server/auth/assembly.xml @@ -0,0 +1,7 @@ + + auth + + war + + + \ No newline at end of file diff --git a/id/server/auth/pom.xml b/id/server/auth/pom.xml new file mode 100644 index 000000000..d2adcedfc --- /dev/null +++ b/id/server/auth/pom.xml @@ -0,0 +1,144 @@ + + + MOA.id + server + 1.4.0 + + + 4.0.0 + MOA.id.server + auth + pom + 1.4.0 + MOA Id Server Auth + + + + javaext + activation + + + axis + axis + + + commons-discovery + commons-discovery + + + commons-fileupload + commons-fileupload + + + commons-io + commons-io + + + commons-logging + commons-logging + + + jaxp + dom + + + iaik.prod + iaik_ixsil + + + iaik.prod + iaik_moa_full + + + iaik.prod + iaik_Pkcs11Wrapper + 1.2.16 + compile + + + iaik.prod + iaik_X509TrustManager + + + jaxen + jaxen-core + + + jaxen + jaxen-dom + + + jaxp + jaxp-api + + + javax.xml + jaxrpc-api + + + mail + mail + + + + saaj + saaj + + + jaxp + sax + + + jaxen + saxpath + + + wsdl4j + wsdl4j + + + + postgresql + postgresql + + + log4j + log4j + + + regexp + regexp + + + + iaik.win32 + Pkcs11Wrapper + 1.0 + dll + runtime + + + + + + + maven-assembly-plugin + + + ${basedir}/assembly-war.xml + + + + + make-assembly + package + + attached + + + + + + + \ No newline at end of file diff --git a/id/server/distribution/assembly-auth.xml b/id/server/distribution/assembly-auth.xml new file mode 100644 index 000000000..a732c6f64 --- /dev/null +++ b/id/server/distribution/assembly-auth.xml @@ -0,0 +1,86 @@ + + all-auth + + + zip + + + false + + + + ${basedir}/../data/deploy + /auth + + + ${basedir}/../auth/target + /auth + + **/*.war + + + + ${basedir}/../doc + /auth/doc + + + ${basedir}/../../templates/target + /auth/templates + + **/*.war + + + + ${basedir}/../data/deploy/templates + /auth/templates + + **/*.txt + + + + ${basedir}/../data/deploy/tomcat + /auth/tomcat + + + ${basedir}/../licenses + /auth + + APACHE-LICENSE-2.0.txt + history.txt + IAIK-LICENSE.txt + readme_1.4.0.txt + + + + + + + + xalan:xalan + xerces:xercesImpl + xerces:xmlParserAPIs + + /auth/endorsed + + + + iaik.prod:iaik_ecc + iaik.prod:iaik_jce_full + iaik.prod:iaik_Pkcs11Provider + jsse:jcert + jsse:jnet + jsse:jsse + + /auth/ext13 + + + + iaik.prod:iaik_ecc_signed + iaik.prod:iaik_jce_full_signed + iaik.prod:iaik_Pkcs11Provider_signed + + /auth/ext14 + + + + \ No newline at end of file diff --git a/id/server/distribution/assembly-proxy.xml b/id/server/distribution/assembly-proxy.xml new file mode 100644 index 000000000..cce9dd02c --- /dev/null +++ b/id/server/distribution/assembly-proxy.xml @@ -0,0 +1,89 @@ + + all-proxy + + + zip + + + false + + + + ${basedir}/../data/deploy + /proxy + + **/conf/moa-spss/** + + + + ${basedir}/../proxy/target + /proxy + + **/*.war + + + + ${basedir}/../doc + /proxy/doc + + + ${basedir}/../../templates/target + /proxy/templates + + **/*.war + + + + ${basedir}/../data/deploy/templates + /proxy/templates + + **/*.txt + + + + ${basedir}/../data/deploy/tomcat + /proxy/tomcat + + + ${basedir}/../licenses + /proxy + + APACHE-LICENSE-2.0.txt + history.txt + IAIK-LICENSE.txt + readme_1.4.0.txt + + + + + + + + xalan:xalan + xerces:xercesImpl + xerces:xmlParserAPIs + + /proxy/endorsed + + + + iaik.prod:iaik_ecc + iaik.prod:iaik_jce_full + iaik.prod:iaik_Pkcs11Provider + jsse:jcert + jsse:jnet + jsse:jsse + + /proxy/ext13 + + + + iaik.prod:iaik_ecc_signed + iaik.prod:iaik_jce_full_signed + iaik.prod:iaik_Pkcs11Provider_signed + + /proxy/ext14 + + + + \ No newline at end of file diff --git a/id/server/distribution/pom.xml b/id/server/distribution/pom.xml new file mode 100644 index 000000000..2bbb3923d --- /dev/null +++ b/id/server/distribution/pom.xml @@ -0,0 +1,115 @@ + + + MOA.id + server + 1.4.0 + + + 4.0.0 + MOA + id.server.distribution + pom + 1.4.0 + ID-Server-Distribution + + + ${basedir}/../../buildhelper + + + + + + maven-assembly-plugin + + + ./assembly-auth.xml + ./assembly-proxy.xml + + + + + + make-dist-standalone + package + + attached + + + + + + + + + + xalan + xalan + + + xerces + xercesImpl + + + xerces + xmlParserAPIs + + + + iaik.prod + iaik_ecc + runtime + + + iaik.prod + iaik_jce_full + runtime + + + iaik.prod + iaik_Pkcs11Provider + runtime + + + iaik.prod + iaik_ecc + runtime + + + iaik.prod + iaik_jce_full + runtime + + + iaik.prod + iaik_Pkcs11Provider + runtime + + + iaik.win32 + Pkcs11Wrapper + dll + 1.0 + runtime + + + + jsse + jcert + runtime + + + jsse + jnet + runtime + + + jsse + jsse + runtime + + + + \ No newline at end of file diff --git a/id/server/idserverlib/pom.xml b/id/server/idserverlib/pom.xml new file mode 100644 index 000000000..a10f5eead --- /dev/null +++ b/id/server/idserverlib/pom.xml @@ -0,0 +1,164 @@ + + + MOA.id + server + 1.4.0 + + + 4.0.0 + MOA.id.server + idserverlib + jar + 1.4.0 + MOA ID Serverlibrary + + + ${basedir}/../../../buildhelper + + + + + javaext + activation + + + axis + axis + 1.4 + + + javax.xml + jaxrpc-api + + + mail + mail + + + + javax.servlet + servlet-api + + compile + + + saaj + saaj + + + jaxp + jaxp-api + + + jaxp + dom + + + jaxp + sax + + + xerces + xercesImpl + + + xerces + xmlParserAPIs + + + jaxen + jaxen-core + + + jaxen + jaxen-dom + + + jaxen + saxpath + + + xalan + xalan + + + junit + junit + + + jsse + jsse + + + jsse + jnet + + + jsse + jcert + + + commons-logging + commons-logging + + + commons-discovery + commons-discovery + + + commons-fileupload + commons-fileupload + + + commons-io + commons-io + + + dav4j + dav4j + + + httpsclient + httpsclient + + + MOA + common + + + MOA + common-test + + + MOA.spss.server + serverlib + + + iaik.prod + iaik_moa_full + + + iaik.prod + iaik_ecc + + + iaik.prod + iaik_jce_full + + provided + + + iaik.prod + iaik_ixsil + + + iaik.prod + iaik_X509TrustManager + + + iaik.prod + iaik_ldap + + + diff --git a/id/server/pom.xml b/id/server/pom.xml new file mode 100644 index 000000000..9c49a5885 --- /dev/null +++ b/id/server/pom.xml @@ -0,0 +1,134 @@ + + + MOA + id + 1.4.0 + + + 4.0.0 + MOA.id + server + pom + 1.4.0 + MOA Id Server + + + idserverlib + auth + proxy + distribution + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + true + true + ${env.BUILD_EXECUTEABLE} + ${env.BUILD_VERSION} + 1.3 + 1.3 + + + + + + + + + javaext + activation + 1.0.2 + compile + + + axis + axis + 1.4 + compile + + + dav4j + dav4j + 0.1 + compile + + + httpsclient + httpsclient + JSSE-1.0 + compile + + + mail + mail + 1.5 + compile + + + commons-fileupload + commons-fileupload + 1.1.1 + compile + + + commons-io + commons-io + 1.1 + compile + + + MOA.spss.server + serverlib + 1.4.0 + compile + + + postgresql + postgresql + 7.3-jdbc2 + runtime + + + log4j + log4j + 1.2.8 + runtime + + + regexp + regexp + 1.3 + runtime + + + iaik.prod + iaik_Pkcs11Provider + 1.2.4 + provided + + + iaik.prod + iaik_ecc_signed + 2.15 + runtime + + + iaik.prod + iaik_jce_full_signed + 3.142_MOA + runtime + + + iaik.prod + iaik_Pkcs11Provider + 1.2.4 + runtime + + + + diff --git a/id/server/proxy/assembly-war.xml b/id/server/proxy/assembly-war.xml new file mode 100644 index 000000000..b9f84d762 --- /dev/null +++ b/id/server/proxy/assembly-war.xml @@ -0,0 +1,85 @@ + + web + + + war + + + false + + + + ${basedir}/src/main/webapp + / + + + ${basedir}/../idserverlib/target/classes + WEB-INF/classes + + **/auth/** + + + + ${basedir}/src/main/webapp + / + + + ${basedir}/../../../common/target + WEB-INF/lib + + **/*.jar + + + + ${basedir}/../../../spss/server/serverlib/target + WEB-INF/lib + + **/*.jar + + + + ${basedir}/../resources + WEB-INF/classes/resources + + + ${basedir}/../services + WEB-INF/classes/META-INF/services + + + + + + + javaext:activation + axis:axis + commons-discovery:commons-discovery + commons-logging:commons-logging + jaxp:dom + iaik.prod:iaik_ixsil + iaik.prod:iaik_moa_full + iaik.prod:iaik_Pkcs11Wrapper + iaik.prod:iaik_X509TrustManager + jaxen:jaxen-core + jaxen:jaxen-dom + jaxp:jaxp-api + javax.xml:jaxrpc + mail:mail + saaj:saaj + jaxp:sax + jaxen:saxpath + wsdl4j:wsdl4j + regexp:regexp + log4j:log4j + postgresql:postgresql + + WEB-INF/lib + + + + iaik.win32:Pkcs11Wrapper + + WEB-INF/lib/win32 + + + + \ No newline at end of file diff --git a/id/server/proxy/pom.xml b/id/server/proxy/pom.xml new file mode 100644 index 000000000..0ca85d599 --- /dev/null +++ b/id/server/proxy/pom.xml @@ -0,0 +1,136 @@ + + + MOA.id + server + 1.4.0 + + + 4.0.0 + MOA.id.server + proxy + pom + 1.4.0 + MOA Id Server Proxy + + + + javaext + activation + + + axis + axis + + + commons-discovery + commons-discovery + + + commons-logging + commons-logging + + + jaxp + dom + + + iaik.prod + iaik_ixsil + + + iaik.prod + iaik_moa_full + + + iaik.prod + iaik_Pkcs11Wrapper + 1.2.16 + compile + + + iaik.prod + iaik_X509TrustManager + + + jaxen + jaxen-core + + + jaxen + jaxen-dom + + + jaxp + jaxp-api + + + javax.xml + jaxrpc-api + + + mail + mail + + + + saaj + saaj + + + jaxp + sax + + + jaxen + saxpath + + + wsdl4j + wsdl4j + + + + postgresql + postgresql + + + log4j + log4j + + + regexp + regexp + + + + iaik.win32 + Pkcs11Wrapper + 1.0 + dll + runtime + + + + + + + maven-assembly-plugin + + + ${basedir}/assembly-war.xml + + + + + make-assembly + package + + attached + + + + + + + \ No newline at end of file diff --git a/id/templates/pom.xml b/id/templates/pom.xml new file mode 100644 index 000000000..b17eba962 --- /dev/null +++ b/id/templates/pom.xml @@ -0,0 +1,13 @@ + + 4.0.0 + MOA + templates + war + 1.4.0 + MOA Sample Templates + + + moaid-templates + + -- cgit v1.2.3 From 9b787d3409e629f292a98d0b5a0aad036b7421c7 Mon Sep 17 00:00:00 2001 From: mcentner Date: Fri, 17 Aug 2007 08:47:35 +0000 Subject: Improved and updated maven build process. git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@919 d688527b-c9ab-4aba-bd8d-4036d912da1d --- common-test/pom.xml | 137 ++-- common/pom.xml | 151 ++-- id.server/APACHE-LICENSE-2.0.txt | 202 ----- id.server/IAIK-LICENSE.txt | 13 - id.server/history.txt | 357 -------- id.server/readme_1.4.0.txt | 153 ---- id/assembly-auth.xml | 105 +++ id/assembly-proxy.xml | 93 +++ id/oa/pom.xml | 43 +- id/pom.xml | 46 +- id/server/auth/assembly-war.xml | 94 --- id/server/auth/assembly.xml | 7 - id/server/auth/pom.xml | 204 ++--- .../data/deploy/templates/moaid-templates.war | Bin 32185 -> 0 bytes id/server/distribution/assembly-auth.xml | 86 -- id/server/distribution/assembly-proxy.xml | 89 -- id/server/distribution/pom.xml | 115 --- id/server/doc/moa_id/api-doc/allclasses-frame.html | 44 - .../doc/moa_id/api-doc/allclasses-noframe.html | 44 - .../moa/id/AuthenticationException.html | 251 ------ .../moa/id/auth/AuthenticationServer.html | 631 -------------- .../id/auth/class-use/AuthenticationServer.html | 172 ---- .../gv/egovernment/moa/id/auth/package-frame.html | 32 - .../egovernment/moa/id/auth/package-summary.html | 148 ---- .../gv/egovernment/moa/id/auth/package-tree.html | 145 ---- .../at/gv/egovernment/moa/id/auth/package-use.html | 162 ---- .../moa/id/class-use/AuthenticationException.html | 228 ------ .../moa/id/config/proxy/OAConfiguration.html | 613 -------------- .../id/config/proxy/class-use/OAConfiguration.html | 184 ----- .../moa/id/config/proxy/package-frame.html | 32 - .../moa/id/config/proxy/package-summary.html | 149 ---- .../moa/id/config/proxy/package-tree.html | 145 ---- .../moa/id/config/proxy/package-use.html | 163 ---- .../moa/id/data/AuthenticationData.html | 906 --------------------- .../moa/id/data/class-use/AuthenticationData.html | 214 ----- .../gv/egovernment/moa/id/data/package-frame.html | 32 - .../egovernment/moa/id/data/package-summary.html | 148 ---- .../gv/egovernment/moa/id/data/package-tree.html | 145 ---- .../at/gv/egovernment/moa/id/data/package-use.html | 181 ---- .../at/gv/egovernment/moa/id/package-frame.html | 32 - .../at/gv/egovernment/moa/id/package-summary.html | 148 ---- .../at/gv/egovernment/moa/id/package-tree.html | 147 ---- .../at/gv/egovernment/moa/id/package-use.html | 162 ---- .../moa/id/proxy/ConnectionBuilder.html | 249 ------ .../moa/id/proxy/LoginParameterResolver.html | 506 ------------ .../id/proxy/LoginParameterResolverException.html | 251 ------ .../moa/id/proxy/NotAllowedException.html | 253 ------ .../moa/id/proxy/class-use/ConnectionBuilder.html | 136 ---- .../id/proxy/class-use/LoginParameterResolver.html | 136 ---- .../class-use/LoginParameterResolverException.html | 192 ----- .../id/proxy/class-use/NotAllowedException.html | 182 ----- .../gv/egovernment/moa/id/proxy/package-frame.html | 47 -- .../egovernment/moa/id/proxy/package-summary.html | 175 ---- .../gv/egovernment/moa/id/proxy/package-tree.html | 154 ---- .../gv/egovernment/moa/id/proxy/package-use.html | 170 ---- id/server/doc/moa_id/api-doc/constant-values.html | 262 ------ id/server/doc/moa_id/api-doc/deprecated-list.html | 134 --- id/server/doc/moa_id/api-doc/help-doc.html | 193 ----- id/server/doc/moa_id/api-doc/index-all.html | 462 ----------- id/server/doc/moa_id/api-doc/index.html | 26 - id/server/doc/moa_id/api-doc/overview-frame.html | 50 -- id/server/doc/moa_id/api-doc/overview-summary.html | 165 ---- id/server/doc/moa_id/api-doc/overview-tree.html | 155 ---- id/server/doc/moa_id/api-doc/package-list | 5 - id/server/doc/moa_id/api-doc/packages.html | 37 - id/server/doc/moa_id/api-doc/resources/inherit.gif | Bin 57 -> 0 bytes id/server/doc/moa_id/api-doc/serialized-form.html | 169 ---- id/server/doc/moa_id/api-doc/stylesheet.css | 29 - id/server/idserverlib/pom.xml | 308 ++++--- id/server/pom.xml | 157 +--- id/server/proxy/assembly-war.xml | 15 +- id/server/proxy/pom.xml | 318 +++++--- id/templates/pom.xml | 36 +- pom.xml | 618 +++++++------- repository/dav4j/dav4j/0.1/dav4j-0.1.jar | Bin 0 -> 323880 bytes repository/dav4j/dav4j/0.1/dav4j-0.1.pom | 7 + repository/dav4j/dav4j/maven-metadata-local.xml | 11 + .../httpsclient/JSSE-1.0/httpsclient-JSSE-1.0.jar | Bin 0 -> 216839 bytes .../httpsclient/JSSE-1.0/httpsclient-JSSE-1.0.pom | 7 + .../httpsclient/maven-metadata-local.xml | 11 + .../1.2.4/iaik_Pkcs11Provider-1.2.4.jar | Bin 0 -> 350831 bytes .../1.2.4/iaik_Pkcs11Provider-1.2.4.jar.md5 | 1 + .../1.2.4/iaik_Pkcs11Provider-1.2.4.jar.sha1 | 1 + .../1.2.4/iaik_Pkcs11Provider-1.2.4.pom | 7 + .../1.2.4/iaik_Pkcs11Provider-1.2.4.pom.md5 | 1 + .../1.2.4/iaik_Pkcs11Provider-1.2.4.pom.sha1 | 1 + .../iaik_Pkcs11Provider/maven-metadata-central.xml | 13 + .../maven-metadata-central.xml.md5 | 1 + .../maven-metadata-central.xml.sha1 | 1 + .../prod/iaik_Pkcs11Provider/maven-metadata.xml | 13 + .../iaik_Pkcs11Provider/maven-metadata.xml.md5 | 1 + .../iaik_Pkcs11Provider/maven-metadata.xml.sha1 | 1 + .../1.2.16/iaik_Pkcs11Wrapper-1.2.16-win32.dll | Bin 0 -> 98304 bytes .../1.2.16/iaik_Pkcs11Wrapper-1.2.16-win32.dll.md5 | 1 + .../iaik_Pkcs11Wrapper-1.2.16-win32.dll.sha1 | 1 + .../1.2.16/iaik_Pkcs11Wrapper-1.2.16.jar | Bin 0 -> 257600 bytes .../1.2.16/iaik_Pkcs11Wrapper-1.2.16.jar.md5 | 1 + .../1.2.16/iaik_Pkcs11Wrapper-1.2.16.jar.sha1 | 1 + .../1.2.16/iaik_Pkcs11Wrapper-1.2.16.pom | 8 + .../1.2.16/iaik_Pkcs11Wrapper-1.2.16.pom.md5 | 1 + .../1.2.16/iaik_Pkcs11Wrapper-1.2.16.pom.sha1 | 1 + .../iaik_Pkcs11Wrapper/maven-metadata-central.xml | 13 + .../maven-metadata-central.xml.md5 | 1 + .../maven-metadata-central.xml.sha1 | 1 + .../prod/iaik_Pkcs11Wrapper/maven-metadata.xml | 13 + .../prod/iaik_Pkcs11Wrapper/maven-metadata.xml.md5 | 1 + .../iaik_Pkcs11Wrapper/maven-metadata.xml.sha1 | 1 + .../0.2/iaik_X509TrustManager-0.2.jar | Bin 0 -> 3635 bytes .../0.2/iaik_X509TrustManager-0.2.jar.md5 | 1 + .../0.2/iaik_X509TrustManager-0.2.jar.sha1 | 1 + .../0.2/iaik_X509TrustManager-0.2.pom | 7 + .../0.2/iaik_X509TrustManager-0.2.pom.md5 | 1 + .../0.2/iaik_X509TrustManager-0.2.pom.sha1 | 1 + .../maven-metadata-central.xml | 13 + .../maven-metadata-central.xml.md5 | 1 + .../maven-metadata-central.xml.sha1 | 1 + .../prod/iaik_X509TrustManager/maven-metadata.xml | 13 + .../iaik_X509TrustManager/maven-metadata.xml.md5 | 1 + .../iaik_X509TrustManager/maven-metadata.xml.sha1 | 1 + repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.jar | Bin 0 -> 285185 bytes .../iaik/prod/iaik_cms/3.2/iaik_cms-3.2.jar.md5 | 1 + .../iaik/prod/iaik_cms/3.2/iaik_cms-3.2.jar.sha1 | 1 + repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.pom | 7 + .../iaik/prod/iaik_cms/3.2/iaik_cms-3.2.pom.md5 | 1 + .../iaik/prod/iaik_cms/3.2/iaik_cms-3.2.pom.sha1 | 1 + .../iaik/prod/iaik_cms/maven-metadata-central.xml | 13 + .../prod/iaik_cms/maven-metadata-central.xml.md5 | 1 + .../prod/iaik_cms/maven-metadata-central.xml.sha1 | 1 + repository/iaik/prod/iaik_cms/maven-metadata.xml | 13 + .../iaik/prod/iaik_cms/maven-metadata.xml.md5 | 1 + .../iaik/prod/iaik_cms/maven-metadata.xml.sha1 | 1 + .../iaik/prod/iaik_ecc/2.15/iaik_ecc-2.15.jar | Bin 0 -> 134782 bytes .../iaik/prod/iaik_ecc/2.15/iaik_ecc-2.15.pom | 7 + .../iaik/prod/iaik_ecc/maven-metadata-local.xml | 11 + .../IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.jar | Bin 0 -> 204598 bytes .../IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.jar.md5 | 1 + .../iaik_ixsil-IXSIL-1.2.2.3.jar.sha1 | 1 + .../IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.pom | 7 + .../IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.pom.md5 | 1 + .../iaik_ixsil-IXSIL-1.2.2.3.pom.sha1 | 1 + .../prod/iaik_ixsil/maven-metadata-central.xml | 13 + .../prod/iaik_ixsil/maven-metadata-central.xml.md5 | 1 + .../iaik_ixsil/maven-metadata-central.xml.sha1 | 1 + repository/iaik/prod/iaik_ixsil/maven-metadata.xml | 13 + .../iaik/prod/iaik_ixsil/maven-metadata.xml.md5 | 1 + .../iaik/prod/iaik_ixsil/maven-metadata.xml.sha1 | 1 + .../3.142_MOA/iaik_jce_full-3.142_MOA.jar | Bin 0 -> 837275 bytes .../3.142_MOA/iaik_jce_full-3.142_MOA.jar.md5 | 1 + .../3.142_MOA/iaik_jce_full-3.142_MOA.jar.sha1 | 1 + .../3.142_MOA/iaik_jce_full-3.142_MOA.pom | 7 + .../3.142_MOA/iaik_jce_full-3.142_MOA.pom.md5 | 1 + .../3.142_MOA/iaik_jce_full-3.142_MOA.pom.sha1 | 1 + .../prod/iaik_jce_full/maven-metadata-central.xml | 13 + .../iaik_jce_full/maven-metadata-central.xml.md5 | 1 + .../iaik_jce_full/maven-metadata-central.xml.sha1 | 1 + .../iaik/prod/iaik_jce_full/maven-metadata.xml | 13 + .../iaik/prod/iaik_jce_full/maven-metadata.xml.md5 | 1 + .../prod/iaik_jce_full/maven-metadata.xml.sha1 | 1 + .../iaik/prod/iaik_moa/1.20/iaik_moa-1.20.jar | Bin 0 -> 692493 bytes .../iaik/prod/iaik_moa/1.20/iaik_moa-1.20.jar.md5 | 1 + .../iaik/prod/iaik_moa/1.20/iaik_moa-1.20.jar.sha1 | 1 + .../iaik/prod/iaik_moa/1.20/iaik_moa-1.20.pom | 7 + .../iaik/prod/iaik_moa/1.20/iaik_moa-1.20.pom.md5 | 1 + .../iaik/prod/iaik_moa/1.20/iaik_moa-1.20.pom.sha1 | 1 + .../iaik/prod/iaik_moa/maven-metadata-central.xml | 13 + .../prod/iaik_moa/maven-metadata-central.xml.md5 | 1 + .../prod/iaik_moa/maven-metadata-central.xml.sha1 | 1 + repository/iaik/prod/iaik_moa/maven-metadata.xml | 13 + .../iaik/prod/iaik_moa/maven-metadata.xml.md5 | 1 + .../iaik/prod/iaik_moa/maven-metadata.xml.sha1 | 1 + spss/assembly.xml | 207 +++++ spss/pom.xml | 246 +----- spss/server/distribution/assembly.xml | 92 --- spss/server/distribution/pom.xml | 111 --- spss/server/history.txt | 268 ++++++ spss/server/pom.xml | 46 +- spss/server/readme.inst.txt | 56 ++ spss/server/readme.src.txt | 77 ++ spss/server/readme.update.txt | 137 ++++ spss/server/serverlib/pom.xml | 197 +++-- .../resources/data/deploy/tools/certtool.bat | 25 - .../resources/data/deploy/tools/certtool.sh | 20 - .../resources/data/deploy/tools/configtool.bat | 25 - .../resources/data/deploy/tools/configtool.sh | 20 - .../java/at/gv/egovernment/moa/spss/overview.htm | 155 ---- .../moa/spss/server/tools/CertTool.java | 242 ------ .../moa/spss/server/tools/ConfigTool.java | 59 -- .../serverlib/src/main/javadoc/overview.html | 155 ++++ spss/server/serverws/assembly.xml | 71 -- spss/server/serverws/pom.xml | 199 ++--- spss/server/tools/pom.xml | 34 + .../moa/spss/server/tools/CertTool.java | 242 ++++++ .../moa/spss/server/tools/ConfigTool.java | 59 ++ 193 files changed, 2888 insertions(+), 12942 deletions(-) delete mode 100644 id.server/APACHE-LICENSE-2.0.txt delete mode 100644 id.server/IAIK-LICENSE.txt delete mode 100644 id.server/history.txt delete mode 100644 id.server/readme_1.4.0.txt create mode 100644 id/assembly-auth.xml create mode 100644 id/assembly-proxy.xml delete mode 100644 id/server/auth/assembly-war.xml delete mode 100644 id/server/auth/assembly.xml delete mode 100644 id/server/data/deploy/templates/moaid-templates.war delete mode 100644 id/server/distribution/assembly-auth.xml delete mode 100644 id/server/distribution/assembly-proxy.xml delete mode 100644 id/server/distribution/pom.xml delete mode 100644 id/server/doc/moa_id/api-doc/allclasses-frame.html delete mode 100644 id/server/doc/moa_id/api-doc/allclasses-noframe.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/AuthenticationException.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/AuthenticationServer.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/class-use/AuthenticationServer.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/package-frame.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/package-summary.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/package-tree.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/package-use.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/class-use/AuthenticationException.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/OAConfiguration.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/class-use/OAConfiguration.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/package-frame.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/package-summary.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/package-tree.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/package-use.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/AuthenticationData.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/class-use/AuthenticationData.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/package-frame.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/package-summary.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/package-tree.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/package-use.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/package-frame.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/package-summary.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/package-tree.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/package-use.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/ConnectionBuilder.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/LoginParameterResolver.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/LoginParameterResolverException.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/NotAllowedException.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/class-use/ConnectionBuilder.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/class-use/LoginParameterResolver.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/class-use/LoginParameterResolverException.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/class-use/NotAllowedException.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/package-frame.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/package-summary.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/package-tree.html delete mode 100644 id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/package-use.html delete mode 100644 id/server/doc/moa_id/api-doc/constant-values.html delete mode 100644 id/server/doc/moa_id/api-doc/deprecated-list.html delete mode 100644 id/server/doc/moa_id/api-doc/help-doc.html delete mode 100644 id/server/doc/moa_id/api-doc/index-all.html delete mode 100644 id/server/doc/moa_id/api-doc/index.html delete mode 100644 id/server/doc/moa_id/api-doc/overview-frame.html delete mode 100644 id/server/doc/moa_id/api-doc/overview-summary.html delete mode 100644 id/server/doc/moa_id/api-doc/overview-tree.html delete mode 100644 id/server/doc/moa_id/api-doc/package-list delete mode 100644 id/server/doc/moa_id/api-doc/packages.html delete mode 100644 id/server/doc/moa_id/api-doc/resources/inherit.gif delete mode 100644 id/server/doc/moa_id/api-doc/serialized-form.html delete mode 100644 id/server/doc/moa_id/api-doc/stylesheet.css create mode 100644 repository/dav4j/dav4j/0.1/dav4j-0.1.jar create mode 100644 repository/dav4j/dav4j/0.1/dav4j-0.1.pom create mode 100644 repository/dav4j/dav4j/maven-metadata-local.xml create mode 100644 repository/httpsclient/httpsclient/JSSE-1.0/httpsclient-JSSE-1.0.jar create mode 100644 repository/httpsclient/httpsclient/JSSE-1.0/httpsclient-JSSE-1.0.pom create mode 100644 repository/httpsclient/httpsclient/maven-metadata-local.xml create mode 100644 repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.jar create mode 100644 repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.jar.md5 create mode 100644 repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.jar.sha1 create mode 100644 repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.pom create mode 100644 repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.pom.md5 create mode 100644 repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.pom.sha1 create mode 100644 repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata-central.xml create mode 100644 repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata-central.xml.md5 create mode 100644 repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata-central.xml.sha1 create mode 100644 repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata.xml create mode 100644 repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata.xml.md5 create mode 100644 repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata.xml.sha1 create mode 100644 repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16-win32.dll create mode 100644 repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16-win32.dll.md5 create mode 100644 repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16-win32.dll.sha1 create mode 100644 repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.jar create mode 100644 repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.jar.md5 create mode 100644 repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.jar.sha1 create mode 100644 repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.pom create mode 100644 repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.pom.md5 create mode 100644 repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.pom.sha1 create mode 100644 repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata-central.xml create mode 100644 repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata-central.xml.md5 create mode 100644 repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata-central.xml.sha1 create mode 100644 repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata.xml create mode 100644 repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata.xml.md5 create mode 100644 repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata.xml.sha1 create mode 100644 repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.jar create mode 100644 repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.jar.md5 create mode 100644 repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.jar.sha1 create mode 100644 repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.pom create mode 100644 repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.pom.md5 create mode 100644 repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.pom.sha1 create mode 100644 repository/iaik/prod/iaik_X509TrustManager/maven-metadata-central.xml create mode 100644 repository/iaik/prod/iaik_X509TrustManager/maven-metadata-central.xml.md5 create mode 100644 repository/iaik/prod/iaik_X509TrustManager/maven-metadata-central.xml.sha1 create mode 100644 repository/iaik/prod/iaik_X509TrustManager/maven-metadata.xml create mode 100644 repository/iaik/prod/iaik_X509TrustManager/maven-metadata.xml.md5 create mode 100644 repository/iaik/prod/iaik_X509TrustManager/maven-metadata.xml.sha1 create mode 100644 repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.jar create mode 100644 repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.jar.md5 create mode 100644 repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.jar.sha1 create mode 100644 repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.pom create mode 100644 repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.pom.md5 create mode 100644 repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.pom.sha1 create mode 100644 repository/iaik/prod/iaik_cms/maven-metadata-central.xml create mode 100644 repository/iaik/prod/iaik_cms/maven-metadata-central.xml.md5 create mode 100644 repository/iaik/prod/iaik_cms/maven-metadata-central.xml.sha1 create mode 100644 repository/iaik/prod/iaik_cms/maven-metadata.xml create mode 100644 repository/iaik/prod/iaik_cms/maven-metadata.xml.md5 create mode 100644 repository/iaik/prod/iaik_cms/maven-metadata.xml.sha1 create mode 100644 repository/iaik/prod/iaik_ecc/2.15/iaik_ecc-2.15.jar create mode 100644 repository/iaik/prod/iaik_ecc/2.15/iaik_ecc-2.15.pom create mode 100644 repository/iaik/prod/iaik_ecc/maven-metadata-local.xml create mode 100644 repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.jar create mode 100644 repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.jar.md5 create mode 100644 repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.jar.sha1 create mode 100644 repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.pom create mode 100644 repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.pom.md5 create mode 100644 repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.pom.sha1 create mode 100644 repository/iaik/prod/iaik_ixsil/maven-metadata-central.xml create mode 100644 repository/iaik/prod/iaik_ixsil/maven-metadata-central.xml.md5 create mode 100644 repository/iaik/prod/iaik_ixsil/maven-metadata-central.xml.sha1 create mode 100644 repository/iaik/prod/iaik_ixsil/maven-metadata.xml create mode 100644 repository/iaik/prod/iaik_ixsil/maven-metadata.xml.md5 create mode 100644 repository/iaik/prod/iaik_ixsil/maven-metadata.xml.sha1 create mode 100644 repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.jar create mode 100644 repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.jar.md5 create mode 100644 repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.jar.sha1 create mode 100644 repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.pom create mode 100644 repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.pom.md5 create mode 100644 repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.pom.sha1 create mode 100644 repository/iaik/prod/iaik_jce_full/maven-metadata-central.xml create mode 100644 repository/iaik/prod/iaik_jce_full/maven-metadata-central.xml.md5 create mode 100644 repository/iaik/prod/iaik_jce_full/maven-metadata-central.xml.sha1 create mode 100644 repository/iaik/prod/iaik_jce_full/maven-metadata.xml create mode 100644 repository/iaik/prod/iaik_jce_full/maven-metadata.xml.md5 create mode 100644 repository/iaik/prod/iaik_jce_full/maven-metadata.xml.sha1 create mode 100644 repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.jar create mode 100644 repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.jar.md5 create mode 100644 repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.jar.sha1 create mode 100644 repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.pom create mode 100644 repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.pom.md5 create mode 100644 repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.pom.sha1 create mode 100644 repository/iaik/prod/iaik_moa/maven-metadata-central.xml create mode 100644 repository/iaik/prod/iaik_moa/maven-metadata-central.xml.md5 create mode 100644 repository/iaik/prod/iaik_moa/maven-metadata-central.xml.sha1 create mode 100644 repository/iaik/prod/iaik_moa/maven-metadata.xml create mode 100644 repository/iaik/prod/iaik_moa/maven-metadata.xml.md5 create mode 100644 repository/iaik/prod/iaik_moa/maven-metadata.xml.sha1 create mode 100644 spss/assembly.xml delete mode 100644 spss/server/distribution/assembly.xml delete mode 100644 spss/server/distribution/pom.xml create mode 100644 spss/server/history.txt create mode 100644 spss/server/readme.inst.txt create mode 100644 spss/server/readme.src.txt create mode 100644 spss/server/readme.update.txt delete mode 100644 spss/server/serverlib/resources/data/deploy/tools/certtool.bat delete mode 100644 spss/server/serverlib/resources/data/deploy/tools/certtool.sh delete mode 100644 spss/server/serverlib/resources/data/deploy/tools/configtool.bat delete mode 100644 spss/server/serverlib/resources/data/deploy/tools/configtool.sh delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/overview.htm delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/tools/CertTool.java delete mode 100644 spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/tools/ConfigTool.java create mode 100644 spss/server/serverlib/src/main/javadoc/overview.html delete mode 100644 spss/server/serverws/assembly.xml create mode 100644 spss/server/tools/pom.xml create mode 100644 spss/server/tools/src/main/java/at/gv/egovernment/moa/spss/server/tools/CertTool.java create mode 100644 spss/server/tools/src/main/java/at/gv/egovernment/moa/spss/server/tools/ConfigTool.java (limited to 'id/oa') diff --git a/common-test/pom.xml b/common-test/pom.xml index c8ec76281..fc017a907 100644 --- a/common-test/pom.xml +++ b/common-test/pom.xml @@ -1,93 +1,52 @@ - - - MOA - MOA - 1.4.0 - + + + MOA + MOA + 1.4.0 + - 4.0.0 - MOA - common-test - 1.4.0 - jar - MOA common test-library + 4.0.0 + MOA + moa-common-test + 1.4.0 + jar + MOA common test-library - - - - org.apache.maven.plugins - maven-compiler-plugin - - true - true - ${env.BUILD_EXECUTEABLE} - ${env.BUILD_VERSION} - 1.3 - 1.3 - - - - + + ${basedir}/../repository + - - - MOA - common - compile - - - junit - junit - compile - - - commons-logging - commons-logging - - - iaik.prod - iaik_jce_full - - - jaxen - jaxen-core - - - jaxen - jaxen-dom - - - jaxen - saxpath - - - jaxp - jaxp-api - - - jsse - jsse - - - jsse - jnet - - - jsse - jcert - - - xalan - xalan - - - xerces - xercesImpl - - - xerces - xmlParserAPIs - - + + + MOA + moa-common + + + junit + junit + compile + + + commons-logging + commons-logging + + + iaik.prod + iaik_jce_full + + + xalan + xalan + + + xerces + xercesImpl + + + xerces + xmlParserAPIs + + diff --git a/common/pom.xml b/common/pom.xml index ac4dcbda0..91907344f 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -1,98 +1,55 @@ - - - MOA - MOA - 1.4.0 - - 4.0.0 - MOA - common - 1.4.0 - jar - MOA common library - - - - - org.apache.maven.plugins - maven-compiler-plugin - - true - true - ${env.BUILD_EXECUTEABLE} - ${env.BUILD_VERSION} - 1.3 - 1.3 - - - - org.apache.maven.plugins - maven-jar-plugin - - - - true - - - - - - - - - - commons-logging - commons-logging - - - iaik.prod - iaik_jce_full - - - junit - junit - test - - - jaxen - jaxen-core - - - jaxen - jaxen-dom - - - jaxen - saxpath - - - jaxp - jaxp-api - - - jsse - jsse - - - jsse - jnet - - - jsse - jcert - - - xalan - xalan - - - xerces - xercesImpl - - - xerces - xmlParserAPIs - - + + + MOA + MOA + 1.4.0 + + 4.0.0 + MOA + moa-common + 1.4.0 + jar + MOA common library + + + ${basedir}/../repository + + + + + commons-logging + commons-logging + + + iaik.prod + iaik_jce_full + + + junit + junit + test + + + jaxen + jaxen + + + saxpath + saxpath + + + xalan + xalan + + + xerces + xercesImpl + + + xerces + xmlParserAPIs + + diff --git a/id.server/APACHE-LICENSE-2.0.txt b/id.server/APACHE-LICENSE-2.0.txt deleted file mode 100644 index d64569567..000000000 --- a/id.server/APACHE-LICENSE-2.0.txt +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - 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. diff --git a/id.server/IAIK-LICENSE.txt b/id.server/IAIK-LICENSE.txt deleted file mode 100644 index c0db63b22..000000000 --- a/id.server/IAIK-LICENSE.txt +++ /dev/null @@ -1,13 +0,0 @@ -IAIK MOA Runtime Lizenz - -Stiftung SIC gewährt dem Lizenznehmer eine nicht-exklusive, nicht-übertragbare -Runtime Lizenz für die "IAIK MOA" Module im Kontext von MOA SP/SS und MOA ID. -Alle Versuche, Teile oder die kompletten IAIK Crypto Toolkits, die zusammen -mit dem MOA Produktbündel ausgeliefert werden, für andere Zwecke als jenem -für Applikationen im MOA Kontext zu verwenden, sind nicht erlaubt. Auch weitere -Versuche, die sich auf die Entwicklung von Anwendungen , oder aber darüber hinaus -auf die Schaffung eines eigenen Toolkits, oder die Aufnahme in ein weiters -weiteres Toolkit beziehen, sind nicht erlaubt. -Die hier beschriebene Runtime Lizenz ist nicht übertragbar auf weitere -Vertragspartner des Kunden, Personen, Organisationen oder Unternehmen -außerhalb der Organisation des Lizenznehmers. diff --git a/id.server/history.txt b/id.server/history.txt deleted file mode 100644 index e06685aa8..000000000 --- a/id.server/history.txt +++ /dev/null @@ -1,357 +0,0 @@ -Dieses Dokument zeigt die Veränderungen und Erweiterungen -von MOA-ID auf. - -History MOA-ID: - -===== -Version MOA-ID 1.4.0: Änderungen seit Version MOA-ID 1.3.3: - -Verbesserungen/Erweiterungen: -- Über konfigurierte Validatoren können mittels des Formularparameters - PushInfobox zusätzlich übergebene Infoboxen geprüft werden (siehe - MOA_ID_1.4_20070802.pdf). - -- IAIK Libraries aktualisiert: - Versionsnummern: - iaik-jce: Version 3.142_MOA - iaik-cms: Version 3.2 - iaikPkcs11Provider: Version 1.2.4 - iaikPkcs11Wrapper: Version 1.2.16 - ixsil: Version IXSIL-1.2.2.1 - ecc: Version v2.15 - iaik-moa: Version 1.20 - -- Neue Mindestanforderung an Java: Version 1.4.0 (1.3.* wird nicht mehr unterstützt) - -- Axis Libraries aktualisiert (auf Version 1.4) - -===== -Version MOA-ID 1.3.3: Änderungen seit Version MOA-ID 1.3.2: - -Verbesserungen/Erweiterungen: -- Unterstützung der Parameterübertragung mittels multipart/form-data in den - Servlets VerifyIdentityLinkServlet (Entgegenname der Personenbindung von der - BKU) und VerifyAuthBlockServlet (Entgegenname des signierten AuthBlocks von - der BKU). Diese Form der Parameterübertragung wurde von Security Layer - Version 1.2 verpflichtend eingeführt. Damit funktioniert MOA-ID nun auch mit - Security Layer Requests der Version 1.2, eine Voraussetzung für die - Verwendung von MOA ID im Bereich der Privatwirtschaft (wbPK als eindeutiges - Personenkennzeichen). - -- Die Templates für den sogenannten AuthBlock, also jenes Dokument, das im Zuge - der Anmeldung vom Bürger/Kunden elektronisch signiert wird, wurden erweitert, - dass sowohl aktuelle BKU (strenge Prüfung im Viewer, Anzeigeformat SLXHTML) - als auch ältere BKU (z.B. hot:Sign Version 1.3 mit einem propriätären - HTML-Dialekt als Anzeigeformat) unterstützt werden. - -Fixes: -- Parsen der Personenbindung aus dem an das VerifyIdentityLinkServlet gesendeten - InfoboxReadResponse funktioniert nun auch, wenn der InfoboxReadResponse ein - anderes als die in den MOA-Konstanten vordefiniertes NS-Präfix verwendet. - -===== -Version MOA-ID 1.3.2: Änderungen seit Version MOA-ID 1.3.1: - -Verbesserungen/Erweiterungen: -- In der URL an die Servlets SelectBKU bzw. StartAuthentication kann der URL- - Parameter Target nun alternativ zur bisher möglichen Form des Bereichskürzels - laut E-Gov BerAbgrVO (z.B. BW für Bauen und Wohnen) auch in der Variante - inklusive Präfix (z.B. urn:publicid:gv.at:cdid+BW für Bauen und Wohnen) - angegeben werden. - -===== -Version MOA-ID 1.3.1: Änderungen seit Version MOA-ID 1.3.1D01: - -Verbesserungen/Erweiterungen: -- Templates zur Gestaltung der Seiten "Auswahl der Bürgerkartenumgebung" - und "Anmeldung mit Bürgerkarte" können nun auch über die - MOA-ID-Konfigurationsdatei geladen werden. - -- IAIK-MOA: CRL wird nun auch akzeptiert, wenn im CLRSigner-Zertifikat KeyUsage - crlSign-Bit nicht gesetzt ist, allerdings nur wenn das Zertifikat - ein Trust-Anchor ist. - -- IAIK-MOA: Eine indirekte CRL wird nun auch akzeptiert, wenn die - "IssuingDistributionPoint"-Extension fehlt. - -Fixes: -- Logging: commons-logging-1.0.4-Libraries (unterstützt auch Tomcat 5*) -- bPK Berechnung (bPK wurde bisher falsch berechnet) -- ist eine Online-Applikation so konfiguriert, dass die Stammzahl - nicht an die nachfolgende Applikation weitergegeben werden darf - (Parameter "provideStammzahl" hat den Wert "false"), so wird die - Stammzahl zwar aus den Anmeldedaten ausgeblendet, nicht aber aus - der Personenbindung (wenn Parameter "provideIdentityLink" auf - den Wert "true" gesetzt ist. Ab Version 1.3.1 wird die Stammzahl - auch aus der Personenbindung entfernt, wenn die Option - "provideStammzahl" aud "false" gesetzt ist. -- Die Transformationen selektieren bei der Jahreszahl des Geburtsdatums - nur die letzen beiden Stellen für die Anzeige im Trusted Viewer. - Ab Verison 1.3.1 wird die volle Jahreszahl (alle vier Stellen) angezeigt. -- Überprüfung, ob Geburtsdatum und Name aus dem signierten Login-Request - mit den entsprechenden Daten aus der Personenbindung übereinstimmen. - -- neue IAIK-JCE-Library: version 3.14 - -===== -Version MOA-ID 1.3.1D01: Änderungen seit Version MOA-ID 1.3.0: - -Verbesserungen/Erweiterungen: -- Produktversion wird zur Wiedererkennbarkeit in Manifest.mf der .war Dateien eingetragen - -- IAIK-MOA: CRL wird nun auch akzeptiert, wenn im CLRSigner-Zertifikat KeyUsage crlSign-Bit nicht gesetzt ist, - allerdings nur wenn das Zertifikat ein Trust-Anchor ist. - -- IAIK-MOA: Eine indirekte CRL wird nun auch akzeptiert, wenn die "IssuingDistributionPoint"-Extension fehlt - -Fixes: -- Logging: commons-logging-1.0.4-Libraries (unterstützt auch Tomcat 5*) - -===== -Version MOA-ID 1.3.0: Änderungen seit Version MOA-ID 1.3.0d01: - -Verbesserungen/Erweiterungen: -- Update der Proxykompnente auf MOA-ID Modus (wbPK) - -- Transformationen können nun auch je Onlineapplikation gesetzt werden - -- Update PKI auf OCSP (für E-CARD) - -- Update der Zertifikatsspeicher und Trustprofile - -- IAIK Libraries wieder nur Vollversion - Versionsnummern: - iaik-jce: Version 3.13_3.13_NONEwithRSA (MOA-ID kann nun auch mit JDK1.5 verwendet werden) - iaik-cms: Version 3.2 - iaikPkcs11Provider: Version 1.1.9 - iaikPkcs11Wrapper: Version 1.2.14 - ixsil: Version IXSIL-1_2_2 - ecc: Version 2.0 - -===== -Version MOA-ID 1.3.0d01: Änderungen seit Version MOA-ID 1.2d10: - -- Update der Authentisierungskomponente auf MOA-WID Modus (wbPK). -- Fixes - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id= - -===== -Version MOA-ID 1.2.0d10: Änderungen seit Version MOA-ID 1.2d09: - -- Aufspalten der IAIK-Libraries in zwei Verzeichnisse, die jeweils - die entsprechenden Voll- bzw. die Evaluierungsversionen enthalten. - Versionsnummern: - iaik-jce: Version 3.13 - iaik-cms: Version 3.2 - iaikPkcs11Provider: Version 1.1.9 - iaikPkcs11Wrapper: Version 1.2.14 - ixsil: Version IXSIL-1_2_1_improvedC14N - ecc: Version 2.0 - -- Anpassen der build.xml-Datei an diese Struktur. - -===== -Version MOA-ID 1.2.0d10: Änderungen seit Version MOA-ID 1.2d09: - -- Aufspalten der IAIK-Libraries in zwei Verzeichnisse, die jeweils - die entsprechenden Voll- bzw. die Evaluierungsversionen enthalten. - Versionsnummern: - iaik-jce: Version 3.13 - iaik-cms: Version 3.2 - iaikPkcs11Provider: Version 1.1.9 - iaikPkcs11Wrapper: Version 1.2.14 - ixsil: Version IXSIL-1_2_1_improvedC14N - ecc: Version 2.0 - -- Anpassen der build.xml-Datei an diese Struktur. - -===== -Version MOA-ID 1.2.0d12: Änderungen seit Version MOA-ID 1.2d09: - -Verbesserungen/Erweiterungen: -- Proxy ermöglicht nun auch Anmeldungen an WebDAV (RFC 2518) Anwendungen - -- Der MOA-ID-PROXY ermöglicht nun bei Basic Authentication auch eine - etwas gelockertere Vorgangsweise bei der Anmeldung an einen Online- - Applikation: So ist es jetzt zusätzlich zur fixen Vorgabe von Benutzernamen - und Passwort möglich das Passwort im Browser eingeben zu lassen oder - sogar eine freie Zuordnung zum Benutzer zu erlauben (Vorteil: es - entfällt die sonst notwendige Wartung der Identities, bzw. das - Mitziehen von durch die Benutzer hervogerufenen Passwortänderungen). - Die Vorgangsweise ist konfigurierbar. - -Fixes: -- Es gab Umstände, bei denen der MOA-ID-PROXY Cookies verwarf. - Dieses Problem ist nun behoben - -- Ergänzung des ausgelieferten certstores um wichtige Zertifikate. - -===== -Version MOA-ID 1.2.0d09: Änderungen seit Version MOA-ID 1.2d08: - -- Austausch der Bibliothek iaik-moa-full.jar - (ECDSA Signature Encoding) - -- Ergänzung des ausgelieferten certstores um wichtige Zertifikate. - -===== -Version MOA-ID 1.2.0d08: Änderungen seit Version MOA-ID 1.2d07: - -- Anpassung des nun in der Personenbindung korrekt verwendeten -ECDSA Namespaces von http://www.w3.org/2004/01/xmldsig-more# -(zwischenzeitlich verwendeter NS) auf -http://www.w3.org/2001/04/xmldsig-more# (gemäß Draft) - -- Update auf die API Version 1.2.0D04 von MOA-SPSS -===== - -Version MOA-ID 1.2.0d07: Änderungen seit Version MOA-ID 1.2d06: - -- Erweiterung um ECC Funktionalität, so dass ECC Karten - (wie z.B. MAESTRO Karten) mit funktionieren - -- Upgrade des Parsers und der XSLT Transform Engine: Die Version - baut nun auf Xerces in der Version xerces-j-2.4.0 und Xalan - in der Version xalan-j-2.5.1 auf. - -===== -Version MOA-ID 1.2.0d06: Änderungen seit Version MOA-ID 1.2d05: - -- Automatische Erkennung des Encodings der BKU Auswahldaten. - Eine Unabhängigkeit von locale und default encoding Einstellungen - des JDK wurde damit bei der Darstellung der Daten der Auswahlseite - erreicht. - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=175 - -===== -Version MOA-ID 1.2.0d05: Änderungen seit Version MOA-ID 1.2d04: - -Verbesserungen/Erweiterungen: - -- Vorlagen für Templates zur Anpassung des Erscheinungsbilds von - MOA-ID wurden hinzugefügt. - -- Kompabilität mit aktueller HotSign Version 1.2SR4rev3 wurde erreicht. - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=140 - -- Upgrade auf neue Loging Bibliothek log4j 1.2.8 - -- Update der Dokumentation - -- Tests mit aktueller Tomcat-Version jakarta-tomcat-4.1.30.zip (Windows) - sowie jakarta-tomcat-4.1.30-LE-jdk14.zip (Linux) wurden durchgeführt. - -===== -Version MOA-ID 1.2.0d04: Änderungen seit Version MOA-ID 1.2d03: - -Verbesserungen/Erweiterungen: - -- Neue stimmige und übersichtlichere Konfigurationen wurden - erstellt. Trustprofile und certstore für neue Testbürgerkarten - a.sign test government und SeLaNext wurden hinzugefügt. - - -Fixes: -- StackOverflowError bei a.sign test government Karten behoben - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=131 - - -Version MOA-ID 1.2.0d3: Änderungen seit Version MOA-ID 1.1.1: - -Verbesserungen/Erweiterungen: -- Umstellung von vPK auf bPK; von ZMR auf Stammzahl. - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=70 -  -- Anpassbare JSP Errorpage und Messagepage für Proxy und Auth - Damit die Formatierungen der Benutzermeldungen an die Kundenwünsche - und das CI der Kunden angepasst werden können, wird JSP - Technologie verwendet. - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=100 - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=102 - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=103 - -- Ausgabe der gen. Ursache falls eine Signaturprüfung fehlschlägt. - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=101 - -- Umschaltung CertifiedKeypair / SecureSignatureKeypair - Durch die Angabe des Attributs ‚keyBoxIdentifier’ im Element - OnlineApplication eine Auswahl des Schlüsselpaars erfolgen. - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=105 -  -- Anpassbare JSP Errorpage für MOA-ID Proxy und MOA-ID Auth - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=70 - -- Erweiterung des AuthBlocks (SAMLAssertion) um Geburtsdatum - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=114 - -- Ergänzung der mitgelieferten Konfiguration - (certstore, trustprofiles auch für Testbürgerkarten) - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=120  -  -Fixes: -- Daten die aus MOA-ID-PROXY an eine OA mittels der - Authentisierungsvariante ParamAuth weitergegeben werden, - müssen URL-Encoded übermittelt werden. - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=104 - -- Meldung: Fehlerhafter Wert für "DirectoryCertStoreParamet... - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=110 - -===== - -Version MOA-ID 1.1.1: Änderungen seit Version MOA-ID 1.1: - -- Fehlermeldungen werden nun im Internet-Explorer unabhängig von dessen - Einstellungen bzgl. Fehlermeldungshandling ("Kurze HTTP Fehlermeldungen - anzeigen") korrekt dargestellt. - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=26 - -- Angabe eine speziellen DATA-URL Präfix ist nun möglich (sinnvoll wenn - ein Webserver vorgeschaltet werden soll) - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=63 - -- Verbesserung der Dokumentation in vielen Details - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=24 - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=25 - -- Ergänzung/Korrektur des WSDL-Files von MOA-ID - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=38 - -- Die ausgelieferte Default Konfiguration wurde verbessert. - ~ Padangaben werden nun relativ zum Konfigurationsfile MOA-ID - ausgewertet. - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=49 - ~ Default Certstore wurde um eine Reihe von Zertifikaten ergänzt. - ~ Zwei verschiedene Signaturprüfprofile (für Personenbindung und - Authentisierungsdaten) werden nun verwendet. - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=40 - -- Die aktuelle Version der MOA-SP Bibliotheken (moa-spss-1.2d01) wurden - integriert. - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=62 - -- Es ist nun per Konfiguration möglich HTTPS Verbindungen auf die - Frontend-Servlets zu erlauben. - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=48 - -- Falsche Fehlermeldung beim Aufruf von VerifyIdentityLink wurde behoben. - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=50 - -- Über die Angeabe des Attributs 'loginParameterResolverConfiguration' kann - dem LoginParameterResolver der PROXY Komponente eine - Initialisierungsparameter mitgegeben werden. - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=71 - -- FAQ wurde ergänzt - https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=69 - - -- Diverse Detailverbesserungen: - https://forge.cio.gv.at/bugzilla/query.cgi - - - - - - - diff --git a/id.server/readme_1.4.0.txt b/id.server/readme_1.4.0.txt deleted file mode 100644 index 24f06f6bc..000000000 --- a/id.server/readme_1.4.0.txt +++ /dev/null @@ -1,153 +0,0 @@ -=============================================================================== -MOA ID Version 1.4.0 - Wichtige Informationen zur Installation -=============================================================================== - -------------------------------------------------------------------------------- -A. Neuerungen/Änderungen -------------------------------------------------------------------------------- - -MOA ID Version 1.4.0 bringt folgende Neuerungen: - -- Über konfigurierte Validatoren können mittels des Formularparameters - PushInfobox zusätzlich übergebene Infoboxen geprüft werden. - -- Unterstützung der Parameterübertragung mittels multipart/form-data in den - Servlets VerifyIdentityLinkServlet (Entgegennahme der Personenbindung von der - BKU) und VerifyAuthBlockServlet (Entgegennahme des signierten AuthBlocks von - der BKU). Diese Form der Parameterübertragung wurde von Security Layer - Version 1.2 verpflichtend eingeführt. Damit funktioniert MOA-ID nun auch mit - Security Layer Requests der Version 1.2, was eine Voraussetzung für die - Verwendung von MOA ID im Bereich der Privatwirtschaft (wbPK als eindeutiges - Personenkennzeichen) ist. - -- Ab Version 2.6.x des trustDesk basic von IT Solution GmbH werden Inhalte im - Secure Viewer spezifikationsgemäß und damit strenger als bisher geprüft. Dies - machte es erforderlich Templates für den sogenannten AuthBlock, also jenes - Dokument, das im Zuge der Anmeldung vom Bürger/Kunden elektronisch signiert - wird anzupassen. Damit aus Kompatibilitätsgründen auch noch (zum Beispiel für - eine Übergangsfrist) Versionen < 2.6.x oder die Umsetzung von bdc (hot:Sign - Version 1.3) funktionieren, wurden die Musterkonfigurationen so erweitert, - dass sowohl aktuelle Bürgerkartenumgebungen als auch OPTIONAL ältere BKU - unterstützt werden. - -------------------------------------------------------------------------------- -B. Gründe für ein Update -------------------------------------------------------------------------------- - -Sie sollten Ihre bestehende, ältere Installation von MOA ID auf die Version -1.4.0 aktualisieren, wenn einer der folgenden Punkte zutrifft: - -- Sie möchten Ihre Installation für Anwendungen im Bereich der Privatwirtschaft - verwenden (Verwendung des wirtschaftsbereichspezifischen Personenkennzeichens - wbpk) oder verwenden explizit multipart/form-data Parameterübertragung von - Security Layer Version 1.2. - -- Es sollen aktuelle Bürgerkartenumgebungen verwendet werden. - -- Sie möchten Ihre Installation mit Templates für den AuthBlock (also jenes - Dokument, das im Zuge der Anmeldung vom Bürger/Kunden elektronisch signiert - wird) betreiben, die sowohl von aktuellen als auch von älteren Bürgerkarten- - umgebungen (BKU) unterstützt werden. - -------------------------------------------------------------------------------- -C. Durchführung des Updates -------------------------------------------------------------------------------- - -............................................................................... -C.1 Durchführung eines Updates von Version 1.3.1, 1.3.2 oder 1.3.3 -............................................................................... - -1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird. - Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an. - -2. Entpacken Sie die Distribution von MOA ID Auth (moa-id-auth-1.3.3.zip) in - ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST - bezeichnet. - -3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth - beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps, - wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation - für MOA ID steht). Löschen Sie darin sowohl die Datei moa-id-auth.war als - auch das komplette Verzeichnis moa-id-auth. - -4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach - CATALINA_HOME_ID/webapps. - -5. Kopieren Sie die vier Dateien aus dem Verzeichnis - MOA_ID_AUTH_INST/conf/moa-id/transforms in das Verzeichnis transforms Ihres - Stammverzeichnisses für die MOA ID Konfiguration (für gewöhnlich lautet - dieses Stammverzeichnis CATALINA_HOME_ID/conf/moa-id; in weiterer Folge wird - davon ausgegangen). - -6. Kopieren Sie die vier Dateien aus dem Verzeichnis - MOA_ID_AUTH_INST/conf/moa-spss/profiles in das Verzeichnis profiles Ihres - Stammverzeichnisses für die MOA SPSS Konfiguration (für gewöhnlich lautet - dieses Stammverzeichnis CATALINA_HOME_SPSS/conf/moa-spss, wobei - CATALINA_HOME_SPSS für das Basisverzeichnis der Tomcat-Installation - für MOA SPSS steht; wenn Sie MOA SPSS nicht als eigenes Webservice - betreiben, sondern es von MOA ID über die API-Schnittstelle angesprochen - wird, lautet dieses Stammverzeichnis für gewöhnlich - CATALINA_HOME_ID/conf/moa-spss; in weiterer Folge wird von letzterer - Variante ausgegangen). - -7. Sollen zusätzliche Templates für ältere Bürgerkartenumgebungen aktiviert - werden, öffnen Sie die XML-Konfiguration von MOA ID (für gewöhnlich finden - Sie diese XML-Datei direkt im Stammverzeichnis für die MOA ID Konfiguration, - z.B. CATALINA_HOME_ID/conf/moa-id/SampleMOAIDConfiguration.xml); führen Sie - folgende Modifikationen an der XML-Konfiguration durch: - - a. Ändern Sie die applikationsübergreifende Konfiguration der AuthBlock - Transformationen. Sie finden diese Konfiguration im XML-Element - /MOA-IDConfiguration/AuthComponent/SecurityLayer. Fügen Sie zusätzlich zum - bisherigen Inhalt dieses Elements (für gewöhnlich ein Element - TransformsInfo, dessen Attribut filname den Wert - transforms/TransformsInfoAuthBlockText.xml aufweist) ein Element - TransformsInfo an, dessen Attribut filename auf die Datei für ältere BKU - zeigt. Sie können auch auf die vordefinierten Elemente aus den - Musterkonfigurationen dieser Distribution ( - MOA_ID_AUTH_INST/conf/moa-id/SampleMOAIDConfiguration.xml) zurückgreifen. - - b. Fügen Sie Profilbezeichner für die Transformationsprofile in der - Konfiguration für MOA SP an. Sie finden diesen Bezeichner im XML- - Element /MOA-IDConfiguration/AuthComponent/MOA-SP/VerifyAuthBlock. - Hängen Sie ein Element VerifyTransformsInfoProfileID an, das für die Über- - prüfung der Transformation älterer BKU vorgesehen ist. - Siehe auch Inhalt des Elements VerifyAuthBlock aus der Musterkonfiguration - dieser Distribution ( - MOA_ID_AUTH_INST/conf/moa-id/SampleMOAIDConfiguration.xml). - - c. Ändern Sie gegebenenfalls die applikationsspezifische Konfiguration - der Authblock-Tranformationen. Führen Sie dazu die folgende Tätigkeit - für jedes XML-Element /MOA-IDConfiguration/OnlineApplicaton/AuthComponent - durch: Fügen Sie zusätzlich zu einem bestehenden Element TransformsInfo - ein Elemnet TransformsInfo an, das die Transformation für ältere BKU - enthält - gleich wie dies bereits in Schritt a. durchgeführt wurde (wenn - Sie dieses Element nicht vorfinden, oder es auskommentiert ist, muss - Schritt c. nicht durchgeführt werden). - - Öffnen Sie die XML-Konfiguration von MOA SPSS (für gewöhnlich finden Sie - XML-Datei direkt im Stammverzeichnisses für die MOA SPSS Konfiguration, z.B. - CATALINA_HOME_ID/conf/moa-spss/SampleMOASPSSConfiguration.xml); führen Sie - folgende Modifikationen an der XML-Konfiguration durch: - - a. Ändern Sie die konfigurierten Profile für die zulässigen Transformationen - über die signierten Daten. Sie finden diese Profile am Ende der XML-Konfi- - guration von MOA SPSS (Elemente des Namens - cfg:VerifyTransformsInfoProfile). Fügen Sie zusätzlich zu den vorkommenden - Elementen dieses Namens (für gewöhnlich zwei Elemente) zwei weitere - Elemente dieses Namens hinzu, die die Profile für die älteren Bürger- - kartenumgebungen aufnehmen - diese sind durch den Namensteil "_deprecated" - gekennzeichnet (siehe auch Musterkonfigurationen dieser Distribution - MOA_ID_AUTH_INST/conf/moa-spss/SampleMOASPSSConfiguration.xml). - -8. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im - Logging von MOA ID beim Einlesen der erneuerten Konfiguration. - -............................................................................... -C.2 Durchführung eines Updates von einer älteren Version -............................................................................... - -Bitte führen Sie eine Neuinstallation von MOA ID laut Handbuch durch und passen -Sie die mitgelieferte Musterkonfiguration entsprechend Ihren Bedürfnissen unter -Zuhilfenahme Ihrer bisherigen Konfiguration an. - diff --git a/id/assembly-auth.xml b/id/assembly-auth.xml new file mode 100644 index 000000000..e0a1db0c7 --- /dev/null +++ b/id/assembly-auth.xml @@ -0,0 +1,105 @@ + + ID-auth + + + zip + + + + false + + + + ${basedir}/id/server/data/deploy + /auth + + **/conf/moa-id/oa/** + + + + ${basedir}/spss/handbook/conf/moa-spss/certstore + /auth/conf/moa-id/certs/certstore + + **/* + + + + ${basedir}/spss/handbook/conf/moa-spss/certstore + /auth/conf/moa-spss/certstore + + **/* + + + + ${basedir}/id/server/doc + /auth/doc + + + ${basedir}/licenses + /auth + + APACHE-LICENSE-2.0.txt + history.txt + IAIK-LICENSE.txt + readme_1.4.0.txt + + + + + + + + MOA.id.server:moa-id-auth + + + true + /auth + ${artifactId}.${extension} + + + + xalan:xalan + xerces:xercesImpl + xerces:xmlParserAPIs + + /auth/endorsed + + + + iaik.prod:iaik_ecc + iaik.prod:iaik_jce_full + iaik.prod:iaik_Pkcs11Provider + iaik.prod:iaik_Pkcs11Wrapper + + /auth/ext + + + false + + + + + MOA.id.server:moa-id-lib + + + javadoc + false + api-doc + /auth/moa-id/doc + true + + + + + MOA.id:moa-id-templates + + + false + moaid-templates.war + /auth/templates + false + + + + + \ No newline at end of file diff --git a/id/assembly-proxy.xml b/id/assembly-proxy.xml new file mode 100644 index 000000000..52c9a4f30 --- /dev/null +++ b/id/assembly-proxy.xml @@ -0,0 +1,93 @@ + + ID-proxy + + + zip + + + + false + + + + ${basedir}/id/server/data/deploy + /proxy + + **/conf/moa-spss/** + **/conf/moa-id/transforms/** + + + + ${basedir}/id/server/doc + /proxy/doc + + + ${basedir}/licenses + /proxy + + APACHE-LICENSE-2.0.txt + history.txt + IAIK-LICENSE.txt + readme_1.4.0.txt + + + + + + + + MOA.id.server:moa-id-proxy + + + true + /proxy + ${artifactId}.${extension} + + + + xalan:xalan + xerces:xercesImpl + xerces:xmlParserAPIs + + /proxy/endorsed + + + + iaik.prod:iaik_ecc + iaik.prod:iaik_jce_full + iaik.prod:iaik_Pkcs11Provider + iaik.prod:iaik_Pkcs11Wrapper + + /proxy/ext + + + false + + + + + MOA.id.server:moa-id-lib + + + javadoc + false + api-doc + /proxy/moa-id/doc + true + + + + + MOA.id:moa-id-templates + + + false + moaid-templates.war + /proxy/templates + false + + + + + + \ No newline at end of file diff --git a/id/oa/pom.xml b/id/oa/pom.xml index fec2e709b..4f6d64b66 100644 --- a/id/oa/pom.xml +++ b/id/oa/pom.xml @@ -1,27 +1,18 @@ - - 4.0.0 - MOA - oa - war - 1.4.0 - MOA Sample OA - - - oa - - - org.apache.maven.plugins - maven-compiler-plugin - - true - true - ${env.BUILD_EXECUTEABLE} - ${env.BUILD_VERSION} - 1.3 - 1.3 - - - - + + 4.0.0 + MOA + oa + war + 1.4.0 + MOA Sample OA + + + ${basedir}/../../repository + + + + oa + diff --git a/id/pom.xml b/id/pom.xml index e8e58a667..ca374f78b 100644 --- a/id/pom.xml +++ b/id/pom.xml @@ -1,22 +1,26 @@ - - - MOA - MOA - 1.4.0 - - - 4.0.0 - MOA - id - pom - 1.4.0 - MOA Id - - - oa - templates - server - - + + + MOA + MOA + 1.4.0 + + + 4.0.0 + MOA + id + pom + 1.4.0 + MOA ID + + + oa + templates + server + + + + ${basedir}/../repository + + \ No newline at end of file diff --git a/id/server/auth/assembly-war.xml b/id/server/auth/assembly-war.xml deleted file mode 100644 index 15f10f4cb..000000000 --- a/id/server/auth/assembly-war.xml +++ /dev/null @@ -1,94 +0,0 @@ - - web - - - war - - - false - - - - ${basedir}/src/main/webapp - / - - - ${basedir}/../idserverlib/target/classes - WEB-INF/classes - - **/proxy/** - - - - ${basedir}/src/main/webapp - / - - - ${basedir}/../resources/wsdl - resources/schema - - **/*.wsdl - - - - ${basedir}/../../../common/target - WEB-INF/lib - - **/*.jar - - - - ${basedir}/../../../spss/server/serverlib/target - WEB-INF/lib - - **/*.jar - - - - ${basedir}/../resources - WEB-INF/classes/resources - - - ${basedir}/../services - WEB-INF/classes/META-INF/services - - - - - - - javaext:activation - axis:axis - commons-discovery:commons-discovery - commons-fileupload:commons-fileupload - commons-io:commons-io - commons-logging:commons-logging - jaxp:dom - iaik.prod:iaik_ixsil - iaik.prod:iaik_moa_full - iaik.prod:iaik_Pkcs11Wrapper - iaik.prod:iaik_X509TrustManager - jaxen:jaxen-core - jaxen:jaxen-dom - jaxp:jaxp-api - javax.xml:jaxrpc - mail:mail - saaj:saaj - jaxp:sax - jaxen:saxpath - wsdl4j:wsdl4j - regexp:regexp - log4j:log4j - postgresql:postgresql - - WEB-INF/lib - - - - iaik.win32:Pkcs11Wrapper - - WEB-INF/lib/win32 - - - - \ No newline at end of file diff --git a/id/server/auth/assembly.xml b/id/server/auth/assembly.xml deleted file mode 100644 index 31709e6c5..000000000 --- a/id/server/auth/assembly.xml +++ /dev/null @@ -1,7 +0,0 @@ - - auth - - war - - - \ No newline at end of file diff --git a/id/server/auth/pom.xml b/id/server/auth/pom.xml index d2adcedfc..405f6f390 100644 --- a/id/server/auth/pom.xml +++ b/id/server/auth/pom.xml @@ -1,144 +1,62 @@ - - - MOA.id - server - 1.4.0 - - - 4.0.0 - MOA.id.server - auth - pom - 1.4.0 - MOA Id Server Auth - - - - javaext - activation - - - axis - axis - - - commons-discovery - commons-discovery - - - commons-fileupload - commons-fileupload - - - commons-io - commons-io - - - commons-logging - commons-logging - - - jaxp - dom - - - iaik.prod - iaik_ixsil - - - iaik.prod - iaik_moa_full - - - iaik.prod - iaik_Pkcs11Wrapper - 1.2.16 - compile - - - iaik.prod - iaik_X509TrustManager - - - jaxen - jaxen-core - - - jaxen - jaxen-dom - - - jaxp - jaxp-api - - - javax.xml - jaxrpc-api - - - mail - mail - - - - saaj - saaj - - - jaxp - sax - - - jaxen - saxpath - - - wsdl4j - wsdl4j - - - - postgresql - postgresql - - - log4j - log4j - - - regexp - regexp - - - - iaik.win32 - Pkcs11Wrapper - 1.0 - dll - runtime - - - - - - - maven-assembly-plugin - - - ${basedir}/assembly-war.xml - - - - - make-assembly - package - - attached - - - - - - + + + MOA.id + moa-id + 1.4.0 + + + 4.0.0 + MOA.id.server + moa-id-auth + war + 1.4.0 + MOA ID-Auth WebService + + + ${basedir}/../../../repository + + + + + + org.apache.maven.plugins + maven-war-plugin + 2.0.2 + + + + false + true + + + + + ${basedir}/../resources + WEB-INF/classes/resources + + + ${basedir}/../services + WEB-INF/classes/META-INF/services + + + + + + + + + + MOA.spss.server + moa-spss-lib + ${project.version} + + + MOA.id.server + moa-id-lib + ${project.version} + + + \ No newline at end of file diff --git a/id/server/data/deploy/templates/moaid-templates.war b/id/server/data/deploy/templates/moaid-templates.war deleted file mode 100644 index 72b034d5c..000000000 Binary files a/id/server/data/deploy/templates/moaid-templates.war and /dev/null differ diff --git a/id/server/distribution/assembly-auth.xml b/id/server/distribution/assembly-auth.xml deleted file mode 100644 index a732c6f64..000000000 --- a/id/server/distribution/assembly-auth.xml +++ /dev/null @@ -1,86 +0,0 @@ - - all-auth - - - zip - - - false - - - - ${basedir}/../data/deploy - /auth - - - ${basedir}/../auth/target - /auth - - **/*.war - - - - ${basedir}/../doc - /auth/doc - - - ${basedir}/../../templates/target - /auth/templates - - **/*.war - - - - ${basedir}/../data/deploy/templates - /auth/templates - - **/*.txt - - - - ${basedir}/../data/deploy/tomcat - /auth/tomcat - - - ${basedir}/../licenses - /auth - - APACHE-LICENSE-2.0.txt - history.txt - IAIK-LICENSE.txt - readme_1.4.0.txt - - - - - - - - xalan:xalan - xerces:xercesImpl - xerces:xmlParserAPIs - - /auth/endorsed - - - - iaik.prod:iaik_ecc - iaik.prod:iaik_jce_full - iaik.prod:iaik_Pkcs11Provider - jsse:jcert - jsse:jnet - jsse:jsse - - /auth/ext13 - - - - iaik.prod:iaik_ecc_signed - iaik.prod:iaik_jce_full_signed - iaik.prod:iaik_Pkcs11Provider_signed - - /auth/ext14 - - - - \ No newline at end of file diff --git a/id/server/distribution/assembly-proxy.xml b/id/server/distribution/assembly-proxy.xml deleted file mode 100644 index cce9dd02c..000000000 --- a/id/server/distribution/assembly-proxy.xml +++ /dev/null @@ -1,89 +0,0 @@ - - all-proxy - - - zip - - - false - - - - ${basedir}/../data/deploy - /proxy - - **/conf/moa-spss/** - - - - ${basedir}/../proxy/target - /proxy - - **/*.war - - - - ${basedir}/../doc - /proxy/doc - - - ${basedir}/../../templates/target - /proxy/templates - - **/*.war - - - - ${basedir}/../data/deploy/templates - /proxy/templates - - **/*.txt - - - - ${basedir}/../data/deploy/tomcat - /proxy/tomcat - - - ${basedir}/../licenses - /proxy - - APACHE-LICENSE-2.0.txt - history.txt - IAIK-LICENSE.txt - readme_1.4.0.txt - - - - - - - - xalan:xalan - xerces:xercesImpl - xerces:xmlParserAPIs - - /proxy/endorsed - - - - iaik.prod:iaik_ecc - iaik.prod:iaik_jce_full - iaik.prod:iaik_Pkcs11Provider - jsse:jcert - jsse:jnet - jsse:jsse - - /proxy/ext13 - - - - iaik.prod:iaik_ecc_signed - iaik.prod:iaik_jce_full_signed - iaik.prod:iaik_Pkcs11Provider_signed - - /proxy/ext14 - - - - \ No newline at end of file diff --git a/id/server/distribution/pom.xml b/id/server/distribution/pom.xml deleted file mode 100644 index 2bbb3923d..000000000 --- a/id/server/distribution/pom.xml +++ /dev/null @@ -1,115 +0,0 @@ - - - MOA.id - server - 1.4.0 - - - 4.0.0 - MOA - id.server.distribution - pom - 1.4.0 - ID-Server-Distribution - - - ${basedir}/../../buildhelper - - - - - - maven-assembly-plugin - - - ./assembly-auth.xml - ./assembly-proxy.xml - - - - - - make-dist-standalone - package - - attached - - - - - - - - - - xalan - xalan - - - xerces - xercesImpl - - - xerces - xmlParserAPIs - - - - iaik.prod - iaik_ecc - runtime - - - iaik.prod - iaik_jce_full - runtime - - - iaik.prod - iaik_Pkcs11Provider - runtime - - - iaik.prod - iaik_ecc - runtime - - - iaik.prod - iaik_jce_full - runtime - - - iaik.prod - iaik_Pkcs11Provider - runtime - - - iaik.win32 - Pkcs11Wrapper - dll - 1.0 - runtime - - - - jsse - jcert - runtime - - - jsse - jnet - runtime - - - jsse - jsse - runtime - - - - \ No newline at end of file diff --git a/id/server/doc/moa_id/api-doc/allclasses-frame.html b/id/server/doc/moa_id/api-doc/allclasses-frame.html deleted file mode 100644 index 9e051d7b1..000000000 --- a/id/server/doc/moa_id/api-doc/allclasses-frame.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - -All Classes (MOA ID API) - - - - - - - - - - -All Classes -
- - - - - -
AuthenticationData -
-AuthenticationException -
-AuthenticationServer -
-ConnectionBuilder -
-LoginParameterResolver -
-LoginParameterResolverException -
-NotAllowedException -
-OAConfiguration -
-
- - - diff --git a/id/server/doc/moa_id/api-doc/allclasses-noframe.html b/id/server/doc/moa_id/api-doc/allclasses-noframe.html deleted file mode 100644 index dc5c0fb5f..000000000 --- a/id/server/doc/moa_id/api-doc/allclasses-noframe.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - -All Classes (MOA ID API) - - - - - - - - - - -All Classes -
- - - - - -
AuthenticationData -
-AuthenticationException -
-AuthenticationServer -
-ConnectionBuilder -
-LoginParameterResolver -
-LoginParameterResolverException -
-NotAllowedException -
-OAConfiguration -
-
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/AuthenticationException.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/AuthenticationException.html deleted file mode 100644 index a11ad6242..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/AuthenticationException.html +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - -AuthenticationException (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -at.gv.egovernment.moa.id -
-Class AuthenticationException

-
-java.lang.Object
-  extended byMOAIDException
-      extended byat.gv.egovernment.moa.id.AuthenticationException
-
-
-
-
public class AuthenticationException
extends MOAIDException
- -

-Exception thrown during handling of AuthenticationSession -

- -

-

-
See Also:
Serialized Form
-
- -

- - - - - - - - - - - - - - - - - - - -
-Constructor Summary
AuthenticationException(String messageId, - Object[] parameters) - -
-          Constructor for AuthenticationException.
AuthenticationException(String messageId, - Object[] parameters, - Throwable wrapped) - -
-          Constructor for AuthenticationException.
-  - - - - - - - - - - -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - - - - -
-Constructor Detail
- -

-AuthenticationException

-
-public AuthenticationException(String messageId,
-                               Object[] parameters)
-
-
Constructor for AuthenticationException. -

-

Parameters:
messageId -
-
- -

-AuthenticationException

-
-public AuthenticationException(String messageId,
-                               Object[] parameters,
-                               Throwable wrapped)
-
-
Constructor for AuthenticationException. -

-

Parameters:
messageId -
parameters -
wrapped -
- - - - -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/AuthenticationServer.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/AuthenticationServer.html deleted file mode 100644 index b5be8a054..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/AuthenticationServer.html +++ /dev/null @@ -1,631 +0,0 @@ - - - - - - -AuthenticationServer (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -at.gv.egovernment.moa.id.auth -
-Class AuthenticationServer

-
-java.lang.Object
-  extended byat.gv.egovernment.moa.id.auth.AuthenticationServer
-
-
-
-
public class AuthenticationServer
extends Object
- -

-API for MOA ID Authentication Service.
- AuthenticationSession is stored in a session store and retrieved - by giving the session ID. -

- -

-


- -

- - - - - - - - - - - - - - - - -
-Constructor Summary
AuthenticationServer() - -
-          Constructor for AuthenticationServer.
-  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- voidcleanup() - -
-          Cleans up expired session and authentication data stores.
-static voiddebugOutputXMLFile(String filename, - org.w3c.dom.Element rootElem) - -
-          Writes an XML structure to file for debugging purposes, encoding UTF-8.
-static voiddebugOutputXMLFile(String filename, - String xmlString) - -
-          Writes an XML structure to file for debugging purposes, encoding UTF-8.
- AuthenticationDatagetAuthenticationData(String samlArtifact) - -
-          Retrieves AuthenticationData indexed by the SAML artifact. -
-static AuthenticationServergetInstance() - -
-          Returns the single instance of AuthenticationServer.
-static AuthenticationSessiongetSession(String id) - -
-          Retrieves a session from the session store.
- StringselectBKU(String authURL, - String target, - String oaURL, - String bkuSelectionTemplateURL, - String templateURL) - -
-          Processes request to select a BKU. -
- voidsetSecondsAuthDataTimeOut(long seconds) - -
-          Sets the authDataTimeOut.
- voidsetSecondsSessionTimeOut(long seconds) - -
-          Sets the sessionTimeOut.
- StringstartAuthentication(String authURL, - String target, - String oaURL, - String templateURL, - String bkuURL, - String sessionID) - -
-          Processes the beginning of an authentication session. -
- StringverifyAuthenticationBlock(String sessionID, - String xmlCreateXMLSignatureReadResponse) - -
-          Processes a <CreateXMLSignatureResponse> sent by the - security layer implementation.
- StringverifyIdentityLink(String sessionID, - String xmlInfoboxReadResponse) - -
-          Processes an <InfoboxReadResponse> sent by the - security layer implementation.
- - - - - - - -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - - - - -
-Constructor Detail
- -

-AuthenticationServer

-
-public AuthenticationServer()
-
-
Constructor for AuthenticationServer. -

-

- - - - - - - - -
-Method Detail
- -

-getInstance

-
-public static AuthenticationServer getInstance()
-
-
Returns the single instance of AuthenticationServer. -

-

- -
Returns:
the single instance of AuthenticationServer
-
-
-
- -

-selectBKU

-
-public String selectBKU(String authURL,
-                        String target,
-                        String oaURL,
-                        String bkuSelectionTemplateURL,
-                        String templateURL)
-                 throws WrongParametersException,
-                        AuthenticationException,
-                        ConfigurationException,
-                        BuildException
-
-
Processes request to select a BKU. -
Processing depends on value of AuthConfigurationProvider#getBKUSelectionType. -
For bkuSelectionType==HTMLComplete, a returnURI for the - "BKU Auswahl" service is returned. -
For bkuSelectionType==HTMLSelect, an HTML form for BKU selection is returned. -

-

-
Parameters:
authURL - base URL of MOA-ID Auth component
target - "Geschäftsbereich"
oaURL - online application URL requested
bkuSelectionTemplateURL - template for BKU selection form to be used - in case of HTMLSelect; may be null
templateURL - URL providing an HTML template for the HTML form to be used - for call startAuthentication -
Returns:
for bkuSelectionType==HTMLComplete, the returnURI for the - "BKU Auswahl" service; - for bkuSelectionType==HTMLSelect, an HTML form for BKU selection -
Throws: -
WrongParametersException - upon missing parameters -
AuthenticationException - when the configured BKU selection service cannot be reached, - and when the given bkuSelectionTemplateURL cannot be reached -
ConfigurationException - on missing configuration data -
BuildException - while building the HTML form
-
-
-
- -

-startAuthentication

-
-public String startAuthentication(String authURL,
-                                  String target,
-                                  String oaURL,
-                                  String templateURL,
-                                  String bkuURL,
-                                  String sessionID)
-                           throws WrongParametersException,
-                                  AuthenticationException,
-                                  ConfigurationException,
-                                  BuildException
-
-
Processes the beginning of an authentication session. -
    -
  • Starts an authentication session
  • -
  • Creates an <InfoboxReadRequest>
  • -
  • Creates an HTML form for querying the identity link from the - security layer implementation. -
    Form parameters include -
      -
    • the <InfoboxReadRequest>
    • -
    • the data URL where the security layer implementation sends it response to
    • -
    -
-

-

-
Parameters:
authURL - URL of the servlet to be used as data URL
target - "Geschäftsbereich" of the online application requested
oaURL - online application URL requested
bkuURL - URL of the "Bürgerkartenumgebung" to be used; - may be null; in this case, the default location will be used
templateURL - URL providing an HTML template for the HTML form generated -
Returns:
HTML form -
Throws: -
AuthenticationException -
WrongParametersException -
ConfigurationException -
BuildException
See Also:
GetIdentityLinkFormBuilder, -InfoboxReadRequestBuilder
-
-
-
- -

-verifyIdentityLink

-
-public String verifyIdentityLink(String sessionID,
-                                 String xmlInfoboxReadResponse)
-                          throws AuthenticationException,
-                                 ParseException,
-                                 ConfigurationException,
-                                 ValidateException,
-                                 ServiceException
-
-
Processes an <InfoboxReadResponse> sent by the - security layer implementation.
-
    -
  • Validates given <InfoboxReadResponse>
  • -
  • Parses identity link enclosed in <InfoboxReadResponse>
  • -
  • Verifies identity link by calling the MOA SP component
  • -
  • Checks certificate authority of identity link
  • -
  • Stores identity link in the session
  • -
  • Creates an authentication block to be signed by the user
  • -
  • Creates and returns a <CreateXMLSignatureRequest> - containg the authentication block, meant to be returned to the - security layer implementation
  • -
-

-

-
Parameters:
sessionID - ID of associated authentication session data
xmlInfoboxReadResponse - String representation of the - <InfoboxReadResponse> -
Returns:
String representation of the <CreateXMLSignatureRequest> -
Throws: -
AuthenticationException -
ParseException -
ConfigurationException -
ValidateException -
ServiceException
-
-
-
- -

-verifyAuthenticationBlock

-
-public String verifyAuthenticationBlock(String sessionID,
-                                        String xmlCreateXMLSignatureReadResponse)
-                                 throws AuthenticationException,
-                                        BuildException,
-                                        ParseException,
-                                        ConfigurationException,
-                                        ServiceException,
-                                        ValidateException
-
-
Processes a <CreateXMLSignatureResponse> sent by the - security layer implementation.
-
    -
  • Validates given <CreateXMLSignatureResponse>
  • -
  • Parses <CreateXMLSignatureResponse> for error codes
  • -
  • Parses authentication block enclosed in - <CreateXMLSignatureResponse>
  • -
  • Verifies authentication block by calling the MOA SP component
  • -
  • Creates authentication data
  • -
  • Creates a corresponding SAML artifact
  • -
  • Stores authentication data in the authentication data store - indexed by the SAML artifact
  • -
  • Deletes authentication session
  • -
  • Returns the SAML artifact, encoded BASE64
  • -
-

-

-
Parameters:
sessionID - session ID of the running authentication session
xmlCreateXMLSignatureReadResponse - String representation of the - <CreateXMLSignatureResponse> -
Returns:
SAML artifact needed for retrieving authentication data, encoded BASE64 -
Throws: -
AuthenticationException -
BuildException -
ParseException -
ConfigurationException -
ServiceException -
ValidateException
-
-
-
- -

-getAuthenticationData

-
-public AuthenticationData getAuthenticationData(String samlArtifact)
-                                         throws AuthenticationException
-
-
Retrieves AuthenticationData indexed by the SAML artifact. - The AuthenticationData is deleted from the store upon end of this call. -

-

- -
Returns:
AuthenticationData -
Throws: -
AuthenticationException
-
-
-
- -

-getSession

-
-public static AuthenticationSession getSession(String id)
-                                        throws AuthenticationException
-
-
Retrieves a session from the session store. -

-

-
Parameters:
id - session ID -
Returns:
AuthenticationSession stored with given session ID, - null if session ID unknown -
Throws: -
AuthenticationException
-
-
-
- -

-cleanup

-
-public void cleanup()
-
-
Cleans up expired session and authentication data stores. -

-

-
-
-
-
- -

-setSecondsSessionTimeOut

-
-public void setSecondsSessionTimeOut(long seconds)
-
-
Sets the sessionTimeOut. -

-

-
-
-
-
- -

-setSecondsAuthDataTimeOut

-
-public void setSecondsAuthDataTimeOut(long seconds)
-
-
Sets the authDataTimeOut. -

-

-
-
-
-
- -

-debugOutputXMLFile

-
-public static void debugOutputXMLFile(String filename,
-                                      org.w3c.dom.Element rootElem)
-
-
Writes an XML structure to file for debugging purposes, encoding UTF-8. -

-

-
Parameters:
filename - file name
rootElem - root element in DOM tree
-
-
-
- -

-debugOutputXMLFile

-
-public static void debugOutputXMLFile(String filename,
-                                      String xmlString)
-
-
Writes an XML structure to file for debugging purposes, encoding UTF-8. -

-

-
Parameters:
filename - file name
xmlString - XML string
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/class-use/AuthenticationServer.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/class-use/AuthenticationServer.html deleted file mode 100644 index 53f0912b1..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/class-use/AuthenticationServer.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - -Uses of Class at.gv.egovernment.moa.id.auth.AuthenticationServer (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Uses of Class
at.gv.egovernment.moa.id.auth.AuthenticationServer

-
- - - - - - - - - -
-Packages that use AuthenticationServer
at.gv.egovernment.moa.id.auth  
-  -

- - - - - -
-Uses of AuthenticationServer in at.gv.egovernment.moa.id.auth
-  -

- - - - - - - - - -
Methods in at.gv.egovernment.moa.id.auth that return AuthenticationServer
-static AuthenticationServerAuthenticationServer.getInstance() - -
-          Returns the single instance of AuthenticationServer.
-  -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/package-frame.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/package-frame.html deleted file mode 100644 index 013ac6e16..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/package-frame.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -at.gv.egovernment.moa.id.auth (MOA ID API) - - - - - - - - - - - -at.gv.egovernment.moa.id.auth - - - - -
-Classes  - -
-AuthenticationServer
- - - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/package-summary.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/package-summary.html deleted file mode 100644 index 1fadccfd1..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/package-summary.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - -at.gv.egovernment.moa.id.auth (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-

-Package at.gv.egovernment.moa.id.auth -

- - - - - - - - - -
-Class Summary
AuthenticationServerAPI for MOA ID Authentication Service.
-  - -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/package-tree.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/package-tree.html deleted file mode 100644 index ed050ad9e..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/package-tree.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - -at.gv.egovernment.moa.id.auth Class Hierarchy (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Hierarchy For Package at.gv.egovernment.moa.id.auth -

-
-
-
Package Hierarchies:
All Packages
-
-

-Class Hierarchy -

- -
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/package-use.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/package-use.html deleted file mode 100644 index 54bd8b9fb..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/auth/package-use.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - -Uses of Package at.gv.egovernment.moa.id.auth (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Uses of Package
at.gv.egovernment.moa.id.auth

-
- - - - - - - - - -
-Packages that use at.gv.egovernment.moa.id.auth
at.gv.egovernment.moa.id.auth  
-  -

- - - - - - - - -
-Classes in at.gv.egovernment.moa.id.auth used by at.gv.egovernment.moa.id.auth
AuthenticationServer - -
-          API for MOA ID Authentication Service.
-  -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/class-use/AuthenticationException.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/class-use/AuthenticationException.html deleted file mode 100644 index d844f1ac0..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/class-use/AuthenticationException.html +++ /dev/null @@ -1,228 +0,0 @@ - - - - - - -Uses of Class at.gv.egovernment.moa.id.AuthenticationException (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Uses of Class
at.gv.egovernment.moa.id.AuthenticationException

-
- - - - - - - - - -
-Packages that use AuthenticationException
at.gv.egovernment.moa.id.auth  
-  -

- - - - - -
-Uses of AuthenticationException in at.gv.egovernment.moa.id.auth
-  -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Methods in at.gv.egovernment.moa.id.auth that throw AuthenticationException
- StringAuthenticationServer.selectBKU(String authURL, - String target, - String oaURL, - String bkuSelectionTemplateURL, - String templateURL) - -
-          Processes request to select a BKU. -
- StringAuthenticationServer.startAuthentication(String authURL, - String target, - String oaURL, - String templateURL, - String bkuURL, - String sessionID) - -
-          Processes the beginning of an authentication session. -
- StringAuthenticationServer.verifyIdentityLink(String sessionID, - String xmlInfoboxReadResponse) - -
-          Processes an <InfoboxReadResponse> sent by the - security layer implementation.
- StringAuthenticationServer.verifyAuthenticationBlock(String sessionID, - String xmlCreateXMLSignatureReadResponse) - -
-          Processes a <CreateXMLSignatureResponse> sent by the - security layer implementation.
- AuthenticationDataAuthenticationServer.getAuthenticationData(String samlArtifact) - -
-          Retrieves AuthenticationData indexed by the SAML artifact. -
-static AuthenticationSessionAuthenticationServer.getSession(String id) - -
-          Retrieves a session from the session store.
-  -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/OAConfiguration.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/OAConfiguration.html deleted file mode 100644 index afeb1a482..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/OAConfiguration.html +++ /dev/null @@ -1,613 +0,0 @@ - - - - - - -OAConfiguration (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -at.gv.egovernment.moa.id.config.proxy -
-Class OAConfiguration

-
-java.lang.Object
-  extended byat.gv.egovernment.moa.id.config.proxy.OAConfiguration
-
-
-
-
public class OAConfiguration
extends Object
- -

-Holds configuration data concerning an online application for use by the MOA-ID Proxy component. - These include the login type (stateful or stateless), the HTTP authentication type, - and information needed to add authentication parameters or headers for a URL connection - to the remote online application. -

- -

-

-
See Also:
MOAIDConfiguration-1.1.xsd, element Configuration
-
- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Field Summary
-static StringBASIC_AUTH - -
-          Constant for an auth method
-static StringHEADER_AUTH - -
-          Constant for an auth method
-static StringLOGINTYPE_STATEFUL - -
-          Constant for an login method
-static StringLOGINTYPE_STATELESS - -
-          Constant for an login method
-static StringPARAM_AUTH - -
-          Constant for an auth method
-  - - - - - - - - - - -
-Constructor Summary
OAConfiguration() - -
-           
-  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- StringgetAuthType() - -
-          Returns the authType.
- StringgetBasicAuthPasswordMapping() - -
-          Returns the basicAuthPasswordMapping.
- StringgetBasicAuthUserIDMapping() - -
-          Returns the basicAuthUserIDMapping.
- MapgetHeaderAuthMapping() - -
-          Returns the headerAuthMapping.
- StringgetLoginType() - -
-          Returns the loginType.
- MapgetParamAuthMapping() - -
-          Returns the paramAuthMapping.
- voidsetAuthType(String authLoginType) - -
-          Sets the authType.
- voidsetBasicAuthPasswordMapping(String basicAuthPassword) - -
-          Sets the basicAuthPasswordMapping.
- voidsetBasicAuthUserIDMapping(String basicAuthUserID) - -
-          Sets the basicAuthUserIDMapping.
- voidsetHeaderAuthMapping(HashMap headerAuth) - -
-          Sets the headerAuthMapping.
- voidsetLoginType(String loginType) - -
-          Sets the loginType.
- voidsetParamAuthMapping(HashMap paramAuth) - -
-          Sets the paramAuthMapping.
- - - - - - - -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - -
-Field Detail
- -

-LOGINTYPE_STATEFUL

-
-public static final String LOGINTYPE_STATEFUL
-
-
Constant for an login method -

-

-
See Also:
Constant Field Values
-
-
- -

-LOGINTYPE_STATELESS

-
-public static final String LOGINTYPE_STATELESS
-
-
Constant for an login method -

-

-
See Also:
Constant Field Values
-
-
- -

-BASIC_AUTH

-
-public static final String BASIC_AUTH
-
-
Constant for an auth method -

-

-
See Also:
Constant Field Values
-
-
- -

-HEADER_AUTH

-
-public static final String HEADER_AUTH
-
-
Constant for an auth method -

-

-
See Also:
Constant Field Values
-
-
- -

-PARAM_AUTH

-
-public static final String PARAM_AUTH
-
-
Constant for an auth method -

-

-
See Also:
Constant Field Values
-
- - - - - - - - -
-Constructor Detail
- -

-OAConfiguration

-
-public OAConfiguration()
-
-
- - - - - - - - -
-Method Detail
- -

-getBasicAuthPasswordMapping

-
-public String getBasicAuthPasswordMapping()
-
-
Returns the basicAuthPasswordMapping. -

-

- -
Returns:
String
-
-
-
- -

-getBasicAuthUserIDMapping

-
-public String getBasicAuthUserIDMapping()
-
-
Returns the basicAuthUserIDMapping. -

-

- -
Returns:
String
-
-
-
- -

-getHeaderAuthMapping

-
-public Map getHeaderAuthMapping()
-
-
Returns the headerAuthMapping. -

-

- -
Returns:
HashMap
-
-
-
- -

-getLoginType

-
-public String getLoginType()
-
-
Returns the loginType. -

-

- -
Returns:
String
-
-
-
- -

-getParamAuthMapping

-
-public Map getParamAuthMapping()
-
-
Returns the paramAuthMapping. -

-

- -
Returns:
HashMap
-
-
-
- -

-setBasicAuthPasswordMapping

-
-public void setBasicAuthPasswordMapping(String basicAuthPassword)
-
-
Sets the basicAuthPasswordMapping. -

-

-
-
-
-
- -

-setBasicAuthUserIDMapping

-
-public void setBasicAuthUserIDMapping(String basicAuthUserID)
-
-
Sets the basicAuthUserIDMapping. -

-

-
-
-
-
- -

-setHeaderAuthMapping

-
-public void setHeaderAuthMapping(HashMap headerAuth)
-
-
Sets the headerAuthMapping. -

-

-
-
-
-
- -

-setLoginType

-
-public void setLoginType(String loginType)
-
-
Sets the loginType. -

-

-
Parameters:
loginType - The loginType to set
-
-
-
- -

-setParamAuthMapping

-
-public void setParamAuthMapping(HashMap paramAuth)
-
-
Sets the paramAuthMapping. -

-

-
-
-
-
- -

-getAuthType

-
-public String getAuthType()
-
-
Returns the authType. -

-

- -
Returns:
String
-
-
-
- -

-setAuthType

-
-public void setAuthType(String authLoginType)
-
-
Sets the authType. -

-

-
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/class-use/OAConfiguration.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/class-use/OAConfiguration.html deleted file mode 100644 index 5e33084ad..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/class-use/OAConfiguration.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - -Uses of Class at.gv.egovernment.moa.id.config.proxy.OAConfiguration (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Uses of Class
at.gv.egovernment.moa.id.config.proxy.OAConfiguration

-
- - - - - - - - - -
-Packages that use OAConfiguration
at.gv.egovernment.moa.id.proxy  
-  -

- - - - - -
-Uses of OAConfiguration in at.gv.egovernment.moa.id.proxy
-  -

- - - - - - - - - - - - - -
Methods in at.gv.egovernment.moa.id.proxy with parameters of type OAConfiguration
- MapLoginParameterResolver.getAuthenticationHeaders(OAConfiguration oaConf, - AuthenticationData authData, - String clientIPAddress) - -
-          Returns authentication headers to be added to a URLConnection.
- MapLoginParameterResolver.getAuthenticationParameters(OAConfiguration oaConf, - AuthenticationData authData, - String clientIPAddress) - -
-          Returns request parameters to be added to a URLConnection.
-  -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/package-frame.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/package-frame.html deleted file mode 100644 index 442356ce1..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/package-frame.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -at.gv.egovernment.moa.id.config.proxy (MOA ID API) - - - - - - - - - - - -at.gv.egovernment.moa.id.config.proxy - - - - -
-Classes  - -
-OAConfiguration
- - - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/package-summary.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/package-summary.html deleted file mode 100644 index 482aecc48..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/package-summary.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - - -at.gv.egovernment.moa.id.config.proxy (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-

-Package at.gv.egovernment.moa.id.config.proxy -

- - - - - - - - - -
-Class Summary
OAConfigurationHolds configuration data concerning an online application for use by the MOA-ID Proxy component. -
-  - -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/package-tree.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/package-tree.html deleted file mode 100644 index e66568757..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/package-tree.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - -at.gv.egovernment.moa.id.config.proxy Class Hierarchy (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Hierarchy For Package at.gv.egovernment.moa.id.config.proxy -

-
-
-
Package Hierarchies:
All Packages
-
-

-Class Hierarchy -

- -
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/package-use.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/package-use.html deleted file mode 100644 index 184fcb226..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/config/proxy/package-use.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - -Uses of Package at.gv.egovernment.moa.id.config.proxy (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Uses of Package
at.gv.egovernment.moa.id.config.proxy

-
- - - - - - - - - -
-Packages that use at.gv.egovernment.moa.id.config.proxy
at.gv.egovernment.moa.id.proxy  
-  -

- - - - - - - - -
-Classes in at.gv.egovernment.moa.id.config.proxy used by at.gv.egovernment.moa.id.proxy
OAConfiguration - -
-          Holds configuration data concerning an online application for use by the MOA-ID Proxy component. -
-  -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/AuthenticationData.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/AuthenticationData.html deleted file mode 100644 index d6bc30647..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/AuthenticationData.html +++ /dev/null @@ -1,906 +0,0 @@ - - - - - - -AuthenticationData (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -at.gv.egovernment.moa.id.data -
-Class AuthenticationData

-
-java.lang.Object
-  extended byat.gv.egovernment.moa.id.data.AuthenticationData
-
-
-
-
public class AuthenticationData
extends Object
- -

-Encapsulates authentication data contained in a <saml:Assertion>. -

- -

-


- -

- - - - - - - - - - - - - - - - -
-Constructor Summary
AuthenticationData() - -
-          Constructor for AuthenticationData.
-  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- StringgetAssertionID() - -
-          Returns the assertionID.
- StringgetDateOfBirth() - -
-          Returns the dateOfBirth.
- StringgetFamilyName() - -
-          Returns the familyName.
- StringgetGivenName() - -
-          Returns the givenName.
- StringgetIdentificationType() - -
-          Returns the identificationType
- StringgetIdentificationValue() - -
-          Returns the identificationValue.
- StringgetIssueInstant() - -
-          Returns the issueInstant.
- StringgetIssuer() - -
-          Returns the issuer.
- intgetMajorVersion() - -
-          Returns the majorVersion.
- intgetMinorVersion() - -
-          Returns the minorVersion.
- StringgetPBK() - -
-          Returns the bPK.
- StringgetPublicAuthorityCode() - -
-          Returns the publicAuthorityCode.
- StringgetSamlAssertion() - -
-          Returns the samlAssertion.
- DategetTimestamp() - -
-          Returns the timestamp.
- booleanisPublicAuthority() - -
-          Returns the publicAuthority.
- booleanisQualifiedCertificate() - -
-          Returns the qualifiedCertificate.
- voidsetAssertionID(String assertionID) - -
-          Sets the assertionID.
- voidsetDateOfBirth(String dateOfBirth) - -
-          Sets the dateOfBirth.
- voidsetFamilyName(String gamilyName) - -
-          Sets the familyName.
- voidsetGivenName(String givenName) - -
-          Sets the givenName.
- voidsetIdentificationType(String identificationType) - -
-          Sets the identificationType.
- voidsetIdentificationValue(String identificationValue) - -
-          Sets the identificationValue.
- voidsetIssueInstant(String issueInstant) - -
-          Sets the issueInstant.
- voidsetIssuer(String issuer) - -
-          Sets the issuer.
- voidsetMajorVersion(int majorVersion) - -
-          Sets the majorVersion.
- voidsetMinorVersion(int minorVersion) - -
-          Sets the minorVersion.
- voidsetPBK(String bPK) - -
-          Sets the bPK.
- voidsetPublicAuthority(boolean publicAuthority) - -
-          Sets the publicAuthority.
- voidsetPublicAuthorityCode(String publicAuthorityIdentification) - -
-          Sets the publicAuthorityCode.
- voidsetQualifiedCertificate(boolean qualifiedCertificate) - -
-          Sets the qualifiedCertificate.
- voidsetSamlAssertion(String samlAssertion) - -
-          Sets the samlAssertion.
- - - - - - - -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - - - - -
-Constructor Detail
- -

-AuthenticationData

-
-public AuthenticationData()
-
-
Constructor for AuthenticationData. -

-

- - - - - - - - -
-Method Detail
- -

-getMinorVersion

-
-public int getMinorVersion()
-
-
Returns the minorVersion. -

-

- -
Returns:
int
-
-
-
- -

-isPublicAuthority

-
-public boolean isPublicAuthority()
-
-
Returns the publicAuthority. -

-

- -
Returns:
boolean
-
-
-
- -

-getPublicAuthorityCode

-
-public String getPublicAuthorityCode()
-
-
Returns the publicAuthorityCode. -

-

- -
Returns:
String
-
-
-
- -

-isQualifiedCertificate

-
-public boolean isQualifiedCertificate()
-
-
Returns the qualifiedCertificate. -

-

- -
Returns:
boolean
-
-
-
- -

-getPBK

-
-public String getPBK()
-
-
Returns the bPK. -

-

- -
Returns:
String
-
-
-
- -

-setMinorVersion

-
-public void setMinorVersion(int minorVersion)
-
-
Sets the minorVersion. -

-

-
Parameters:
minorVersion - The minorVersion to set
-
-
-
- -

-setPublicAuthority

-
-public void setPublicAuthority(boolean publicAuthority)
-
-
Sets the publicAuthority. -

-

-
Parameters:
publicAuthority - The publicAuthority to set
-
-
-
- -

-setPublicAuthorityCode

-
-public void setPublicAuthorityCode(String publicAuthorityIdentification)
-
-
Sets the publicAuthorityCode. -

-

-
-
-
-
- -

-setQualifiedCertificate

-
-public void setQualifiedCertificate(boolean qualifiedCertificate)
-
-
Sets the qualifiedCertificate. -

-

-
Parameters:
qualifiedCertificate - The qualifiedCertificate to set
-
-
-
- -

-setPBK

-
-public void setPBK(String bPK)
-
-
Sets the bPK. -

-

-
Parameters:
bPK - The bPK to set
-
-
-
- -

-getAssertionID

-
-public String getAssertionID()
-
-
Returns the assertionID. -

-

- -
Returns:
String
-
-
-
- -

-getDateOfBirth

-
-public String getDateOfBirth()
-
-
Returns the dateOfBirth. -

-

- -
Returns:
String
-
-
-
- -

-getFamilyName

-
-public String getFamilyName()
-
-
Returns the familyName. -

-

- -
Returns:
String
-
-
-
- -

-getGivenName

-
-public String getGivenName()
-
-
Returns the givenName. -

-

- -
Returns:
String
-
-
-
- -

-getIdentificationValue

-
-public String getIdentificationValue()
-
-
Returns the identificationValue. -

-

- -
Returns:
String
-
-
-
- -

-getIdentificationType

-
-public String getIdentificationType()
-
-
Returns the identificationType -

-

- -
Returns:
String
-
-
-
- -

-getIssueInstant

-
-public String getIssueInstant()
-
-
Returns the issueInstant. -

-

- -
Returns:
String
-
-
-
- -

-getIssuer

-
-public String getIssuer()
-
-
Returns the issuer. -

-

- -
Returns:
String
-
-
-
- -

-getMajorVersion

-
-public int getMajorVersion()
-
-
Returns the majorVersion. -

-

- -
Returns:
int
-
-
-
- -

-setAssertionID

-
-public void setAssertionID(String assertionID)
-
-
Sets the assertionID. -

-

-
Parameters:
assertionID - The assertionID to set
-
-
-
- -

-setDateOfBirth

-
-public void setDateOfBirth(String dateOfBirth)
-
-
Sets the dateOfBirth. -

-

-
Parameters:
dateOfBirth - The dateOfBirth to set
-
-
-
- -

-setFamilyName

-
-public void setFamilyName(String gamilyName)
-
-
Sets the familyName. -

-

-
-
-
-
- -

-setGivenName

-
-public void setGivenName(String givenName)
-
-
Sets the givenName. -

-

-
Parameters:
givenName - The givenName to set
-
-
-
- -

-setIdentificationValue

-
-public void setIdentificationValue(String identificationValue)
-
-
Sets the identificationValue. -

-

-
Parameters:
identificationValue - The identificationValue to set
-
-
-
- -

-setIdentificationType

-
-public void setIdentificationType(String identificationType)
-
-
Sets the identificationType. -

-

-
Parameters:
identificationType - The identificationType to set
-
-
-
- -

-setIssueInstant

-
-public void setIssueInstant(String issueInstant)
-
-
Sets the issueInstant. -

-

-
Parameters:
issueInstant - The issueInstant to set
-
-
-
- -

-setIssuer

-
-public void setIssuer(String issuer)
-
-
Sets the issuer. -

-

-
Parameters:
issuer - The issuer to set
-
-
-
- -

-setMajorVersion

-
-public void setMajorVersion(int majorVersion)
-
-
Sets the majorVersion. -

-

-
Parameters:
majorVersion - The majorVersion to set
-
-
-
- -

-getSamlAssertion

-
-public String getSamlAssertion()
-
-
Returns the samlAssertion. -

-

- -
Returns:
String
-
-
-
- -

-setSamlAssertion

-
-public void setSamlAssertion(String samlAssertion)
-
-
Sets the samlAssertion. -

-

-
Parameters:
samlAssertion - The samlAssertion to set
-
-
-
- -

-getTimestamp

-
-public Date getTimestamp()
-
-
Returns the timestamp. -

-

- -
Returns:
Date
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/class-use/AuthenticationData.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/class-use/AuthenticationData.html deleted file mode 100644 index 44c47942a..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/class-use/AuthenticationData.html +++ /dev/null @@ -1,214 +0,0 @@ - - - - - - -Uses of Class at.gv.egovernment.moa.id.data.AuthenticationData (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Uses of Class
at.gv.egovernment.moa.id.data.AuthenticationData

-
- - - - - - - - - - - - - -
-Packages that use AuthenticationData
at.gv.egovernment.moa.id.auth  
at.gv.egovernment.moa.id.proxy  
-  -

- - - - - -
-Uses of AuthenticationData in at.gv.egovernment.moa.id.auth
-  -

- - - - - - - - - -
Methods in at.gv.egovernment.moa.id.auth that return AuthenticationData
- AuthenticationDataAuthenticationServer.getAuthenticationData(String samlArtifact) - -
-          Retrieves AuthenticationData indexed by the SAML artifact. -
-  -

- - - - - -
-Uses of AuthenticationData in at.gv.egovernment.moa.id.proxy
-  -

- - - - - - - - - - - - - -
Methods in at.gv.egovernment.moa.id.proxy with parameters of type AuthenticationData
- MapLoginParameterResolver.getAuthenticationHeaders(OAConfiguration oaConf, - AuthenticationData authData, - String clientIPAddress) - -
-          Returns authentication headers to be added to a URLConnection.
- MapLoginParameterResolver.getAuthenticationParameters(OAConfiguration oaConf, - AuthenticationData authData, - String clientIPAddress) - -
-          Returns request parameters to be added to a URLConnection.
-  -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/package-frame.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/package-frame.html deleted file mode 100644 index b3be4f39a..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/package-frame.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -at.gv.egovernment.moa.id.data (MOA ID API) - - - - - - - - - - - -at.gv.egovernment.moa.id.data - - - - -
-Classes  - -
-AuthenticationData
- - - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/package-summary.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/package-summary.html deleted file mode 100644 index 28b8dd351..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/package-summary.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - -at.gv.egovernment.moa.id.data (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-

-Package at.gv.egovernment.moa.id.data -

- - - - - - - - - -
-Class Summary
AuthenticationDataEncapsulates authentication data contained in a <saml:Assertion>.
-  - -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/package-tree.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/package-tree.html deleted file mode 100644 index 6911edcdb..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/package-tree.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - - -at.gv.egovernment.moa.id.data Class Hierarchy (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Hierarchy For Package at.gv.egovernment.moa.id.data -

-
-
-
Package Hierarchies:
All Packages
-
-

-Class Hierarchy -

- -
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/package-use.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/package-use.html deleted file mode 100644 index c90a703c9..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/data/package-use.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - -Uses of Package at.gv.egovernment.moa.id.data (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Uses of Package
at.gv.egovernment.moa.id.data

-
- - - - - - - - - - - - - -
-Packages that use at.gv.egovernment.moa.id.data
at.gv.egovernment.moa.id.auth  
at.gv.egovernment.moa.id.proxy  
-  -

- - - - - - - - -
-Classes in at.gv.egovernment.moa.id.data used by at.gv.egovernment.moa.id.auth
AuthenticationData - -
-          Encapsulates authentication data contained in a <saml:Assertion>.
-  -

- - - - - - - - -
-Classes in at.gv.egovernment.moa.id.data used by at.gv.egovernment.moa.id.proxy
AuthenticationData - -
-          Encapsulates authentication data contained in a <saml:Assertion>.
-  -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/package-frame.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/package-frame.html deleted file mode 100644 index 9c4352356..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/package-frame.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - -at.gv.egovernment.moa.id (MOA ID API) - - - - - - - - - - - -at.gv.egovernment.moa.id - - - - -
-Classes  - -
-AuthenticationException
- - - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/package-summary.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/package-summary.html deleted file mode 100644 index 3750976f2..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/package-summary.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - -at.gv.egovernment.moa.id (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-

-Package at.gv.egovernment.moa.id -

- - - - - - - - - -
-Class Summary
AuthenticationExceptionException thrown during handling of AuthenticationSession
-  - -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/package-tree.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/package-tree.html deleted file mode 100644 index ebf3b1498..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/package-tree.html +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - -at.gv.egovernment.moa.id Class Hierarchy (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Hierarchy For Package at.gv.egovernment.moa.id -

-
-
-
Package Hierarchies:
All Packages
-
-

-Class Hierarchy -

- -
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/package-use.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/package-use.html deleted file mode 100644 index bc895c974..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/package-use.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - -Uses of Package at.gv.egovernment.moa.id (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Uses of Package
at.gv.egovernment.moa.id

-
- - - - - - - - - -
-Packages that use at.gv.egovernment.moa.id
at.gv.egovernment.moa.id.auth  
-  -

- - - - - - - - -
-Classes in at.gv.egovernment.moa.id used by at.gv.egovernment.moa.id.auth
AuthenticationException - -
-          Exception thrown during handling of AuthenticationSession
-  -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/ConnectionBuilder.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/ConnectionBuilder.html deleted file mode 100644 index 398be7e71..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/ConnectionBuilder.html +++ /dev/null @@ -1,249 +0,0 @@ - - - - - - -ConnectionBuilder (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -at.gv.egovernment.moa.id.proxy -
-Interface ConnectionBuilder

-
-
-
public interface ConnectionBuilder
- -

-Builder for URLConnection objects used to forward requests - to the remote online application. -

- -

-


- -

- - - - - - - - - - - - - - - - - - - - -
-Method Summary
- HttpURLConnectionbuildConnection(javax.servlet.http.HttpServletRequest request, - String publicURLPrefix, - String realURLPrefix, - javax.net.ssl.SSLSocketFactory sslSocketFactory, - Map parameters) - -
-          Builds an HttpURLConnection to a URL which is derived - from an HttpServletRequest URL, by substitution of a - public URL prefix for the real URL prefix.
-  -

- - - - - - - - - - - - - - -
-Method Detail
- -

-buildConnection

-
-public HttpURLConnection buildConnection(javax.servlet.http.HttpServletRequest request,
-                                         String publicURLPrefix,
-                                         String realURLPrefix,
-                                         javax.net.ssl.SSLSocketFactory sslSocketFactory,
-                                         Map parameters)
-                                  throws IOException
-
-
Builds an HttpURLConnection to a URL which is derived - from an HttpServletRequest URL, by substitution of a - public URL prefix for the real URL prefix.
- The HttpURLConnection has been created by URL.openConnection(), but - it has not yet been connected to by URLConnection.connect().
- The field settings of the HttpURLConnection are: -
    -
  • allowUserInteraction = false
  • -
  • doInput = true
  • -
  • doOutput = true
  • -
  • requestMethod = request.getMethod()
  • -
  • useCaches = false
  • -
-

-

-
Parameters:
request - the incoming request which shall be forwarded
publicURLPrefix - the public URL prefix to be substituted by the real URL prefix
realURLPrefix - the URL prefix to substitute the public URL prefix
sslSocketFactory - factory to be used for creating an SSL socket in case - of a URL for scheme "https:"; -
if null, the default SSL socket factory would be used
parameters - parameters to be forwarded -
Returns:
a URLConnection created by URL.openConnection(), connecting to - the requested URL with publicURLPrefix substituted by realURLPrefix -
Throws: -
IOException - if an I/O exception occurs during opening the connection
See Also:
URL.openConnection(), -com.sun.net.ssl.HttpsURLConnection#getDefaultSSLSocketFactory()
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/LoginParameterResolver.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/LoginParameterResolver.html deleted file mode 100644 index 0b2926e55..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/LoginParameterResolver.html +++ /dev/null @@ -1,506 +0,0 @@ - - - - - - -LoginParameterResolver (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -at.gv.egovernment.moa.id.proxy -
-Interface LoginParameterResolver

-
-
-
public interface LoginParameterResolver
- -

-Determines authentication parameters and headers to be added to a URLConnection - to the remote online application. - Utilizes OAConfiguration and AuthenticationData. -

- -

-


- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Field Summary
-static StringMOABKZ - -
-          Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
-static StringMOABPK - -
-          Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
-static StringMOADateOfBirth - -
-          Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
-static StringMOAFamilyName - -
-          Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
-static StringMOAGivenName - -
-          Constants used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType, - naming predicates used by the LoginParameterResolver.
-static StringMOAIdentificationValueType - -
-          Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
-static StringMOAIPAddress - -
-          Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
-static StringMOAPublicAuthority - -
-          Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
-static StringMOAQualifiedCertificate - -
-          Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
-static StringMOAStammzahl - -
-          Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
-  - - - - - - - - - - - - - - - - - - - - - - -
-Method Summary
- voidconfigure(String configuration) - -
-           
- MapgetAuthenticationHeaders(OAConfiguration oaConf, - AuthenticationData authData, - String clientIPAddress) - -
-          Returns authentication headers to be added to a URLConnection.
- MapgetAuthenticationParameters(OAConfiguration oaConf, - AuthenticationData authData, - String clientIPAddress) - -
-          Returns request parameters to be added to a URLConnection.
-  -

- - - - - - - - -
-Field Detail
- -

-MOAGivenName

-
-public static final String MOAGivenName
-
-
Constants used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType, - naming predicates used by the LoginParameterResolver. -

-

-
See Also:
Constant Field Values
-
-
- -

-MOAFamilyName

-
-public static final String MOAFamilyName
-
-
Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType -

-

-
See Also:
Constant Field Values
-
-
- -

-MOADateOfBirth

-
-public static final String MOADateOfBirth
-
-
Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType -

-

-
See Also:
Constant Field Values
-
-
- -

-MOABPK

-
-public static final String MOABPK
-
-
Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType -

-

-
See Also:
Constant Field Values
-
-
- -

-MOAPublicAuthority

-
-public static final String MOAPublicAuthority
-
-
Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType -

-

-
See Also:
Constant Field Values
-
-
- -

-MOABKZ

-
-public static final String MOABKZ
-
-
Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType -

-

-
See Also:
Constant Field Values
-
-
- -

-MOAQualifiedCertificate

-
-public static final String MOAQualifiedCertificate
-
-
Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType -

-

-
See Also:
Constant Field Values
-
-
- -

-MOAStammzahl

-
-public static final String MOAStammzahl
-
-
Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType -

-

-
See Also:
Constant Field Values
-
-
- -

-MOAIdentificationValueType

-
-public static final String MOAIdentificationValueType
-
-
Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType -

-

-
See Also:
Constant Field Values
-
-
- -

-MOAIPAddress

-
-public static final String MOAIPAddress
-
-
Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType -

-

-
See Also:
Constant Field Values
-
- - - - - - - - - - - -
-Method Detail
- -

-getAuthenticationHeaders

-
-public Map getAuthenticationHeaders(OAConfiguration oaConf,
-                                    AuthenticationData authData,
-                                    String clientIPAddress)
-                             throws LoginParameterResolverException,
-                                    NotAllowedException
-
-
Returns authentication headers to be added to a URLConnection. -

-

-
Parameters:
oaConf - configuration data
authData - authentication data
clientIPAddress - client IP address -
Returns:
A map, the keys being header names and values being corresponding header values. -
In case of authentication type "basic-auth", header fields - username and password. -
In case of authentication type "header-auth", header fields - derived from parameter mapping and authentication data provided. -
Otherwise, an empty map. -
Throws: -
LoginParameterResolverException -
NotAllowedException
-
-
-
- -

-getAuthenticationParameters

-
-public Map getAuthenticationParameters(OAConfiguration oaConf,
-                                       AuthenticationData authData,
-                                       String clientIPAddress)
-                                throws LoginParameterResolverException
-
-
Returns request parameters to be added to a URLConnection. -

-

-
Parameters:
oaConf - configuration data
authData - authentication data
clientIPAddress - client IP address -
Returns:
A map, the keys being parameter names and values being corresponding parameter values. -
In case of authentication type "param-auth", parameters - derived from parameter mapping and authentication data provided. -
Otherwise, an empty map. -
Throws: -
LoginParameterResolverException
-
-
-
- -

-configure

-
-public void configure(String configuration)
-               throws LoginParameterResolverException,
-                      NotAllowedException
-
-
- -
Throws: -
LoginParameterResolverException -
NotAllowedException
-
-
- -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/LoginParameterResolverException.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/LoginParameterResolverException.html deleted file mode 100644 index fd4dd84d2..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/LoginParameterResolverException.html +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - -LoginParameterResolverException (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -at.gv.egovernment.moa.id.proxy -
-Class LoginParameterResolverException

-
-java.lang.Object
-  extended byMOAIDException
-      extended byat.gv.egovernment.moa.id.proxy.LoginParameterResolverException
-
-
-
-
public class LoginParameterResolverException
extends MOAIDException
- -

-Exception thrown while proxying a request to the online application -

- -

-

-
See Also:
Serialized Form
-
- -

- - - - - - - - - - - - - - - - - - - -
-Constructor Summary
LoginParameterResolverException(String messageId, - Object[] parameters) - -
-          Constructor for LoginParameterResolverException.
LoginParameterResolverException(String messageId, - Object[] parameters, - Throwable wrapped) - -
-          Constructor for LoginParameterResolverException.
-  - - - - - - - - - - -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - - - - -
-Constructor Detail
- -

-LoginParameterResolverException

-
-public LoginParameterResolverException(String messageId,
-                                       Object[] parameters)
-
-
Constructor for LoginParameterResolverException. -

-

Parameters:
messageId -
parameters -
-
- -

-LoginParameterResolverException

-
-public LoginParameterResolverException(String messageId,
-                                       Object[] parameters,
-                                       Throwable wrapped)
-
-
Constructor for LoginParameterResolverException. -

-

Parameters:
messageId -
parameters -
wrapped -
- - - - -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/NotAllowedException.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/NotAllowedException.html deleted file mode 100644 index 7c01bd12f..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/NotAllowedException.html +++ /dev/null @@ -1,253 +0,0 @@ - - - - - - -NotAllowedException (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- -

- -at.gv.egovernment.moa.id.proxy -
-Class NotAllowedException

-
-java.lang.Object
-  extended byMOAIDException
-      extended byat.gv.egovernment.moa.id.proxy.NotAllowedException
-
-
-
-
public class NotAllowedException
extends MOAIDException
- -

-Exception thrown while proxying a request to the online application - Reason for this exception: the dedicated LoginParameterResolver does - not allow access to the desired ressource. -

- -

-

-
See Also:
Serialized Form
-
- -

- - - - - - - - - - - - - - - - - - - -
-Constructor Summary
NotAllowedException(String messageId, - Object[] parameters) - -
-          Constructor for NotAllowedException.
NotAllowedException(String messageId, - Object[] parameters, - Throwable wrapped) - -
-          Constructor for NotAllowedException.
-  - - - - - - - - - - -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-  -

- - - - - - - - - - - -
-Constructor Detail
- -

-NotAllowedException

-
-public NotAllowedException(String messageId,
-                           Object[] parameters)
-
-
Constructor for NotAllowedException. -

-

Parameters:
messageId -
parameters -
-
- -

-NotAllowedException

-
-public NotAllowedException(String messageId,
-                           Object[] parameters,
-                           Throwable wrapped)
-
-
Constructor for NotAllowedException. -

-

Parameters:
messageId -
parameters -
wrapped -
- - - - -
- - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/class-use/ConnectionBuilder.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/class-use/ConnectionBuilder.html deleted file mode 100644 index 69af13810..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/class-use/ConnectionBuilder.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - -Uses of Interface at.gv.egovernment.moa.id.proxy.ConnectionBuilder (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Uses of Interface
at.gv.egovernment.moa.id.proxy.ConnectionBuilder

-
-No usage of at.gv.egovernment.moa.id.proxy.ConnectionBuilder -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/class-use/LoginParameterResolver.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/class-use/LoginParameterResolver.html deleted file mode 100644 index aca06fa02..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/class-use/LoginParameterResolver.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - -Uses of Interface at.gv.egovernment.moa.id.proxy.LoginParameterResolver (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Uses of Interface
at.gv.egovernment.moa.id.proxy.LoginParameterResolver

-
-No usage of at.gv.egovernment.moa.id.proxy.LoginParameterResolver -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/class-use/LoginParameterResolverException.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/class-use/LoginParameterResolverException.html deleted file mode 100644 index ccd7d50cf..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/class-use/LoginParameterResolverException.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - -Uses of Class at.gv.egovernment.moa.id.proxy.LoginParameterResolverException (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Uses of Class
at.gv.egovernment.moa.id.proxy.LoginParameterResolverException

-
- - - - - - - - - -
-Packages that use LoginParameterResolverException
at.gv.egovernment.moa.id.proxy  
-  -

- - - - - -
-Uses of LoginParameterResolverException in at.gv.egovernment.moa.id.proxy
-  -

- - - - - - - - - - - - - - - - - -
Methods in at.gv.egovernment.moa.id.proxy that throw LoginParameterResolverException
- MapLoginParameterResolver.getAuthenticationHeaders(OAConfiguration oaConf, - AuthenticationData authData, - String clientIPAddress) - -
-          Returns authentication headers to be added to a URLConnection.
- MapLoginParameterResolver.getAuthenticationParameters(OAConfiguration oaConf, - AuthenticationData authData, - String clientIPAddress) - -
-          Returns request parameters to be added to a URLConnection.
- voidLoginParameterResolver.configure(String configuration) - -
-           
-  -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/class-use/NotAllowedException.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/class-use/NotAllowedException.html deleted file mode 100644 index fa0e1f24e..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/class-use/NotAllowedException.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - - -Uses of Class at.gv.egovernment.moa.id.proxy.NotAllowedException (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Uses of Class
at.gv.egovernment.moa.id.proxy.NotAllowedException

-
- - - - - - - - - -
-Packages that use NotAllowedException
at.gv.egovernment.moa.id.proxy  
-  -

- - - - - -
-Uses of NotAllowedException in at.gv.egovernment.moa.id.proxy
-  -

- - - - - - - - - - - - - -
Methods in at.gv.egovernment.moa.id.proxy that throw NotAllowedException
- MapLoginParameterResolver.getAuthenticationHeaders(OAConfiguration oaConf, - AuthenticationData authData, - String clientIPAddress) - -
-          Returns authentication headers to be added to a URLConnection.
- voidLoginParameterResolver.configure(String configuration) - -
-           
-  -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/package-frame.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/package-frame.html deleted file mode 100644 index a8afe874e..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/package-frame.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - -at.gv.egovernment.moa.id.proxy (MOA ID API) - - - - - - - - - - - -at.gv.egovernment.moa.id.proxy - - - - -
-Interfaces  - -
-ConnectionBuilder -
-LoginParameterResolver
- - - - - - -
-Classes  - -
-LoginParameterResolverException -
-NotAllowedException
- - - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/package-summary.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/package-summary.html deleted file mode 100644 index 9c6f09843..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/package-summary.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - -at.gv.egovernment.moa.id.proxy (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-

-Package at.gv.egovernment.moa.id.proxy -

- - - - - - - - - - - - - -
-Interface Summary
ConnectionBuilderBuilder for URLConnection objects used to forward requests - to the remote online application.
LoginParameterResolverDetermines authentication parameters and headers to be added to a URLConnection - to the remote online application. -
-  - -

- - - - - - - - - - - - - -
-Class Summary
LoginParameterResolverExceptionException thrown while proxying a request to the online application
NotAllowedExceptionException thrown while proxying a request to the online application - Reason for this exception: the dedicated LoginParameterResolver does - not allow access to the desired ressource.
-  - -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/package-tree.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/package-tree.html deleted file mode 100644 index 90e057ebc..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/package-tree.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - -at.gv.egovernment.moa.id.proxy Class Hierarchy (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Hierarchy For Package at.gv.egovernment.moa.id.proxy -

-
-
-
Package Hierarchies:
All Packages
-
-

-Class Hierarchy -

- -

-Interface Hierarchy -

- -
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/package-use.html b/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/package-use.html deleted file mode 100644 index a8c6c026b..000000000 --- a/id/server/doc/moa_id/api-doc/at/gv/egovernment/moa/id/proxy/package-use.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - -Uses of Package at.gv.egovernment.moa.id.proxy (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Uses of Package
at.gv.egovernment.moa.id.proxy

-
- - - - - - - - - -
-Packages that use at.gv.egovernment.moa.id.proxy
at.gv.egovernment.moa.id.proxy  
-  -

- - - - - - - - - - - -
-Classes in at.gv.egovernment.moa.id.proxy used by at.gv.egovernment.moa.id.proxy
LoginParameterResolverException - -
-          Exception thrown while proxying a request to the online application
NotAllowedException - -
-          Exception thrown while proxying a request to the online application - Reason for this exception: the dedicated LoginParameterResolver does - not allow access to the desired ressource.
-  -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/constant-values.html b/id/server/doc/moa_id/api-doc/constant-values.html deleted file mode 100644 index bc145c359..000000000 --- a/id/server/doc/moa_id/api-doc/constant-values.html +++ /dev/null @@ -1,262 +0,0 @@ - - - - - - -Constant Field Values (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Constant Field Values

-
-
-Contents - - - - - - -
-at.gv.*
- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
at.gv.egovernment.moa.id.config.proxy.OAConfiguration
-public static final StringBASIC_AUTH"basic"
-public static final StringHEADER_AUTH"header"
-public static final StringLOGINTYPE_STATEFUL"stateful"
-public static final StringLOGINTYPE_STATELESS"stateless"
-public static final StringPARAM_AUTH"param"
- -

- -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
at.gv.egovernment.moa.id.proxy.LoginParameterResolver
-public static final StringMOABKZ"MOABKZ"
-public static final StringMOABPK"MOABPK"
-public static final StringMOADateOfBirth"MOADateOfBirth"
-public static final StringMOAFamilyName"MOAFamilyName"
-public static final StringMOAGivenName"MOAGivenName"
-public static final StringMOAIdentificationValueType"MOAIdentificationValueType"
-public static final StringMOAIPAddress"MOAIPAddress"
-public static final StringMOAPublicAuthority"MOAPublicAuthority"
-public static final StringMOAQualifiedCertificate"MOAQualifiedCertificate"
-public static final StringMOAStammzahl"MOAStammzahl"
- -

- -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/deprecated-list.html b/id/server/doc/moa_id/api-doc/deprecated-list.html deleted file mode 100644 index d760f28ee..000000000 --- a/id/server/doc/moa_id/api-doc/deprecated-list.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - -Deprecated List (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Deprecated API

-
-
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/help-doc.html b/id/server/doc/moa_id/api-doc/help-doc.html deleted file mode 100644 index bbdccd6b5..000000000 --- a/id/server/doc/moa_id/api-doc/help-doc.html +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - -API Help (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-How This API Document Is Organized

-
-This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.

-Overview

-
- -

-The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

-

-Package

-
- -

-Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:

    -
  • Interfaces (italic)
  • Classes
  • Exceptions
  • Errors
-
-

-Class/Interface

-
- -

-Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

    -
  • Class inheritance diagram
  • Direct Subclasses
  • All Known Subinterfaces
  • All Known Implementing Classes
  • Class/interface declaration
  • Class/interface description -

    -

  • Nested Class Summary
  • Field Summary
  • Constructor Summary
  • Method Summary -

    -

  • Field Detail
  • Constructor Detail
  • Method Detail
-Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
-

-Use

-
-Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.
-

-Tree (Class Hierarchy)

-
-There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.
    -
  • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
  • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
-
-

-Deprecated API

-
-The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
-

-Index

-
-The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
-

-Prev/Next

-These links take you to the next or previous class, interface, package, or related page.

-Frames/No Frames

-These links show and hide the HTML frames. All pages are available with or without frames. -

-

-Serialized Form

-Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description. -

- - -This help file applies to API documentation generated using the standard doclet. - -
-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/index-all.html b/id/server/doc/moa_id/api-doc/index-all.html deleted file mode 100644 index b6ccf5c68..000000000 --- a/id/server/doc/moa_id/api-doc/index-all.html +++ /dev/null @@ -1,462 +0,0 @@ - - - - - - -Index (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -A B C D G H I L M N O P S V
-

-A

-
-
AuthenticationData - class at.gv.egovernment.moa.id.data.AuthenticationData.
Encapsulates authentication data contained in a <saml:Assertion>.
AuthenticationData() - -Constructor for class at.gv.egovernment.moa.id.data.AuthenticationData -
Constructor for AuthenticationData. -
AuthenticationException - class at.gv.egovernment.moa.id.AuthenticationException.
Exception thrown during handling of AuthenticationSession
AuthenticationException(String, Object[]) - -Constructor for class at.gv.egovernment.moa.id.AuthenticationException -
Constructor for AuthenticationException. -
AuthenticationException(String, Object[], Throwable) - -Constructor for class at.gv.egovernment.moa.id.AuthenticationException -
Constructor for AuthenticationException. -
AuthenticationServer - class at.gv.egovernment.moa.id.auth.AuthenticationServer.
API for MOA ID Authentication Service.
AuthenticationServer() - -Constructor for class at.gv.egovernment.moa.id.auth.AuthenticationServer -
Constructor for AuthenticationServer. -
at.gv.egovernment.moa.id - package at.gv.egovernment.moa.id
 
at.gv.egovernment.moa.id.auth - package at.gv.egovernment.moa.id.auth
 
at.gv.egovernment.moa.id.config.proxy - package at.gv.egovernment.moa.id.config.proxy
 
at.gv.egovernment.moa.id.data - package at.gv.egovernment.moa.id.data
 
at.gv.egovernment.moa.id.proxy - package at.gv.egovernment.moa.id.proxy
 
-
-

-B

-
-
BASIC_AUTH - -Static variable in class at.gv.egovernment.moa.id.config.proxy.OAConfiguration -
Constant for an auth method -
buildConnection(HttpServletRequest, String, String, SSLSocketFactory, Map) - -Method in interface at.gv.egovernment.moa.id.proxy.ConnectionBuilder -
Builds an HttpURLConnection to a URL which is derived - from an HttpServletRequest URL, by substitution of a - public URL prefix for the real URL prefix. -
-
-

-C

-
-
ConnectionBuilder - interface at.gv.egovernment.moa.id.proxy.ConnectionBuilder.
Builder for URLConnection objects used to forward requests - to the remote online application.
cleanup() - -Method in class at.gv.egovernment.moa.id.auth.AuthenticationServer -
Cleans up expired session and authentication data stores. -
configure(String) - -Method in interface at.gv.egovernment.moa.id.proxy.LoginParameterResolver -
  -
-
-

-D

-
-
debugOutputXMLFile(String, Element) - -Static method in class at.gv.egovernment.moa.id.auth.AuthenticationServer -
Writes an XML structure to file for debugging purposes, encoding UTF-8. -
debugOutputXMLFile(String, String) - -Static method in class at.gv.egovernment.moa.id.auth.AuthenticationServer -
Writes an XML structure to file for debugging purposes, encoding UTF-8. -
-
-

-G

-
-
getAssertionID() - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Returns the assertionID. -
getAuthType() - -Method in class at.gv.egovernment.moa.id.config.proxy.OAConfiguration -
Returns the authType. -
getAuthenticationData(String) - -Method in class at.gv.egovernment.moa.id.auth.AuthenticationServer -
Retrieves AuthenticationData indexed by the SAML artifact. - -
getAuthenticationHeaders(OAConfiguration, AuthenticationData, String) - -Method in interface at.gv.egovernment.moa.id.proxy.LoginParameterResolver -
Returns authentication headers to be added to a URLConnection. -
getAuthenticationParameters(OAConfiguration, AuthenticationData, String) - -Method in interface at.gv.egovernment.moa.id.proxy.LoginParameterResolver -
Returns request parameters to be added to a URLConnection. -
getBasicAuthPasswordMapping() - -Method in class at.gv.egovernment.moa.id.config.proxy.OAConfiguration -
Returns the basicAuthPasswordMapping. -
getBasicAuthUserIDMapping() - -Method in class at.gv.egovernment.moa.id.config.proxy.OAConfiguration -
Returns the basicAuthUserIDMapping. -
getDateOfBirth() - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Returns the dateOfBirth. -
getFamilyName() - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Returns the familyName. -
getGivenName() - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Returns the givenName. -
getHeaderAuthMapping() - -Method in class at.gv.egovernment.moa.id.config.proxy.OAConfiguration -
Returns the headerAuthMapping. -
getIdentificationType() - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Returns the identificationType -
getIdentificationValue() - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Returns the identificationValue. -
getInstance() - -Static method in class at.gv.egovernment.moa.id.auth.AuthenticationServer -
Returns the single instance of AuthenticationServer. -
getIssueInstant() - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Returns the issueInstant. -
getIssuer() - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Returns the issuer. -
getLoginType() - -Method in class at.gv.egovernment.moa.id.config.proxy.OAConfiguration -
Returns the loginType. -
getMajorVersion() - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Returns the majorVersion. -
getMinorVersion() - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Returns the minorVersion. -
getPBK() - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Returns the bPK. -
getParamAuthMapping() - -Method in class at.gv.egovernment.moa.id.config.proxy.OAConfiguration -
Returns the paramAuthMapping. -
getPublicAuthorityCode() - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Returns the publicAuthorityCode. -
getSamlAssertion() - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Returns the samlAssertion. -
getSession(String) - -Static method in class at.gv.egovernment.moa.id.auth.AuthenticationServer -
Retrieves a session from the session store. -
getTimestamp() - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Returns the timestamp. -
-
-

-H

-
-
HEADER_AUTH - -Static variable in class at.gv.egovernment.moa.id.config.proxy.OAConfiguration -
Constant for an auth method -
-
-

-I

-
-
isPublicAuthority() - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Returns the publicAuthority. -
isQualifiedCertificate() - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Returns the qualifiedCertificate. -
-
-

-L

-
-
LOGINTYPE_STATEFUL - -Static variable in class at.gv.egovernment.moa.id.config.proxy.OAConfiguration -
Constant for an login method -
LOGINTYPE_STATELESS - -Static variable in class at.gv.egovernment.moa.id.config.proxy.OAConfiguration -
Constant for an login method -
LoginParameterResolver - interface at.gv.egovernment.moa.id.proxy.LoginParameterResolver.
Determines authentication parameters and headers to be added to a URLConnection - to the remote online application. -
LoginParameterResolverException - class at.gv.egovernment.moa.id.proxy.LoginParameterResolverException.
Exception thrown while proxying a request to the online application
LoginParameterResolverException(String, Object[]) - -Constructor for class at.gv.egovernment.moa.id.proxy.LoginParameterResolverException -
Constructor for LoginParameterResolverException. -
LoginParameterResolverException(String, Object[], Throwable) - -Constructor for class at.gv.egovernment.moa.id.proxy.LoginParameterResolverException -
Constructor for LoginParameterResolverException. -
-
-

-M

-
-
MOABKZ - -Static variable in interface at.gv.egovernment.moa.id.proxy.LoginParameterResolver -
Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType -
MOABPK - -Static variable in interface at.gv.egovernment.moa.id.proxy.LoginParameterResolver -
Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType -
MOADateOfBirth - -Static variable in interface at.gv.egovernment.moa.id.proxy.LoginParameterResolver -
Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType -
MOAFamilyName - -Static variable in interface at.gv.egovernment.moa.id.proxy.LoginParameterResolver -
Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType -
MOAGivenName - -Static variable in interface at.gv.egovernment.moa.id.proxy.LoginParameterResolver -
Constants used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType, - naming predicates used by the LoginParameterResolver. -
MOAIPAddress - -Static variable in interface at.gv.egovernment.moa.id.proxy.LoginParameterResolver -
Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType -
MOAIdentificationValueType - -Static variable in interface at.gv.egovernment.moa.id.proxy.LoginParameterResolver -
Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType -
MOAPublicAuthority - -Static variable in interface at.gv.egovernment.moa.id.proxy.LoginParameterResolver -
Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType -
MOAQualifiedCertificate - -Static variable in interface at.gv.egovernment.moa.id.proxy.LoginParameterResolver -
Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType -
MOAStammzahl - -Static variable in interface at.gv.egovernment.moa.id.proxy.LoginParameterResolver -
Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType -
-
-

-N

-
-
NotAllowedException - class at.gv.egovernment.moa.id.proxy.NotAllowedException.
Exception thrown while proxying a request to the online application - Reason for this exception: the dedicated LoginParameterResolver does - not allow access to the desired ressource.
NotAllowedException(String, Object[]) - -Constructor for class at.gv.egovernment.moa.id.proxy.NotAllowedException -
Constructor for NotAllowedException. -
NotAllowedException(String, Object[], Throwable) - -Constructor for class at.gv.egovernment.moa.id.proxy.NotAllowedException -
Constructor for NotAllowedException. -
-
-

-O

-
-
OAConfiguration - class at.gv.egovernment.moa.id.config.proxy.OAConfiguration.
Holds configuration data concerning an online application for use by the MOA-ID Proxy component. -
OAConfiguration() - -Constructor for class at.gv.egovernment.moa.id.config.proxy.OAConfiguration -
  -
-
-

-P

-
-
PARAM_AUTH - -Static variable in class at.gv.egovernment.moa.id.config.proxy.OAConfiguration -
Constant for an auth method -
-
-

-S

-
-
selectBKU(String, String, String, String, String) - -Method in class at.gv.egovernment.moa.id.auth.AuthenticationServer -
Processes request to select a BKU. - -
setAssertionID(String) - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Sets the assertionID. -
setAuthType(String) - -Method in class at.gv.egovernment.moa.id.config.proxy.OAConfiguration -
Sets the authType. -
setBasicAuthPasswordMapping(String) - -Method in class at.gv.egovernment.moa.id.config.proxy.OAConfiguration -
Sets the basicAuthPasswordMapping. -
setBasicAuthUserIDMapping(String) - -Method in class at.gv.egovernment.moa.id.config.proxy.OAConfiguration -
Sets the basicAuthUserIDMapping. -
setDateOfBirth(String) - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Sets the dateOfBirth. -
setFamilyName(String) - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Sets the familyName. -
setGivenName(String) - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Sets the givenName. -
setHeaderAuthMapping(HashMap) - -Method in class at.gv.egovernment.moa.id.config.proxy.OAConfiguration -
Sets the headerAuthMapping. -
setIdentificationType(String) - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Sets the identificationType. -
setIdentificationValue(String) - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Sets the identificationValue. -
setIssueInstant(String) - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Sets the issueInstant. -
setIssuer(String) - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Sets the issuer. -
setLoginType(String) - -Method in class at.gv.egovernment.moa.id.config.proxy.OAConfiguration -
Sets the loginType. -
setMajorVersion(int) - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Sets the majorVersion. -
setMinorVersion(int) - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Sets the minorVersion. -
setPBK(String) - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Sets the bPK. -
setParamAuthMapping(HashMap) - -Method in class at.gv.egovernment.moa.id.config.proxy.OAConfiguration -
Sets the paramAuthMapping. -
setPublicAuthority(boolean) - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Sets the publicAuthority. -
setPublicAuthorityCode(String) - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Sets the publicAuthorityCode. -
setQualifiedCertificate(boolean) - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Sets the qualifiedCertificate. -
setSamlAssertion(String) - -Method in class at.gv.egovernment.moa.id.data.AuthenticationData -
Sets the samlAssertion. -
setSecondsAuthDataTimeOut(long) - -Method in class at.gv.egovernment.moa.id.auth.AuthenticationServer -
Sets the authDataTimeOut. -
setSecondsSessionTimeOut(long) - -Method in class at.gv.egovernment.moa.id.auth.AuthenticationServer -
Sets the sessionTimeOut. -
startAuthentication(String, String, String, String, String, String) - -Method in class at.gv.egovernment.moa.id.auth.AuthenticationServer -
Processes the beginning of an authentication session. - -
-
-

-V

-
-
verifyAuthenticationBlock(String, String) - -Method in class at.gv.egovernment.moa.id.auth.AuthenticationServer -
Processes a <CreateXMLSignatureResponse> sent by the - security layer implementation. -
verifyIdentityLink(String, String) - -Method in class at.gv.egovernment.moa.id.auth.AuthenticationServer -
Processes an <InfoboxReadResponse> sent by the - security layer implementation. -
-
-A B C D G H I L M N O P S V - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/index.html b/id/server/doc/moa_id/api-doc/index.html deleted file mode 100644 index 61c644160..000000000 --- a/id/server/doc/moa_id/api-doc/index.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - -MOA ID API - - - - - - - - - -<H2> -Frame Alert</H2> - -<P> -This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. -<BR> -Link to<A HREF="overview-summary.html">Non-frame version.</A> - - - diff --git a/id/server/doc/moa_id/api-doc/overview-frame.html b/id/server/doc/moa_id/api-doc/overview-frame.html deleted file mode 100644 index 58e79621c..000000000 --- a/id/server/doc/moa_id/api-doc/overview-frame.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - -Overview (MOA ID API) - - - - - - - - - - - - - - - -
-
- - - - - -
All Classes -

- -Packages -
-at.gv.egovernment.moa.id -
-at.gv.egovernment.moa.id.auth -
-at.gv.egovernment.moa.id.config.proxy -
-at.gv.egovernment.moa.id.data -
-at.gv.egovernment.moa.id.proxy -
-

- -

-  - - diff --git a/id/server/doc/moa_id/api-doc/overview-summary.html b/id/server/doc/moa_id/api-doc/overview-summary.html deleted file mode 100644 index 0d16ca82c..000000000 --- a/id/server/doc/moa_id/api-doc/overview-summary.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - -Overview (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -


-
-

-

MOA ID API

- -
- - - - - - - - - - - - - - - - - - - - - - - - - -
-Packages
at.gv.egovernment.moa.id 
at.gv.egovernment.moa.id.auth 
at.gv.egovernment.moa.id.config.proxy 
at.gv.egovernment.moa.id.data 
at.gv.egovernment.moa.id.proxy 
- -


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/overview-tree.html b/id/server/doc/moa_id/api-doc/overview-tree.html deleted file mode 100644 index 583aeddde..000000000 --- a/id/server/doc/moa_id/api-doc/overview-tree.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - -Class Hierarchy (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Hierarchy For All Packages

-
-
-
Package Hierarchies:
at.gv.egovernment.moa.id, at.gv.egovernment.moa.id.auth, at.gv.egovernment.moa.id.config.proxy, at.gv.egovernment.moa.id.data, at.gv.egovernment.moa.id.proxy
-
-

-Class Hierarchy -

- -

-Interface Hierarchy -

- -
- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/package-list b/id/server/doc/moa_id/api-doc/package-list deleted file mode 100644 index 4cafbedb3..000000000 --- a/id/server/doc/moa_id/api-doc/package-list +++ /dev/null @@ -1,5 +0,0 @@ -at.gv.egovernment.moa.id -at.gv.egovernment.moa.id.auth -at.gv.egovernment.moa.id.config.proxy -at.gv.egovernment.moa.id.data -at.gv.egovernment.moa.id.proxy diff --git a/id/server/doc/moa_id/api-doc/packages.html b/id/server/doc/moa_id/api-doc/packages.html deleted file mode 100644 index dc4a5e004..000000000 --- a/id/server/doc/moa_id/api-doc/packages.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - (MOA ID API) - - - - - - - - - - - -
- -
- -
-
-The front page has been relocated.Please see: -
-          Frame version -
-          Non-frame version.
- - - diff --git a/id/server/doc/moa_id/api-doc/resources/inherit.gif b/id/server/doc/moa_id/api-doc/resources/inherit.gif deleted file mode 100644 index c814867a1..000000000 Binary files a/id/server/doc/moa_id/api-doc/resources/inherit.gif and /dev/null differ diff --git a/id/server/doc/moa_id/api-doc/serialized-form.html b/id/server/doc/moa_id/api-doc/serialized-form.html deleted file mode 100644 index feb57f861..000000000 --- a/id/server/doc/moa_id/api-doc/serialized-form.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - -Serialized Form (MOA ID API) - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-

-Serialized Form

-
- - - - - -
-Class at.gv.egovernment.moa.id.AuthenticationException extends MOAIDException implements Serializable
- -

- -

-


- - - - - -
-Class at.gv.egovernment.moa.id.proxy.LoginParameterResolverException extends MOAIDException implements Serializable
- -

- -

-


- - - - - -
-Class at.gv.egovernment.moa.id.proxy.NotAllowedException extends MOAIDException implements Serializable
- -

- -

-


- - - - - - - - - - - - - - - -
- -
- - - -
- - - diff --git a/id/server/doc/moa_id/api-doc/stylesheet.css b/id/server/doc/moa_id/api-doc/stylesheet.css deleted file mode 100644 index 14c3737e8..000000000 --- a/id/server/doc/moa_id/api-doc/stylesheet.css +++ /dev/null @@ -1,29 +0,0 @@ -/* Javadoc style sheet */ - -/* Define colors, fonts and other style attributes here to override the defaults */ - -/* Page background color */ -body { background-color: #FFFFFF } - -/* Headings */ -h1 { font-size: 145% } - -/* Table colors */ -.TableHeadingColor { background: #CCCCFF } /* Dark mauve */ -.TableSubHeadingColor { background: #EEEEFF } /* Light mauve */ -.TableRowColor { background: #FFFFFF } /* White */ - -/* Font used in left-hand frame lists */ -.FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif } -.FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif } -.FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif } - -/* Navigation bar fonts and colors */ -.NavBarCell1 { background-color:#EEEEFF;} /* Light mauve */ -.NavBarCell1Rev { background-color:#00008B;} /* Dark Blue */ -.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;} -.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;} - -.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;} -.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;} - diff --git a/id/server/idserverlib/pom.xml b/id/server/idserverlib/pom.xml index a10f5eead..0d98d1dc7 100644 --- a/id/server/idserverlib/pom.xml +++ b/id/server/idserverlib/pom.xml @@ -1,164 +1,152 @@ - - MOA.id - server - 1.4.0 - + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + MOA.id + moa-id + 1.4.0 + - 4.0.0 - MOA.id.server - idserverlib - jar - 1.4.0 - MOA ID Serverlibrary + 4.0.0 + MOA.id.server + moa-id-lib + jar + 1.4.0 + MOA ID API + + + ${basedir}/../../../repository + + + + + javax.activation + activation + + + axis + axis + 1.4 + + + javax.mail + mail + + + javax.servlet + servlet-api + provided + + + xerces + xercesImpl + + + xerces + xmlParserAPIs + + + xalan + xalan + + + junit + junit + test + + + commons-logging + commons-logging + + + commons-discovery + commons-discovery + + + commons-fileupload + commons-fileupload + + + dav4j + dav4j + + + httpsclient + httpsclient + + + MOA + moa-common + + + MOA + moa-common-test + + + MOA.spss.server + moa-spss-lib + ${project.version} + + + iaik.prod + iaik_moa + + + iaik.prod + iaik_ecc + + + iaik.prod + iaik_jce_full + provided + + + iaik.prod + iaik_ixsil + + + iaik.prod + iaik_X509TrustManager + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.2 + + true + false + false + true + + at.gv.egovernment.moa.spss.server.*;at.gv.egovernment.moa.spss.api.impl.*;at.gv.egovernment.moa.spss.impl.* + + + + pre + a + Preconditions: + + + post + a + Postconfitions: + + + http://java.sun.com/j2se/1.4/docs/api/ + + + + generate-javadoc + package + + jar + + + + + + - - ${basedir}/../../../buildhelper - - - - - javaext - activation - - - axis - axis - 1.4 - - - javax.xml - jaxrpc-api - - - mail - mail - - - - javax.servlet - servlet-api - - compile - - - saaj - saaj - - - jaxp - jaxp-api - - - jaxp - dom - - - jaxp - sax - - - xerces - xercesImpl - - - xerces - xmlParserAPIs - - - jaxen - jaxen-core - - - jaxen - jaxen-dom - - - jaxen - saxpath - - - xalan - xalan - - - junit - junit - - - jsse - jsse - - - jsse - jnet - - - jsse - jcert - - - commons-logging - commons-logging - - - commons-discovery - commons-discovery - - - commons-fileupload - commons-fileupload - - - commons-io - commons-io - - - dav4j - dav4j - - - httpsclient - httpsclient - - - MOA - common - - - MOA - common-test - - - MOA.spss.server - serverlib - - - iaik.prod - iaik_moa_full - - - iaik.prod - iaik_ecc - - - iaik.prod - iaik_jce_full - - provided - - - iaik.prod - iaik_ixsil - - - iaik.prod - iaik_X509TrustManager - - - iaik.prod - iaik_ldap - - diff --git a/id/server/pom.xml b/id/server/pom.xml index 9c49a5885..eaa59d06f 100644 --- a/id/server/pom.xml +++ b/id/server/pom.xml @@ -1,134 +1,27 @@ - - - MOA - id - 1.4.0 - + + + MOA + id + 1.4.0 + - 4.0.0 - MOA.id - server - pom - 1.4.0 - MOA Id Server - - - idserverlib - auth - proxy - distribution - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - true - true - ${env.BUILD_EXECUTEABLE} - ${env.BUILD_VERSION} - 1.3 - 1.3 - - - - - - - - - javaext - activation - 1.0.2 - compile - - - axis - axis - 1.4 - compile - - - dav4j - dav4j - 0.1 - compile - - - httpsclient - httpsclient - JSSE-1.0 - compile - - - mail - mail - 1.5 - compile - - - commons-fileupload - commons-fileupload - 1.1.1 - compile - - - commons-io - commons-io - 1.1 - compile - - - MOA.spss.server - serverlib - 1.4.0 - compile - - - postgresql - postgresql - 7.3-jdbc2 - runtime - - - log4j - log4j - 1.2.8 - runtime - - - regexp - regexp - 1.3 - runtime - - - iaik.prod - iaik_Pkcs11Provider - 1.2.4 - provided - - - iaik.prod - iaik_ecc_signed - 2.15 - runtime - - - iaik.prod - iaik_jce_full_signed - 3.142_MOA - runtime - - - iaik.prod - iaik_Pkcs11Provider - 1.2.4 - runtime - - - + 4.0.0 + MOA.id + moa-id + pom + 1.4.0 + MOA ID Server + + + idserverlib + proxy + auth + + + + ${basedir}/../../repository + + diff --git a/id/server/proxy/assembly-war.xml b/id/server/proxy/assembly-war.xml index b9f84d762..dba832a74 100644 --- a/id/server/proxy/assembly-war.xml +++ b/id/server/proxy/assembly-war.xml @@ -56,7 +56,7 @@ commons-logging:commons-logging jaxp:dom iaik.prod:iaik_ixsil - iaik.prod:iaik_moa_full + iaik.prod:iaik_moa iaik.prod:iaik_Pkcs11Wrapper iaik.prod:iaik_X509TrustManager jaxen:jaxen-core @@ -74,12 +74,13 @@ WEB-INF/lib - - - iaik.win32:Pkcs11Wrapper - - WEB-INF/lib/win32 - + + + iaik.prod:iaik_Pkcs11Wrapper:dll:win32 + + pkcs11wrapper.dll + WEB-INF/lib/win32 + \ No newline at end of file diff --git a/id/server/proxy/pom.xml b/id/server/proxy/pom.xml index 0ca85d599..eb912c659 100644 --- a/id/server/proxy/pom.xml +++ b/id/server/proxy/pom.xml @@ -1,136 +1,194 @@ - - + + MOA.id - server + moa-id 1.4.0 - + - 4.0.0 - MOA.id.server - proxy - pom - 1.4.0 - MOA Id Server Proxy + + ${basedir}/../../../repository + + + + 4.0.0 + MOA.id.server + moa-id-proxy + war + 1.4.0 + MOA ID-Proxy WebService + + + + + org.apache.maven.plugins + maven-war-plugin + 2.0.2 + + + + false + true + + + + + ${basedir}/../resources + WEB-INF/classes/resources + + + ${basedir}/../services + WEB-INF/classes/META-INF/services + + + + + + test + package + + exploded + + + + + + + - - javaext - activation - - - axis - axis - - - commons-discovery - commons-discovery - - - commons-logging - commons-logging - - - jaxp - dom - - - iaik.prod - iaik_ixsil - - - iaik.prod - iaik_moa_full - - - iaik.prod - iaik_Pkcs11Wrapper - 1.2.16 - compile - - - iaik.prod - iaik_X509TrustManager - - - jaxen - jaxen-core - - - jaxen - jaxen-dom - - - jaxp - jaxp-api - - - javax.xml - jaxrpc-api - - - mail - mail - - - - saaj - saaj - - - jaxp - sax - - - jaxen - saxpath - - - wsdl4j - wsdl4j - - - - postgresql - postgresql - - - log4j - log4j - - - regexp - regexp - - - - iaik.win32 - Pkcs11Wrapper - 1.0 - dll - runtime - - - - - - - maven-assembly-plugin - - - ${basedir}/assembly-war.xml - - - - - make-assembly - package - - attached - - - - - - + + MOA.spss.server + moa-spss-lib + ${project.version} + + + MOA.id.server + moa-id-lib + ${project.version} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/id/templates/pom.xml b/id/templates/pom.xml index b17eba962..aa100b593 100644 --- a/id/templates/pom.xml +++ b/id/templates/pom.xml @@ -1,13 +1,25 @@ - - 4.0.0 - MOA - templates - war - 1.4.0 - MOA Sample Templates - - - moaid-templates - + + + MOA + id + 1.4.0 + + + 4.0.0 + MOA.id + moa-id-templates + war + 1.4.0 + MOA ID Sample Templates + + + ${basedir}/../../repository + + + + moaid-templates + + diff --git a/pom.xml b/pom.xml index 000825c06..c85c7b307 100644 --- a/pom.xml +++ b/pom.xml @@ -1,349 +1,289 @@ - - 4.0.0 - MOA - MOA - pom - 1.4.0 - MOA - - - ${basedir}/../buildhelper - - - - - JDK - - - 1.4 - - - - - subversion - - - subversion - - - - BuildHelper - - + + 4.0.0 + MOA + MOA + pom + 1.4.0 + MOA - - default - - true - - default - - - - common - common-test - spss - id - - + + ${basedir}/repository + - - zs - - false - - zs - - - - zs - - + + + default + + true + + default + + + + common + common-test + spss + id + + - - + + + + org.apache.maven.plugins + maven-surefire-plugin + + true + + - - - - org.apache.maven.plugins - maven-surefire-plugin - - true - - - - - org.apache.maven.plugins - maven-compiler-plugin - - true - - - - org.apache.maven.plugins - maven-compiler-plugin - - true - true - ${env.BUILD_EXECUTEABLE} - ${env.BUILD_VERSION} - - - - org.apache.maven.plugins - maven-jar-plugin - - - - true - - - - - - - + + org.apache.maven.plugins + maven-compiler-plugin + + false + true + ${env.BUILD_EXECUTEABLE} + ${env.BUILD_VERSION} + 1.3 + 1.3 + + + + org.apache.maven.plugins + maven-jar-plugin + + + + true + + + + + + false + maven-assembly-plugin + 2.2-beta-1 + + + id/assembly-auth.xml + id/assembly-proxy.xml + spss/assembly.xml + + + + - - - - org.apache.maven.plugins - maven-javadoc-plugin - - test.* - - - - + - - - - MOA - common - 1.4.0 - compile - - - MOA - common-test - 1.4.0 - test - - - junit - junit - 3.8.1 - test - - - commons-logging - commons-logging - 1.0.4 - compile - - - iaik.prod - iaik_jce_full - 3.13 - compile - - - javax.servlet - servlet-api - 2.4 - compile - - - javax.activation - activation - 1.0.2 - compile - - - javax.xml - jaxrpc-api - 1.1 - compile - - - saaj - saaj - 1.1 - compile - - - jaxp - jaxp-api - 1.2_01 - compile - - - jaxp - dom - 1.2_01 - compile - - - jaxp - sax - 1.2_01 - compile - - - jsse - jsse - 1.0.3_03 - compile - - - jsse - jnet - 1.0.3_03 - compile - - - jsse - jcert - 1.0.3_03 - compile - - - commons-discovery - commons-discovery - 0.2 - compile - - - iaik.prod - iaik_moa_full - 1.20 - compile - - - iaik.prod - iaik_ecc - 2.15 - provided - - - iaik.prod - iaik_ixsil - IXSIL-1.2.2.1 - compile - - - iaik.prod - iaik_X509TrustManager - 0.2 - compile - - - iaik.prod - iaik_ldap - 2003-04-29 - compile - + + + + org.apache.maven.plugins + maven-javadoc-plugin + + test.* + + + + - - jaxen - jaxen-core - compile - 1.0 - - - jaxen - jaxen-dom - compile - 1.0 - - - jaxen - saxpath - compile - 1.0 - - - jaxp - jaxp-api - 1.2_01 - compile - - - jsse - jsse - 1.0.3_03 - compile - - - taglibs - standard - 1.1.0 - runtime - - - wsdl4j - wsdl4j - 1.4 - runtime - - - xalan - xalan - 2.5.1 - compile - - - xerces - xercesImpl - 2.4.0 - compile - - - xerces - xmlParserAPIs - 2.6.0 - compile - - - xmlrpc - xmlrpc - 1.1 - runtime - - - + + - - - MOA-download-open - MOA Download Open Repository - - default - file://${thirdPartyLib}/openLib - - - MOA-download-closed - MOA Download Closed Repository - - default - file://${thirdPartyLib}/closedLib - - + + axis + axis + 1.4 + + + + jaxen + jaxen + 1.0-FCS + + + saxpath + saxpath + 1.0-FCS + compile + + + + log4j + log4j + 1.2.7 + runtime + + + postgresql + postgresql + 7.2 + runtime + + + + javax.mail + mail + 1.4 + + + commons-fileupload + commons-fileupload + 1.1.1 + + + dav4j + dav4j + 0.1 + compile + + + httpsclient + httpsclient + JSSE-1.0 + compile + + + regexp + regexp + 1.3 + + + + + MOA + moa-common + 1.4.0 + compile + + + MOA + moa-common-test + 1.4.0 + test + + + junit + junit + 3.8.1 + test + + + commons-logging + commons-logging + 1.0.4 + compile + + + javax.servlet + servlet-api + 2.4 + compile + + + javax.activation + activation + 1.1 + compile + + + commons-discovery + commons-discovery + 0.2 + compile + + + + + iaik.prod + iaik_jce_full + 3.142_MOA + compile + + + iaik.prod + iaik_moa + 1.20 + compile + + + iaik.prod + iaik_cms + 3.2 + compile + + + iaik.prod + iaik_ecc + 2.15 + provided + + + iaik.prod + iaik_ixsil + IXSIL-1.2.2.3 + compile + + + iaik.prod + iaik_X509TrustManager + 0.2 + compile + + + iaik.prod + iaik_Pkcs11Provider + 1.2.4 + runtime + + + iaik.prod + iaik_Pkcs11Wrapper + 1.2.16 + compile + + + iaik.prod + iaik_Pkcs11Wrapper + 1.2.16 + win32 + dll + runtime + + + + xalan + xalan + 2.5.1 + compile + + + xerces + xercesImpl + 2.4.0 + compile + + + xerces + xmlParserAPIs + 2.6.0 + compile + + + + + + + IAIK-MOA + IAIK MOA Libraries + + default + file://${repositoryPath} + + diff --git a/repository/dav4j/dav4j/0.1/dav4j-0.1.jar b/repository/dav4j/dav4j/0.1/dav4j-0.1.jar new file mode 100644 index 000000000..9a5a7bf81 Binary files /dev/null and b/repository/dav4j/dav4j/0.1/dav4j-0.1.jar differ diff --git a/repository/dav4j/dav4j/0.1/dav4j-0.1.pom b/repository/dav4j/dav4j/0.1/dav4j-0.1.pom new file mode 100644 index 000000000..05ebd2471 --- /dev/null +++ b/repository/dav4j/dav4j/0.1/dav4j-0.1.pom @@ -0,0 +1,7 @@ + + 4.0.0 + dav4j + dav4j + 0.1 + POM was created from install:install-file + \ No newline at end of file diff --git a/repository/dav4j/dav4j/maven-metadata-local.xml b/repository/dav4j/dav4j/maven-metadata-local.xml new file mode 100644 index 000000000..777457a09 --- /dev/null +++ b/repository/dav4j/dav4j/maven-metadata-local.xml @@ -0,0 +1,11 @@ + + dav4j + dav4j + 0.1 + + + 0.1 + + 20070814132458 + + \ No newline at end of file diff --git a/repository/httpsclient/httpsclient/JSSE-1.0/httpsclient-JSSE-1.0.jar b/repository/httpsclient/httpsclient/JSSE-1.0/httpsclient-JSSE-1.0.jar new file mode 100644 index 000000000..a9272deb1 Binary files /dev/null and b/repository/httpsclient/httpsclient/JSSE-1.0/httpsclient-JSSE-1.0.jar differ diff --git a/repository/httpsclient/httpsclient/JSSE-1.0/httpsclient-JSSE-1.0.pom b/repository/httpsclient/httpsclient/JSSE-1.0/httpsclient-JSSE-1.0.pom new file mode 100644 index 000000000..06e1fe40e --- /dev/null +++ b/repository/httpsclient/httpsclient/JSSE-1.0/httpsclient-JSSE-1.0.pom @@ -0,0 +1,7 @@ + + 4.0.0 + httpsclient + httpsclient + JSSE-1.0 + POM was created from install:install-file + \ No newline at end of file diff --git a/repository/httpsclient/httpsclient/maven-metadata-local.xml b/repository/httpsclient/httpsclient/maven-metadata-local.xml new file mode 100644 index 000000000..f64c2577e --- /dev/null +++ b/repository/httpsclient/httpsclient/maven-metadata-local.xml @@ -0,0 +1,11 @@ + + httpsclient + httpsclient + JSSE-1.0 + + + JSSE-1.0 + + 20070814132409 + + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.jar b/repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.jar new file mode 100644 index 000000000..a348db04e Binary files /dev/null and b/repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.jar differ diff --git a/repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.jar.md5 b/repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.jar.md5 new file mode 100644 index 000000000..755cc47fb --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.jar.md5 @@ -0,0 +1 @@ +693dcf03f52dbadaa707fb1f5dd0085a \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.jar.sha1 b/repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.jar.sha1 new file mode 100644 index 000000000..6e133b3f8 --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.jar.sha1 @@ -0,0 +1 @@ +a58003f524217da40c7a85982636cb937d3b93bb \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.pom b/repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.pom new file mode 100644 index 000000000..4325fd109 --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.pom @@ -0,0 +1,7 @@ + + 4.0.0 + iaik.prod + iaik_Pkcs11Provider + 1.2.4 + POM was created from install:install-file + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.pom.md5 b/repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.pom.md5 new file mode 100644 index 000000000..6d6d1f79c --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.pom.md5 @@ -0,0 +1 @@ +6f94c976c6da78186b711fd9c4befdb9 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.pom.sha1 b/repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.pom.sha1 new file mode 100644 index 000000000..15135d6c2 --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Provider/1.2.4/iaik_Pkcs11Provider-1.2.4.pom.sha1 @@ -0,0 +1 @@ +c59283c32ddee2a546e7d2045dbf52bb88bd7347 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata-central.xml b/repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata-central.xml new file mode 100644 index 000000000..7a76487ab --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata-central.xml @@ -0,0 +1,13 @@ + + iaik.prod + iaik_Pkcs11Provider + 1.2.4 + + 1.2.4 + 1.2.4 + + 1.2.4 + + 20070814085134 + + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata-central.xml.md5 b/repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata-central.xml.md5 new file mode 100644 index 000000000..47cb1967e --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata-central.xml.md5 @@ -0,0 +1 @@ +0a8cf5b3db2e06b822ab0a396784f102 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata-central.xml.sha1 b/repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata-central.xml.sha1 new file mode 100644 index 000000000..f83857744 --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata-central.xml.sha1 @@ -0,0 +1 @@ +4d66c586f60c6ffc9a330b5ce1f0644d7399966a \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata.xml b/repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata.xml new file mode 100644 index 000000000..7a76487ab --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata.xml @@ -0,0 +1,13 @@ + + iaik.prod + iaik_Pkcs11Provider + 1.2.4 + + 1.2.4 + 1.2.4 + + 1.2.4 + + 20070814085134 + + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata.xml.md5 b/repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata.xml.md5 new file mode 100644 index 000000000..47cb1967e --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata.xml.md5 @@ -0,0 +1 @@ +0a8cf5b3db2e06b822ab0a396784f102 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata.xml.sha1 b/repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata.xml.sha1 new file mode 100644 index 000000000..f83857744 --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Provider/maven-metadata.xml.sha1 @@ -0,0 +1 @@ +4d66c586f60c6ffc9a330b5ce1f0644d7399966a \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16-win32.dll b/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16-win32.dll new file mode 100644 index 000000000..3789b8d7a Binary files /dev/null and b/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16-win32.dll differ diff --git a/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16-win32.dll.md5 b/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16-win32.dll.md5 new file mode 100644 index 000000000..50e00efc6 --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16-win32.dll.md5 @@ -0,0 +1 @@ +39a366ffd368a1c9eaf05b544a06f875 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16-win32.dll.sha1 b/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16-win32.dll.sha1 new file mode 100644 index 000000000..d4f721d4b --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16-win32.dll.sha1 @@ -0,0 +1 @@ +17388b3df0e5c397dec18a438674b14901342fa3 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.jar b/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.jar new file mode 100644 index 000000000..43342ef7c Binary files /dev/null and b/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.jar differ diff --git a/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.jar.md5 b/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.jar.md5 new file mode 100644 index 000000000..39f690ed6 --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.jar.md5 @@ -0,0 +1 @@ +638cc3d2ee90445c6683e55561295df5 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.jar.sha1 b/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.jar.sha1 new file mode 100644 index 000000000..12787ee27 --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.jar.sha1 @@ -0,0 +1 @@ +a5ef19ea43be5e16f85240b842f16a7f202e0049 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.pom b/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.pom new file mode 100644 index 000000000..c35dc3ff4 --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.pom @@ -0,0 +1,8 @@ + + 4.0.0 + iaik.prod + iaik_Pkcs11Wrapper + dll + 1.2.16 + POM was created from install:install-file + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.pom.md5 b/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.pom.md5 new file mode 100644 index 000000000..a0aecbbdd --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.pom.md5 @@ -0,0 +1 @@ +cfc860671159b339ec43c9582a9f50e4 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.pom.sha1 b/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.pom.sha1 new file mode 100644 index 000000000..a588353d1 --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Wrapper/1.2.16/iaik_Pkcs11Wrapper-1.2.16.pom.sha1 @@ -0,0 +1 @@ +3eafa5eae317b8f7160560e7b089285fc95fe636 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata-central.xml b/repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata-central.xml new file mode 100644 index 000000000..1a1b65b5f --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata-central.xml @@ -0,0 +1,13 @@ + + iaik.prod + iaik_Pkcs11Wrapper + 1.2.16 + + 1.2.16 + 1.2.16 + + 1.2.16 + + 20070814085134 + + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata-central.xml.md5 b/repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata-central.xml.md5 new file mode 100644 index 000000000..a1f79b0ce --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata-central.xml.md5 @@ -0,0 +1 @@ +c38b8b9714dd794e9d4fe257b44f51fe \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata-central.xml.sha1 b/repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata-central.xml.sha1 new file mode 100644 index 000000000..d8736b3a3 --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata-central.xml.sha1 @@ -0,0 +1 @@ +6142fc6556cf0b3b8cc4a850acf070df950242e7 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata.xml b/repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata.xml new file mode 100644 index 000000000..1a1b65b5f --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata.xml @@ -0,0 +1,13 @@ + + iaik.prod + iaik_Pkcs11Wrapper + 1.2.16 + + 1.2.16 + 1.2.16 + + 1.2.16 + + 20070814085134 + + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata.xml.md5 b/repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata.xml.md5 new file mode 100644 index 000000000..a1f79b0ce --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata.xml.md5 @@ -0,0 +1 @@ +c38b8b9714dd794e9d4fe257b44f51fe \ No newline at end of file diff --git a/repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata.xml.sha1 b/repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata.xml.sha1 new file mode 100644 index 000000000..d8736b3a3 --- /dev/null +++ b/repository/iaik/prod/iaik_Pkcs11Wrapper/maven-metadata.xml.sha1 @@ -0,0 +1 @@ +6142fc6556cf0b3b8cc4a850acf070df950242e7 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.jar b/repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.jar new file mode 100644 index 000000000..0c2d98400 Binary files /dev/null and b/repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.jar differ diff --git a/repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.jar.md5 b/repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.jar.md5 new file mode 100644 index 000000000..03de5944e --- /dev/null +++ b/repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.jar.md5 @@ -0,0 +1 @@ +2def897df8ea889bd1160cd311b61a42 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.jar.sha1 b/repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.jar.sha1 new file mode 100644 index 000000000..80aa2ea09 --- /dev/null +++ b/repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.jar.sha1 @@ -0,0 +1 @@ +39bfb3145140f6b53f3a15f9236b3c507049d2f5 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.pom b/repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.pom new file mode 100644 index 000000000..f4c3c25cd --- /dev/null +++ b/repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.pom @@ -0,0 +1,7 @@ + + 4.0.0 + iaik.prod + iaik_X509TrustManager + 0.2 + POM was created from install:install-file + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.pom.md5 b/repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.pom.md5 new file mode 100644 index 000000000..4ad6445ba --- /dev/null +++ b/repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.pom.md5 @@ -0,0 +1 @@ +aaaaff7a5d6a29d0a4256527a8616ef4 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.pom.sha1 b/repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.pom.sha1 new file mode 100644 index 000000000..a51e29ffa --- /dev/null +++ b/repository/iaik/prod/iaik_X509TrustManager/0.2/iaik_X509TrustManager-0.2.pom.sha1 @@ -0,0 +1 @@ +4252e14194fb7fc66b91331015cebc9a9e1b2e9b \ No newline at end of file diff --git a/repository/iaik/prod/iaik_X509TrustManager/maven-metadata-central.xml b/repository/iaik/prod/iaik_X509TrustManager/maven-metadata-central.xml new file mode 100644 index 000000000..78628aba4 --- /dev/null +++ b/repository/iaik/prod/iaik_X509TrustManager/maven-metadata-central.xml @@ -0,0 +1,13 @@ + + iaik.prod + iaik_X509TrustManager + 0.2 + + 0.2 + 0.2 + + 0.2 + + 20070814085134 + + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_X509TrustManager/maven-metadata-central.xml.md5 b/repository/iaik/prod/iaik_X509TrustManager/maven-metadata-central.xml.md5 new file mode 100644 index 000000000..d68881b50 --- /dev/null +++ b/repository/iaik/prod/iaik_X509TrustManager/maven-metadata-central.xml.md5 @@ -0,0 +1 @@ +9b68f57f4da5b1b5f917519aec1255d9 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_X509TrustManager/maven-metadata-central.xml.sha1 b/repository/iaik/prod/iaik_X509TrustManager/maven-metadata-central.xml.sha1 new file mode 100644 index 000000000..99d2c7f38 --- /dev/null +++ b/repository/iaik/prod/iaik_X509TrustManager/maven-metadata-central.xml.sha1 @@ -0,0 +1 @@ +36334d140a18f20c03073a6b090a240296ec6dbd \ No newline at end of file diff --git a/repository/iaik/prod/iaik_X509TrustManager/maven-metadata.xml b/repository/iaik/prod/iaik_X509TrustManager/maven-metadata.xml new file mode 100644 index 000000000..78628aba4 --- /dev/null +++ b/repository/iaik/prod/iaik_X509TrustManager/maven-metadata.xml @@ -0,0 +1,13 @@ + + iaik.prod + iaik_X509TrustManager + 0.2 + + 0.2 + 0.2 + + 0.2 + + 20070814085134 + + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_X509TrustManager/maven-metadata.xml.md5 b/repository/iaik/prod/iaik_X509TrustManager/maven-metadata.xml.md5 new file mode 100644 index 000000000..d68881b50 --- /dev/null +++ b/repository/iaik/prod/iaik_X509TrustManager/maven-metadata.xml.md5 @@ -0,0 +1 @@ +9b68f57f4da5b1b5f917519aec1255d9 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_X509TrustManager/maven-metadata.xml.sha1 b/repository/iaik/prod/iaik_X509TrustManager/maven-metadata.xml.sha1 new file mode 100644 index 000000000..99d2c7f38 --- /dev/null +++ b/repository/iaik/prod/iaik_X509TrustManager/maven-metadata.xml.sha1 @@ -0,0 +1 @@ +36334d140a18f20c03073a6b090a240296ec6dbd \ No newline at end of file diff --git a/repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.jar b/repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.jar new file mode 100644 index 000000000..7264a68f3 Binary files /dev/null and b/repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.jar differ diff --git a/repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.jar.md5 b/repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.jar.md5 new file mode 100644 index 000000000..135ca88b4 --- /dev/null +++ b/repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.jar.md5 @@ -0,0 +1 @@ +df156c243844deb2ecb9bb0fcac3e9d2 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.jar.sha1 b/repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.jar.sha1 new file mode 100644 index 000000000..0b2893963 --- /dev/null +++ b/repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.jar.sha1 @@ -0,0 +1 @@ +d8124f1cd0dad11a0700d832fcd1479ca7d85216 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.pom b/repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.pom new file mode 100644 index 000000000..50ac46bd6 --- /dev/null +++ b/repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.pom @@ -0,0 +1,7 @@ + + 4.0.0 + iaik.prod + iaik_cms + 3.2 + POM was created from install:install-file + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.pom.md5 b/repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.pom.md5 new file mode 100644 index 000000000..60d003cc6 --- /dev/null +++ b/repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.pom.md5 @@ -0,0 +1 @@ +7c2aabea82fe69f10b43a49d8cfd9078 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.pom.sha1 b/repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.pom.sha1 new file mode 100644 index 000000000..3d66164a0 --- /dev/null +++ b/repository/iaik/prod/iaik_cms/3.2/iaik_cms-3.2.pom.sha1 @@ -0,0 +1 @@ +24165b6ca4328e1e542aa4a492c7a2a2d3609c38 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_cms/maven-metadata-central.xml b/repository/iaik/prod/iaik_cms/maven-metadata-central.xml new file mode 100644 index 000000000..60bd594f9 --- /dev/null +++ b/repository/iaik/prod/iaik_cms/maven-metadata-central.xml @@ -0,0 +1,13 @@ + + iaik.prod + iaik_cms + 3.2 + + 3.2 + 3.2 + + 3.2 + + 20070814085134 + + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_cms/maven-metadata-central.xml.md5 b/repository/iaik/prod/iaik_cms/maven-metadata-central.xml.md5 new file mode 100644 index 000000000..fa588f4b1 --- /dev/null +++ b/repository/iaik/prod/iaik_cms/maven-metadata-central.xml.md5 @@ -0,0 +1 @@ +4f7c312cd075be35ef0eb948a2226c59 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_cms/maven-metadata-central.xml.sha1 b/repository/iaik/prod/iaik_cms/maven-metadata-central.xml.sha1 new file mode 100644 index 000000000..501cc0951 --- /dev/null +++ b/repository/iaik/prod/iaik_cms/maven-metadata-central.xml.sha1 @@ -0,0 +1 @@ +2b8b98390bf81926e1933aab3b183e397c568f17 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_cms/maven-metadata.xml b/repository/iaik/prod/iaik_cms/maven-metadata.xml new file mode 100644 index 000000000..60bd594f9 --- /dev/null +++ b/repository/iaik/prod/iaik_cms/maven-metadata.xml @@ -0,0 +1,13 @@ + + iaik.prod + iaik_cms + 3.2 + + 3.2 + 3.2 + + 3.2 + + 20070814085134 + + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_cms/maven-metadata.xml.md5 b/repository/iaik/prod/iaik_cms/maven-metadata.xml.md5 new file mode 100644 index 000000000..fa588f4b1 --- /dev/null +++ b/repository/iaik/prod/iaik_cms/maven-metadata.xml.md5 @@ -0,0 +1 @@ +4f7c312cd075be35ef0eb948a2226c59 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_cms/maven-metadata.xml.sha1 b/repository/iaik/prod/iaik_cms/maven-metadata.xml.sha1 new file mode 100644 index 000000000..501cc0951 --- /dev/null +++ b/repository/iaik/prod/iaik_cms/maven-metadata.xml.sha1 @@ -0,0 +1 @@ +2b8b98390bf81926e1933aab3b183e397c568f17 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_ecc/2.15/iaik_ecc-2.15.jar b/repository/iaik/prod/iaik_ecc/2.15/iaik_ecc-2.15.jar new file mode 100644 index 000000000..b8a4f190b Binary files /dev/null and b/repository/iaik/prod/iaik_ecc/2.15/iaik_ecc-2.15.jar differ diff --git a/repository/iaik/prod/iaik_ecc/2.15/iaik_ecc-2.15.pom b/repository/iaik/prod/iaik_ecc/2.15/iaik_ecc-2.15.pom new file mode 100644 index 000000000..5e56c24d3 --- /dev/null +++ b/repository/iaik/prod/iaik_ecc/2.15/iaik_ecc-2.15.pom @@ -0,0 +1,7 @@ + + 4.0.0 + iaik.prod + iaik_ecc + 2.15 + POM was created from install:install-file + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_ecc/maven-metadata-local.xml b/repository/iaik/prod/iaik_ecc/maven-metadata-local.xml new file mode 100644 index 000000000..c9198d1e8 --- /dev/null +++ b/repository/iaik/prod/iaik_ecc/maven-metadata-local.xml @@ -0,0 +1,11 @@ + + iaik.prod + iaik_ecc + 2.15 + + + 2.15 + + 20070814120256 + + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.jar b/repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.jar new file mode 100644 index 000000000..03ae536db Binary files /dev/null and b/repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.jar differ diff --git a/repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.jar.md5 b/repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.jar.md5 new file mode 100644 index 000000000..0c18b2e00 --- /dev/null +++ b/repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.jar.md5 @@ -0,0 +1 @@ +0319a9ce27e5f302e4fa2bb46a157074 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.jar.sha1 b/repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.jar.sha1 new file mode 100644 index 000000000..b333172ef --- /dev/null +++ b/repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.jar.sha1 @@ -0,0 +1 @@ +e53c644a786eabdaf6b44e4817eb070e86c93cd0 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.pom b/repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.pom new file mode 100644 index 000000000..5030619e4 --- /dev/null +++ b/repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.pom @@ -0,0 +1,7 @@ + + 4.0.0 + iaik.prod + iaik_ixsil + IXSIL-1.2.2.3 + POM was created from install:install-file + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.pom.md5 b/repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.pom.md5 new file mode 100644 index 000000000..ba8d6657c --- /dev/null +++ b/repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.pom.md5 @@ -0,0 +1 @@ +ca88fbb4175d09f16753cd4f7108f299 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.pom.sha1 b/repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.pom.sha1 new file mode 100644 index 000000000..61535f863 --- /dev/null +++ b/repository/iaik/prod/iaik_ixsil/IXSIL-1.2.2.3/iaik_ixsil-IXSIL-1.2.2.3.pom.sha1 @@ -0,0 +1 @@ +12953fc15744c95360640cc07e443138cfb69966 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_ixsil/maven-metadata-central.xml b/repository/iaik/prod/iaik_ixsil/maven-metadata-central.xml new file mode 100644 index 000000000..c8d9720de --- /dev/null +++ b/repository/iaik/prod/iaik_ixsil/maven-metadata-central.xml @@ -0,0 +1,13 @@ + + iaik.prod + iaik_ixsil + IXSIL-1.2.2.3 + + IXSIL-1.2.2.3 + IXSIL-1.2.2.3 + + IXSIL-1.2.2.3 + + 20070814085134 + + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_ixsil/maven-metadata-central.xml.md5 b/repository/iaik/prod/iaik_ixsil/maven-metadata-central.xml.md5 new file mode 100644 index 000000000..95c0475cb --- /dev/null +++ b/repository/iaik/prod/iaik_ixsil/maven-metadata-central.xml.md5 @@ -0,0 +1 @@ +2cf7ede94ea6dfeec24b8f5f628eb1c2 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_ixsil/maven-metadata-central.xml.sha1 b/repository/iaik/prod/iaik_ixsil/maven-metadata-central.xml.sha1 new file mode 100644 index 000000000..5be514283 --- /dev/null +++ b/repository/iaik/prod/iaik_ixsil/maven-metadata-central.xml.sha1 @@ -0,0 +1 @@ +1f832641c5999cb9793aabaea88ad45d128285be \ No newline at end of file diff --git a/repository/iaik/prod/iaik_ixsil/maven-metadata.xml b/repository/iaik/prod/iaik_ixsil/maven-metadata.xml new file mode 100644 index 000000000..c8d9720de --- /dev/null +++ b/repository/iaik/prod/iaik_ixsil/maven-metadata.xml @@ -0,0 +1,13 @@ + + iaik.prod + iaik_ixsil + IXSIL-1.2.2.3 + + IXSIL-1.2.2.3 + IXSIL-1.2.2.3 + + IXSIL-1.2.2.3 + + 20070814085134 + + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_ixsil/maven-metadata.xml.md5 b/repository/iaik/prod/iaik_ixsil/maven-metadata.xml.md5 new file mode 100644 index 000000000..95c0475cb --- /dev/null +++ b/repository/iaik/prod/iaik_ixsil/maven-metadata.xml.md5 @@ -0,0 +1 @@ +2cf7ede94ea6dfeec24b8f5f628eb1c2 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_ixsil/maven-metadata.xml.sha1 b/repository/iaik/prod/iaik_ixsil/maven-metadata.xml.sha1 new file mode 100644 index 000000000..5be514283 --- /dev/null +++ b/repository/iaik/prod/iaik_ixsil/maven-metadata.xml.sha1 @@ -0,0 +1 @@ +1f832641c5999cb9793aabaea88ad45d128285be \ No newline at end of file diff --git a/repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.jar b/repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.jar new file mode 100644 index 000000000..7288bc39d Binary files /dev/null and b/repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.jar differ diff --git a/repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.jar.md5 b/repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.jar.md5 new file mode 100644 index 000000000..990b796e4 --- /dev/null +++ b/repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.jar.md5 @@ -0,0 +1 @@ +c78f934b46ed4fcdc57807496d756d60 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.jar.sha1 b/repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.jar.sha1 new file mode 100644 index 000000000..a29e73055 --- /dev/null +++ b/repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.jar.sha1 @@ -0,0 +1 @@ +79fd66f6969bbcd5ea7c96163bb86b1790ccfde1 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.pom b/repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.pom new file mode 100644 index 000000000..cd5e49bc3 --- /dev/null +++ b/repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.pom @@ -0,0 +1,7 @@ + + 4.0.0 + iaik.prod + iaik_jce_full + 3.142_MOA + POM was created from install:install-file + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.pom.md5 b/repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.pom.md5 new file mode 100644 index 000000000..ad09e7e62 --- /dev/null +++ b/repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.pom.md5 @@ -0,0 +1 @@ +129227c823c9c03e6620f4bdc30991f9 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.pom.sha1 b/repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.pom.sha1 new file mode 100644 index 000000000..496dbe4d6 --- /dev/null +++ b/repository/iaik/prod/iaik_jce_full/3.142_MOA/iaik_jce_full-3.142_MOA.pom.sha1 @@ -0,0 +1 @@ +38e98211d8f9c64c6768c9be9d37652dee2cf3c4 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_jce_full/maven-metadata-central.xml b/repository/iaik/prod/iaik_jce_full/maven-metadata-central.xml new file mode 100644 index 000000000..809243838 --- /dev/null +++ b/repository/iaik/prod/iaik_jce_full/maven-metadata-central.xml @@ -0,0 +1,13 @@ + + iaik.prod + iaik_jce_full + 3.142_MOA + + 3.142_MOA + 3.142_MOA + + 3.142_MOA + + 20070814085134 + + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_jce_full/maven-metadata-central.xml.md5 b/repository/iaik/prod/iaik_jce_full/maven-metadata-central.xml.md5 new file mode 100644 index 000000000..6b82bce5a --- /dev/null +++ b/repository/iaik/prod/iaik_jce_full/maven-metadata-central.xml.md5 @@ -0,0 +1 @@ +be9deda114cc93cf8a834062811cf11f \ No newline at end of file diff --git a/repository/iaik/prod/iaik_jce_full/maven-metadata-central.xml.sha1 b/repository/iaik/prod/iaik_jce_full/maven-metadata-central.xml.sha1 new file mode 100644 index 000000000..6ff869214 --- /dev/null +++ b/repository/iaik/prod/iaik_jce_full/maven-metadata-central.xml.sha1 @@ -0,0 +1 @@ +243eff519b9cb4460f68c1ad4f29118a22c56aad \ No newline at end of file diff --git a/repository/iaik/prod/iaik_jce_full/maven-metadata.xml b/repository/iaik/prod/iaik_jce_full/maven-metadata.xml new file mode 100644 index 000000000..809243838 --- /dev/null +++ b/repository/iaik/prod/iaik_jce_full/maven-metadata.xml @@ -0,0 +1,13 @@ + + iaik.prod + iaik_jce_full + 3.142_MOA + + 3.142_MOA + 3.142_MOA + + 3.142_MOA + + 20070814085134 + + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_jce_full/maven-metadata.xml.md5 b/repository/iaik/prod/iaik_jce_full/maven-metadata.xml.md5 new file mode 100644 index 000000000..6b82bce5a --- /dev/null +++ b/repository/iaik/prod/iaik_jce_full/maven-metadata.xml.md5 @@ -0,0 +1 @@ +be9deda114cc93cf8a834062811cf11f \ No newline at end of file diff --git a/repository/iaik/prod/iaik_jce_full/maven-metadata.xml.sha1 b/repository/iaik/prod/iaik_jce_full/maven-metadata.xml.sha1 new file mode 100644 index 000000000..6ff869214 --- /dev/null +++ b/repository/iaik/prod/iaik_jce_full/maven-metadata.xml.sha1 @@ -0,0 +1 @@ +243eff519b9cb4460f68c1ad4f29118a22c56aad \ No newline at end of file diff --git a/repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.jar b/repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.jar new file mode 100644 index 000000000..35ffc2d06 Binary files /dev/null and b/repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.jar differ diff --git a/repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.jar.md5 b/repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.jar.md5 new file mode 100644 index 000000000..b9a770d4d --- /dev/null +++ b/repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.jar.md5 @@ -0,0 +1 @@ +dd2fdee0d669d8dcdeea44deb12c6ee0 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.jar.sha1 b/repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.jar.sha1 new file mode 100644 index 000000000..6f50f44a8 --- /dev/null +++ b/repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.jar.sha1 @@ -0,0 +1 @@ +b5c33e3338f17cdd76145bf5b17b73d266f08a3c \ No newline at end of file diff --git a/repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.pom b/repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.pom new file mode 100644 index 000000000..0126105c7 --- /dev/null +++ b/repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.pom @@ -0,0 +1,7 @@ + + 4.0.0 + iaik.prod + iaik_moa + 1.20 + POM was created from install:install-file + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.pom.md5 b/repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.pom.md5 new file mode 100644 index 000000000..dad6fa5e4 --- /dev/null +++ b/repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.pom.md5 @@ -0,0 +1 @@ +db8686970a65ac648a6635661e595e43 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.pom.sha1 b/repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.pom.sha1 new file mode 100644 index 000000000..d1450b924 --- /dev/null +++ b/repository/iaik/prod/iaik_moa/1.20/iaik_moa-1.20.pom.sha1 @@ -0,0 +1 @@ +7aa8aade99c6ebd395f714cb7d13a8d6de8a366f \ No newline at end of file diff --git a/repository/iaik/prod/iaik_moa/maven-metadata-central.xml b/repository/iaik/prod/iaik_moa/maven-metadata-central.xml new file mode 100644 index 000000000..a1683d4b0 --- /dev/null +++ b/repository/iaik/prod/iaik_moa/maven-metadata-central.xml @@ -0,0 +1,13 @@ + + iaik.prod + iaik_moa + 1.20 + + 1.20 + 1.20 + + 1.20 + + 20070814085134 + + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_moa/maven-metadata-central.xml.md5 b/repository/iaik/prod/iaik_moa/maven-metadata-central.xml.md5 new file mode 100644 index 000000000..07e55cde3 --- /dev/null +++ b/repository/iaik/prod/iaik_moa/maven-metadata-central.xml.md5 @@ -0,0 +1 @@ +0c076e1e4014632478fb86a19831bb71 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_moa/maven-metadata-central.xml.sha1 b/repository/iaik/prod/iaik_moa/maven-metadata-central.xml.sha1 new file mode 100644 index 000000000..11a7aa442 --- /dev/null +++ b/repository/iaik/prod/iaik_moa/maven-metadata-central.xml.sha1 @@ -0,0 +1 @@ +5c4e79e6e84c6b376269ef07ba149552d865feea \ No newline at end of file diff --git a/repository/iaik/prod/iaik_moa/maven-metadata.xml b/repository/iaik/prod/iaik_moa/maven-metadata.xml new file mode 100644 index 000000000..a1683d4b0 --- /dev/null +++ b/repository/iaik/prod/iaik_moa/maven-metadata.xml @@ -0,0 +1,13 @@ + + iaik.prod + iaik_moa + 1.20 + + 1.20 + 1.20 + + 1.20 + + 20070814085134 + + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_moa/maven-metadata.xml.md5 b/repository/iaik/prod/iaik_moa/maven-metadata.xml.md5 new file mode 100644 index 000000000..07e55cde3 --- /dev/null +++ b/repository/iaik/prod/iaik_moa/maven-metadata.xml.md5 @@ -0,0 +1 @@ +0c076e1e4014632478fb86a19831bb71 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_moa/maven-metadata.xml.sha1 b/repository/iaik/prod/iaik_moa/maven-metadata.xml.sha1 new file mode 100644 index 000000000..11a7aa442 --- /dev/null +++ b/repository/iaik/prod/iaik_moa/maven-metadata.xml.sha1 @@ -0,0 +1 @@ +5c4e79e6e84c6b376269ef07ba149552d865feea \ No newline at end of file diff --git a/spss/assembly.xml b/spss/assembly.xml new file mode 100644 index 000000000..998a0d0e4 --- /dev/null +++ b/spss/assembly.xml @@ -0,0 +1,207 @@ + + SPSS + + + zip + + + false + + + + + MOA.spss.server:moa-spss-ws + + + true + + + + xalan:xalan + xerces:xercesImpl + xerces:xmlParserAPIs + + /endorsed + + + + iaik.prod:iaik_ecc + iaik.prod:iaik_jce_full + iaik.prod:iaik_Pkcs11Provider + iaik.prod:iaik_Pkcs11Wrapper + + /ext + + + + iaik.prod:iaik_Pkcs11Wrapper + + /pkcs11/win32 + pkcs11wrapper.dll + + + moa-spss.${extension} + false + + + + + MOA.spss.server:moa-spss-lib + + + javadoc + false + api-doc + /doc + true + + + + + MOA.spss.server:moa-spss-tools + + + true + + + + iaik.prod:iaik_moa + log4j:log4j + xalan:xalan + + /tools + + + /tools + tools.${extension} + false + + + + + + + ${basedir}/spss/handbook/handbook.html + /doc + + + + + + ${basedir}/spss/server + / + + *.txt + + + readme.src.txt + + + + ${basedir}/spss/handbook/conf + /conf + + + ${basedir}/spss/handbook/handbook + /doc/handbook + + + ${basedir}/spss/handbook/clients + /doc/clients + + + ${basedir}/spss/server/serverlib/resources/licenses + /licenses + + + ${basedir}/spss/server/serverws/data/deploy/tomcat + /tomcat + + + ${basedir}/spss/server/serverws/data/deploy/tools + /tools + + + + \ No newline at end of file diff --git a/spss/pom.xml b/spss/pom.xml index 93a5b4374..c533b8153 100644 --- a/spss/pom.xml +++ b/spss/pom.xml @@ -1,222 +1,24 @@ - - - MOA - MOA - 1.4.0 - - - 4.0.0 - MOA - spss - pom - 1.4.0 - MOA spss - - - ${basedir}/../buildhelper - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - false - true - ${env.BUILD_EXECUTEABLE} - ${env.BUILD_VERSION} - 1.3 - 1.3 - - - - - - - server - - - - - - axis - axis - 1.4 - compile - - - commons-logging - commons-logging - 1.0.4 - compile - - - iDoclet - iDoclet - 1.0 - provided - - - jaxen - jaxen - 1.0-FCS - provided - - - jaxen - jaxen-core - 1.0 - compile - - - jaxen - jaxen-dom - 1.0 - compile - - - javax.xml - jaxrpc-api - 1.1 - compile - - - javaext - jaxrpc - 0.1 - compile - - - org.w3c.dom - dom - LEVEL_3 - compile - - - sax - sax - JDK_13 - compile - - - saxpath - saxpath - 1.0-FCS - compile - - - wsdl4j - wsdl4j - 1.4 - compile - - - junit - junit - 3.8.1 - test - - - log4j - log4j - 1.2.7 - runtime - - - postgresql - postgresql - 7.3-jdbc2 - runtime - - - javax.servlet - servlet-api - 2.3 - provided - - - xalan - xalan - 2.5.1 - compile - - - xerces - xercesImpl - 2.4.0 - compile - - - xerces - xmlParserAPIs - 2.0.0 - compile - - - iaik.prod - iaik_cms - 3.2 - runtime - - - iaik.prod - iaik_jce_full - 3.142_MOA - provided - - - iaik.prod - iaik_Pkcs11Provider - 1.2.4 - provided - - - iaik.prod - iaik_Pkcs11Wrapper - 1.2.16 - compile - - - iaik.prod - iaik_ecc_signed - 2.15 - runtime - - - iaik.prod - iaik_jce_full_signed - 3.142_MOA - runtime - - - iaik.prod - iaik_Pkcs11Provider_signed - 1.2.4 - runtime - - - - iaik.win32 - Pkcs11Wrapper - dll - 1.0 - compile - - - MOA - common - 1.4.0 - compile - - - MOA - common-test - 1.4.0 - test - - - - - + + + MOA + MOA + 1.4.0 + + + 4.0.0 + MOA + spss + pom + 1.4.0 + MOA SP/SS + + + ${basedir}/../repository + + + + server + + + diff --git a/spss/server/distribution/assembly.xml b/spss/server/distribution/assembly.xml deleted file mode 100644 index b646f58b2..000000000 --- a/spss/server/distribution/assembly.xml +++ /dev/null @@ -1,92 +0,0 @@ - - all - - - zip - - - - - ${basedir}/../../handbook/handbook.html - /doc - - - - - - ${basedir}/../../handbook/conf - /conf - - - ${basedir}/../../handbook/handbook - /doc/handbook - - - ${basedir}/../../handbook/clients - /doc/clients - - - ${basedir}/../serverlib/resources/licenses - /licenses - - - ${basedir}/../serverws/data/deploy/tomcat - /tomcat - - - ${basedir}/../serverws/target - / - - - ${basedir}/../serverws/data/deploy/tools - /tools - - - - - - - xalan:xalan - xerces:xercesImpl - xerces:xmlParserAPIs - - /endorsed14 - - - - iaik.prod:iaik_ecc - iaik.prod:iaik_jce_full - iaik.prod:iaik_Pkcs11Provider - jsse:jcert - jsse:jnet - jsse:jsse - - /ext13 - - - - iaik.prod:iaik_ecc_signed - iaik.prod:iaik_jce_full_signed - iaik.prod:iaik_Pkcs11Provider_signed - - /ext14 - - - - iaik.win32:Pkcs11Wrapper - - /pkcs11/win32 - - - - iaik.prod:iaik_ecc - iaik.prod:iaik_jce_full - iaik.prod:iaik_moa_full - log4j:log4j - xalan:xalan - - /tools - - - - \ No newline at end of file diff --git a/spss/server/distribution/pom.xml b/spss/server/distribution/pom.xml deleted file mode 100644 index bf31f7128..000000000 --- a/spss/server/distribution/pom.xml +++ /dev/null @@ -1,111 +0,0 @@ - - - MOA.spss - server - 1.4.0 - - - 4.0.0 - MOA.spss - server.distribution - pom - 1.4.0 - SPSS-Server-Distribution - - - ${basedir}/../../../buildhelper - - - - - - maven-assembly-plugin - - - ./assembly.xml - - - - - make-dist-standalone - package - - attached - - - - - - - - - - xalan - xalan - - - xerces - xercesImpl - - - xerces - xmlParserAPIs - - - - iaik.prod - iaik_ecc - runtime - - - iaik.prod - iaik_jce_full - runtime - - - iaik.prod - iaik_Pkcs11Provider - runtime - - - - iaik.prod - iaik_ecc - runtime - - - iaik.prod - iaik_jce_full - runtime - - - iaik.prod - iaik_Pkcs11Provider - runtime - - - iaik.win32 - Pkcs11Wrapper - dll - 1.0 - runtime - - - - jsse - jcert - runtime - - - jsse - jnet - runtime - - - jsse - jsse - runtime - - - \ No newline at end of file diff --git a/spss/server/history.txt b/spss/server/history.txt new file mode 100644 index 000000000..8bcef8aba --- /dev/null +++ b/spss/server/history.txt @@ -0,0 +1,268 @@ +############## +1.4.0 +############## + +- Unterstützung von SOAP with Attachments. LocRefContent kann nun auch über SOAP + attachments übergeben werden. Dadurch können alle notwendigen Teile für einen + Request platzsparend in einem Schritt übermittelt werden. + +- Axis Libraries aktualisiert (auf Version 1.4) + +- Ermöglichung von Signaturpositionen die sich am Ende des Dokuments befinden + (CreateSignatureLocation=-1). + +- IAIK Libraries aktualisiert: + Versionsnummern: + iaik-jce: Version 3.142_MOA + iaik-cms: Version 3.2 + iaikPkcs11Provider: Version 1.2.4 + iaikPkcs11Wrapper: Version 1.2.16 + ixsil: Version IXSIL-1.2.2.1 + ecc: Version v2.15 + iaik-moa: Version 1.20 + +- Neue Mindestanforderung an Java: Version 1.4.0 (1.3.* wird nicht mehr unterstützt) + +############## +1.3.1D01 +############## + +- IAIK-MOA: CRL wird nun auch akzeptiert, wenn im CLRSigner-Zertifikat KeyUsage + crlSign-Bit nicht gesetzt ist, allerdings nur wenn das Zertifikat + ein Trust-Anchor ist. +- IAIK-MOA: Eine indirekte CRL wird nun auch akzeptiert, wenn die + "IssuingDistributionPoint"-Extension fehlt + +- Logging: commons-logging-1.0.4-Libraries (unterstützt auch Tomcat 5*) + +############## +1.3.0 +############## + +- "E-CARD"-Release +- Update der Zertifikatsspeicher und Trustprofile +- Update PKI auf OCSP (auch schon in 1.3.0D01 enthalten) +- Update IAIK-Libraries (ab sofort wieder in der Distribution enthalten) + Versionsnummern: + iaik-jce: Version 3.13_3.13_NONEwithRSA (MOA-ID kann nun auch mit JDK1.5 + verwendet werden) + iaik-cms: Version 3.2 + iaikPkcs11Provider: Version 1.1.9 + iaikPkcs11Wrapper: Version 1.2.14 + ixsil: Version IXSIL-1_2_2 + ecc: Version 2.0 + +############## +1.3.0D01 +############## + +- Default-Wert für Archivierungsdauer von Widerrufsinformation von 0 auf 365 + Tage geändert. + Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=305. + +- Default-Reihenfolge der Verwendung von Widerrufspunkten von (CRL, OCSP) auf + (OCSP, CRL) geändert. + Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=304. + +- XML-Schema für die Konfiguration von MOA SP/SS komplett überarbeitet. + Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=271. + +- Änderungen der Semantik des Elements VerifyXMLSignatureRequest/ReturnHashInputData + bzw. des Attributs VerifyXMLSignatureRequest/SignatureManifestCheckParams/ + @ReturnReferenceInputData. Es werden nunmehr auch die Hash-Eingangsdaten bzw. + die Referenz-Eingangsdaten für dsig:Reference-Elemente in XMLDSIG-Manifesten + zurückgeliefert. + Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=232. + +- TCP-Verbindungen zur Auflösung von externen Referenzen wurden bisher nicht + sauber geschlossen. Damit kam es bei sehr komplexen XML-Signaturen unter + Umständen zu einem Ressourcen-Problem, da zu viele TCP-Verbindungen gleich- + zeitig geöffnet wurden. Dieses Probem wurde behoben. + Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=283. + +- Trustprofil um eine Menge explizit erlaubter Signatorzertifikate erweitert. + Dadurch ist es nun möglich, nicht nur generell allen von einer als Vertrauens- + anker gesetzten CA ausgestellten Zertifikate zu vertrauen, sondern diese Zerti- + fikate weiter auf eine taxativ aufgezählte Liste von Signatorzertifikaten ein- + zuschränken. + Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=267. + +- MOA SS Webservice Clients, die sich mit einem Zertifikat ausweisen, können nun + auch auf die Key-Groups des anonymen Key-Group-Mappings zugreifen. + Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=224. + +- MOA SS fit für Mehrfachsignaturen, d.h. mehrere XML-Signaturen in einem XML- + Dokument gemacht. Bisher scheiterte das an den fix vergebenen Id-Attributen + innerhalb der dsig:Signature-Struktur. + Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=214. + +- MOA SP so verändert, dass die Prüfungen zum Signaturmanifest laut SL 1.2 jeden- + falls durchgeführt werden, auch wenn das Element SignatureManifestCheckParams + in VerifyXMLSignatureRequest nicht angegeben wird. + Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=269. + +- Verwendete JSSE Bibliothek auf Version 1.0.3 aktualisiert, da frühere Versionen + einen sicherheitskritischen Fehler enthalten. + Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=124. + +############## +1.2.1 +############## + +- Packaging umgestellt. Ab dieser Release werden die Kryptographiebibliotheken + des IAIK nicht mehr mit den Distributionen von MOA SP/SS mitgeliefert, sondern + sind vom Kunden selbst zu besorgen. + +############## +1.2.0 +############## + +- Fehler beim validierenden Parsen des SignatureEnvironments eines Signaturer- + stellungsrequests behoben. War das Debug-Level ungleich debug, kam es bisher + zu einem Fehler. + Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=220. + +- Default-Wert für das Konfigurationsattribut cfg:CRLDistributionPoint/ + cfg:DistributionPoint/@reasonCodes so verändert, dass bei Weglassen des + Attributs alle Reason-Codes gesetzt werden. + Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=244. + +- Commons Logging Bibliothek auf die Version 1.0.4 aktualisiert, damit Logging + auch beim Betrieb unter Tomcat 5 funktioniert. + Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=245. + +- Werden bei der Zusammenstellung eines Signaturprüfrequests über das MOA API + keine Supplements angegeben (null), kommt es nunmehr zu keinem Fehler mehr. + Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=247. + +############## +1.2.0D04 +############## + +- Update des MOA-Kerns von IAIK. Gepatched wurde darin die fehlerhafte Kodierung + des Signaturwerts für ECDSA-Signaturen. Bisher wurde das Paar (r,s) fehlerhafter + Weise in eine ASN.1-Struktur eingepackt. + Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=218. + +############## +1.2.0D03 +############## + +- Update auf eine neuere Version der XML-Signaturbibliothek sowie damit ver- + bunden ein Update auf neuere Versionen von Xalan (2.5.1) sowie Xerces (2.4.0). + Grund: Mit der neuen Xerces-Version funktioniert nun auch das Parsen einer + XML-Personenbindung mit ECDSA-Schlüsseln. + Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=215. + +- Update des MOA-Kerns von IAIK. Es werden nun ECDSA-Signaturen, welche den + Signaturalgorithmus mit "http://www.w3.org/2004/01/xmldsig-more#" + kennzeichnen, erfolgreich von MOA SP erkannt und geprüft. Ebenso erstellt + MOA SP nun ECDSA-Signaturen mit dem erwähnten Signaturalgorithmus. + Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=217. + +- Prüfung des Signaturmanifests funktioniert nun auch bei vorhandener EC14N + Transformation. Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=197. + +- Das Element SignerInfo/QualifiedCertificate der Antwort auf eine XML- + Signaturprüfung erscheint nun im korrekten Namespace. + Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=189. + +- Eine falsche Fehlermeldung im Zusammenhang mit Ergänzungsobjekten wurde + korrigiert. Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=174. + +- Fehlender Typ des Elements TrustProfileID im XML-Schema wurde ergänzt. + Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=163. + +- Stack Overflow bei Prüfung bestimmter XML-Signaturen tritt nun nicht mehr + auf. Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=132. + +- Unpräzise Fehlermeldungen verbessert. + Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=127. + Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=74. + + +############## +1.2.0D02 +############## + +- Im Befehl CreateXMLSignatureRequest kann nun in FinalDataMetaInfo das + zusätzliche Element "Type" angegeben werden. Der Textinhalt dieses Elements + wird als Type-Attribut der korrespondierenden dsig:Reference gesetzt. Siehe + https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=54. + +- Die Verwendung von EC14N-Transformationen ohne InclusiveNamespaces funktioniert + nun auch. Siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=44. + +- Signaturerstellung mit DSA-Schlüssel funktioniert nun. Siehe + https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=52. + +############## +1.2.0D01 +############## + +- In den Befehlen CreateXMLSignatureRequest sowie VerifyXMLSignatureRequest kann + nun in allen Fällen, in denen bisher entweder Base64Content oder XMLContent + angegeben werden konnte, auch eine dritte Spielart verwendet werden, nämlich + LocRefContent. LocRefContent hat als Text-Inhalt eine URL, von der MOA den + Content bezieht + (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=41). + +############## +1.1.0 +############## + +- Einfach verwendbare Scripts für Starten/Stopen sowie Install/Uninstall als + Service unter Windows in die Auslieferung aufgenommen + (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=36). + +- Drei neue Fragen in die FAQ aufgenommen + (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=34, + https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=35, + https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=37). + +- Zertifikatsspeicher der Default-Konfiguration enthält nun alle CA-Zertifikate + A-Trust sowie das Root-Zertifikats des Mobilkom-Bürgerkarten-Versuchs + (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=33). + +- Konfigurationsparameter "checkRevocation" ist hat nun Default-Wert "false" + (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=32). + +- Fehlerhafte Einträge in den minimalen Default-Konfigurationsfiles behoben + (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=30, + https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=31). + +- Ein CreateXMLSignatureRequest, der nicht den Default-Namespace verwendet, sondern + ein ns-Präfix verwendet, wird nun auch korrekt verarbeitet + (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=19). + +- Wird eine Enveloped Signature erzeugt, wird nun das korrekte XML-Dokument mit der + erzeugten Signatur in der Antwort zurückgeliefert + (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=12). + +- WSDL-File, das über die URI /services/SignatureCreation?wsdl + bzw. /services/SignatureVerification?wsdl abgefragt werden + kann, ist nun aktuell (MOA-SPSS-Schema 1.1) und enthält einen korrekten Verweis + auf das MOA-SPSS-Schema 1.1 + (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=6). + +- Problem mit Auflösung von LDAP-URLs beim Einsatz als Webservice in Tomcat behoben. + (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=2). + +- Bei der Prüfung auf Security-Layer-Konformität wird nun das korrekte Resultat + zurückgeliefert, wenn die Signatur keine impliziten Transformationsparameter + enthält + (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=3). + +- Unterstützung anderer Datenbanken als postgreSQL und mySQL für das CRL-Archiv + (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=7). + +- Diverse Fehler in der Dokumentation beseitigt + (siehe https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=8, + https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=9, + https://forge.cio.gv.at/bugzilla/show_bug.cgi?id=29). + +############## +1.0.9 +############## + +- Erste öffentliche Release diff --git a/spss/server/pom.xml b/spss/server/pom.xml index 0b71ea208..360949903 100644 --- a/spss/server/pom.xml +++ b/spss/server/pom.xml @@ -1,26 +1,26 @@ - - - MOA - spss - 1.4.0 - + + + MOA + spss + 1.4.0 + - 4.0.0 - MOA.spss - server - pom - 1.4.0 - MOA spss Server + 4.0.0 + MOA.spss + moa-spss + pom + 1.4.0 + MOA SPSS Server - - ${basedir}/../../buildhelper - - - - serverlib - serverws - distribution - - + + serverlib + serverws + tools + + + + ${basedir}/../../repository + + \ No newline at end of file diff --git a/spss/server/readme.inst.txt b/spss/server/readme.inst.txt new file mode 100644 index 000000000..a8b181cd8 --- /dev/null +++ b/spss/server/readme.inst.txt @@ -0,0 +1,56 @@ +Willkommen zur Installation von MOA SP/SS! + +Für eine Anleitung zur Installation verwenden Sie bitte das +Installationshandbuch "handbook.html" im Verzeichnis "doc" dieser +Distribution. + +BEVOR SIE STARTEN BEACHTEN SIE BITTE FOLGENDE HINWEISE ZUR +LIZENSIERUNG VON MOA SP/SS SOWIE DER VON IHM VERWENDETEN +BIBLIOTHEKEN: + +1. MOA SP/SS selbst ist freie Software und wird von Bundeskanzler- + amt und Bundesministerium für Finanzen zu den Bedingungen der + Apache 2.0 Lizenz zur Verfügung gestellt. Eine Kopie dieser + Lizenz finden Sie in der Datei "Apache-2.0.txt" im Verzeichnis + "licenses" dieser Distribution. + +2. MOA SP/SS verwendet Kryptographie-Biliotheken, deren Rechte bei + der Stiftung Secure Information and Communication Technologies + (http://jcewww.iaik.tugraz.at) liegen. Für diese Kryptographie- + Bibliotheken besteht folgende Situation: + + Stiftung SIC gewährt dem Lizenznehmer eine nicht-exklusive, + nicht-übertragbare Runtime Lizenz für die "IAIK MOA" Module + im Kontext von MOA SP/SS und MOA ID. Alle Versuche, Teile oder + die kompletten IAIK Crypto Toolkits, die zusammen mit dem MOA + Produktbündel ausgeliefert werden, für andere Zwecke als jenem + für Applikationen im MOA Kontext zu verwenden, sind nicht erlaubt. + Auch weitere Versuche, die sich auf die Entwicklung von Anwendungen, + oder aber darüber hinaus auf die Schaffung eines eigenen Toolkits, + oder die Aufnahme in ein weiters weiteres Toolkit beziehen, sind + nicht erlaubt. Die hier beschriebene Runtime Lizenz ist nicht + übertragbar auf weitere Vertragspartner des Kunden, Personen, + Organisationen oder Unternehmen außerhalb der Organisation des + Lizenznehmers. + +3. MOA SP/SS verwendet folgende weitere Bibliotheken, die allesamt + freie Software und in dieser Distribution bereits enthalten + sind. Es gelten jedoch unterschiedliche Lizenzbedingungen: + + * Die Produkte Xerces Java 2, Xalan Java 2, Axis, Commons + und Log4J werden von der Apache Software Foundation zu den + Bedingungen der Apache 2.0 Lizenz zur Verfügung gestellt. + Eine Kopie dieser Lizenz finden Sie in der Datei + "Apache-2.0.txt" im Verzeichnis "licenses" dieser + Distribution. + + * Das Produkt Jaxen wird von The Werken Company zu den Bedin- + gungen einer BSD-ähnlichen Lizenz zur Verfügung gestellt. + Eine Kopie dieser Lizenz finden Sie in der Datei "Jaxen.txt" + im Verzeichnis "licenses" dieser Distribution. + + * Das Produkt PostgreSQL JDBC Driver wird von PostgreSQL Global + Development Group zu den Bedingungen einer BSD-ähnlichen + Lizenz zur Verfügung gestellt. Eine Kopie dieser Lizenz finden + Sie in der Datei "PostgreSQL-JDBC.txt" im Verzeichnis + "licenses" dieser Distribution. \ No newline at end of file diff --git a/spss/server/readme.src.txt b/spss/server/readme.src.txt new file mode 100644 index 000000000..5880bbe1c --- /dev/null +++ b/spss/server/readme.src.txt @@ -0,0 +1,77 @@ +Willkommen bei der Entwicklung von von MOA SP/SS! + +Diese Distribution besteht aus vier Teilen: + + * Entwicklungsprojekt "common", bestehend aus dem Verzeichnis + "common". Dieser Ordner stellt ein vollständiges Eclipse 3.0- + Projekt dar. "common" enthält jene Teile von MOA SP/SS, die + auch von anderen MOAs verwendet werden. + + * Entwicklungsprojekt "spss.server", bestehend aus dem Verzeich- + nis "spss.server". Dieser Ordner stellt ein vollständiges + Eclipse 3.0-Projekt dar. "spss.server" stellt das eigentliche + Entwicklungsprojekt MOA SP/SS dar. Es benötigt als abhängiges + Projekt "common". + + * Entwicklungsprojekt "spss.handbook", bestehend aus dem Ver- + zeichnis "spss.handbook". Dieser Ordner stellt ein vollständiges + Eclipse 3.0-Projekt dar. "spss.handbook" stellt das Handbuch + inklusive Beispielen und Demo-Clients für API- und Webservice- + Version von MOA SP/SS dar. + + * Build-Scripts für Apache Ant. Diese Scripts befinden sich im + Verzeichnis "build". Eine Anleitung zur Bedienung der Build- + Scripts ist in der Datei "README.txt" in diesem Verzeichis + enthalten. + +BEVOR SIE STARTEN BEACHTEN SIE BITTE FOLGENDE HINWEISE ZUR +LIZENSIERUNG VON MOA SP/SS SOWIE DER VON IHM VERWENDETEN +BIBLIOTHEKEN: + +1. MOA SP/SS selbst ist freie Software und wird von Bundeskanzler- + amt und Bundesministerium für Finanzen zu den Bedingungen der + Apache 2.0 Lizenz zur Verfügung gestellt. Eine Kopie dieser + Lizenz finden Sie in der Datei "Apache-2.0.txt" im Verzeichnis + "spss.server/licenses" dieser Distribution. + +2. MOA SP/SS verwendet Kryptographie-Biliotheken, deren Rechte bei + der Stiftung Secure Information and Communication Technologies + (http://jcewww.iaik.at) liegen. Für diese Kryptographie-Biblio- + theken besteht folgende Situation: + + * Organisationen der österreichischen Verwaltung wird eine + kostenfreie Lizenz zur Nutzung der Bibliotheken eingeräumt. + Die Bibliotheken können im verwaltungsinternen Bereich der + Webseite der IKT-Stabsstelle heruntergeladen werden + (http://www.cio.gv.at/iktintern/downloads/). + + * Andere Organisationen müssen eine Lizenz zur Nutzung der + Bibliotheken bei der Stiftung SIC käuflich erwerben. + Evaluierungsversionen können kostenlos von der Webseite von + Stiftung SIC + (http://jce.iaik.tugraz.at/download/evaluation/index.php) + bezogen werden. Für die Lizensierung von Produktivversionen + wenden Sie sich bitte an den Verkauf von Stiftung SIC + (mailto:jce-sales@iaik.at). + +3. MOA SP/SS verwendet folgende weitere Bibliotheken, die allesamt + freie Software und in dieser Distribution bereits enthalten + sind. Es gelten jedoch unterschiedliche Lizenzbedingungen: + + * Die Produkte Xerces Java 2, Xalan Java 2, Axis, Commons + und Log4J werden von der Apache Software Foundation zu den + Bedingungen der Apache 2.0 Lizenz zur Verfügung gestellt. + Eine Kopie dieser Lizenz finden Sie in der Datei + "Apache-2.0.txt" im Verzeichnis "spss.server/licenses" dieser + Distribution. + + * Das Produkt Jaxen wird von The Werken Company zu den Bedin- + gungen einer BSD-ähnlichen Lizenz zur Verfügung gestellt. + Eine Kopie dieser Lizenz finden Sie in der Datei "Jaxen.txt" + im Verzeichnis "spss.server/licenses" dieser Distribution. + + * Das Produkt PostgreSQL JDBC Driver wird von PostgreSQL Global + Development Group zu den Bedingungen einer BSD-ähnlichen + Lizenz zur Verfügung gestellt. Eine Kopie dieser Lizenz finden + Sie in der Datei "PostgreSQL-JDBC.txt" im Verzeichnis + "spss.server/licenses" dieser Distribution. \ No newline at end of file diff --git a/spss/server/readme.update.txt b/spss/server/readme.update.txt new file mode 100644 index 000000000..ce8658f3a --- /dev/null +++ b/spss/server/readme.update.txt @@ -0,0 +1,137 @@ + +====================================================================== + Update einer bestehenden MOA-SPSS-Installation auf Version 1.3.1 +====================================================================== + +Es gibt zwei Möglichkeiten (im Folgenden als "Update Variante A" und +"Update Variante B" bezeichnet), das Update von MOA-SPSS auf Version +1.3.1 durchzuführen. Update Variante A geht dabei den Weg über eine +vorangestellte Neuinstallation, während Variante B direkt eine +bestehende Installation aktualisiert. + +Folgende Begriffe werden verwendet: + +JAVA_HOME bezeichnet das Wurzelverzeichnis der JDK-Installation + +CATALINA_HOME bezeichnet das Wurzelverzeichnis der Tomcat-Installation + +MOA_SPSS_INST bezeichnet das Verzeichnis, in das Sie die Datei +moa-spss-1.3.1.zip entpackt haben. + + +================= +Update Variante A +================= + +1.) Erstellen Sie eine Sicherungskopie des kompletten Tomcat-Verzeichnisses + Ihrer MOA-SPSS-Installation. + +2.) Erstellen Sie eine Sicherungskopie aller "iaik*.jar"-Dateien im Verzeichnis + JAVA_HOME\jre\lib\ext, und löschen Sie diese Dateien danach. + +3.) Führen Sie eine Neuinstallation gemäß Handbuch durch. + +4.) Kopieren Sie etwaige Konfigurationsdateien, Trust-Profile und Key-Stores, + die Sie aus Ihrer alten Installation beibehalten möchten, aus Ihrer + Sicherungskopie in die entsprechenden Verzeichnisse der neuen + Installation. + Anmerkung: Diese Distribution enthält neue A-TRUST und E-CARD-Zertifikate. + Falls Sie Ihre alten Trustprofile beibehalten wollen, gehen Sie wie unter + Update Variante B, Punkt 9 beschrieben vor, um Ihre alten Trustprofile + auf einen aktuellen Stand zu bringen. + +5.) Nur wenn alte Installation älter als Version 1.3.0: + Falls Sie Ihre alte MOA-SP Konfigurationsdatei weiterverwenden wollen: + Mit dem Wechsel auf Version 1.3.1 verwendet MOA SP ein neues Format für die + XML-Konfigurationsdatei. Sie müssen die Konfigurationsdatei für MOA-SP aus + Ihrer alten Installation auf das neue Format konvertieren. + Details dazufinden Sie im MOA-SPSS-Installationshandbuch. + + +================= +Update Variante B +================= + +1.) Erstellen Sie eine Sicherungskopie des kompletten Tomcat-Verzeichnisses + Ihrer MOA-SPSS-Installation. + +2.) Entpacken Sie die Datei "moa-spss-1.3.1.zip" in das Verzeichnis MOA_SPSS_INST. + +3.) Erstellen Sie eine Sicherungskopie aller "iaik*.jar"-Dateien im Verzeichnis + JAVA_HOME\jre\lib\ext und löschen Sie diese Dateien danach. + +4.) Falls Sie mit jdk1.3 oder niedriger arbeiten, kopieren Sie alle Dateien + aus dem Verzeichnis MOA_SPSS_INST\ext13 in das Verzeichnis + JAVA_HOME\jre\lib\ext. + Falls Sie mit jdk1.4 oder höher arbeiten, kopieren Sie alle Dateien + aus dem Verzeichnis MOA_SPSS_INST\ext14 in das Verzeichnis + JAVA_HOME\jre\lib\ext. + +5.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_SPSS_INST\endorsed + in das Verzeichnis CATALINA_HOME\common\endorsed. Überschreiben Sie dabei + etwaige gleichnamige Dateien. + +6.) Löschen Sie das Verzeichnis CATALINA_HOME\webapps\moa-spss. + +7.) Ersetzen Sie die Datei CATALINA_HOME\webapps\moa-spss.war durch die Datei + MOA_SPSS_INST\moa-spss.war. + +8.) Löschen Sie das Verzeichnis CATALINA_HOME\work. + +9.) Update der Trust-Profile. + Wenn Sie Ihre alten Trust-Profile durch die neuen ersetzen wollen, dann gehen + Sie vor, wie in Punkt a). Wenn Sie Ihre eigenen Trust-Profile beibehalten wollen, + dann gehen Sie vor, wie in Punkt b). + + a) Gehen Sie wie folgt vor, um die Trust-Profile auszutauschen: + + 1) Löschen Sie das Verzeichnis CATALINA_HOME\conf\moa-spss\trustProfiles. + 2) Kopieren Sie das Verzeichnis MOA_SPSS_INST\conf\moa-spss\trustProfiles + in das Verzeichnis CATALINA_HOME\conf\moa-spss. + + b) Falls Sie Ihre alten Trust-Profile beibehalten wollen, gehen Sie wie folgt vor, + um die Profile auf den aktuellen Stand zu bringen: + + 1) Löschen Sie die Datei "C=AT,O=Hauptverband oesterr. Sozialvers.,CN=CRL-Signer.der" + aus jedem Trustprofil, in dem sie enthalten ist. + + 2) Löschen Sie die Datei "OCSP Responder 02-20051027-20101027.der" aus jedem + Trustprofil, in dem sie enthalten ist. + + 7) Ergänzen Sie ihre Trustprofile durch alle Zertifikate aus den entsprechenden Profilen + im Verzeichnis MOA_SPSS_INST\conf\moa-spss\trustprofiles, die nicht in Ihren + Profilen enthalten sind. Am einfachsten ist es, wenn Sie den Inhalt der einzelnen Profile + aus der Distribution (MOA_SPSS_INST\conf\moa-spss\trustprofiles) in die entsprechenden + Profile Ihrer Installation (CATALINA_HOME\conf\moa-spss\trustprofiles) kopieren und + dabei die vorhandenen gleichnamigen Zertifikate überschreiben), also z.B: + + Kopieren des Inhalts von + MOA_SPSS_INST\conf\moa-spss\trustprofiles\certifiedSignature + nach + CATALINA_HOME\conf\moa-spss\trustprofiles\certifiedSignature + usw. + +10.) Update des Cert-Stores. + a) Kopieren Sie den Inhalt des Verzeichnisses MOA_SPSS_INST\conf\moa-spss\certstore + in das Verzeichnis CATALINA_HOME\conf\moa-spss\certstore. Wenn Sie gefragt werden, ob Sie + vorhandene Dateien oder Unterverzeichnisse überschreiben sollen, dann bejahen Sie das. + + b) Falls vorhanden, löschen Sie die Datei "890A4C8282E95EBB398685D9501486EF213941B5" aus dem + Verzeichnis CATALINA_HOME\conf\moa-spss\certstore\10F17BDACD8DEAA1E8F23FBEAE7B3EC3D9773D1D. + + c) Falls die Datei "E7340D1FB627D8917A9C0D23F21515C441BF1214" noch nicht im Verzeichnis + CATALINA_HOME\conf\moa-spss\certstore\10F17BDACD8DEAA1E8F23FBEAE7B3EC3D9773D1D + enthalten ist, dann kopieren Sie diese Datei aus dem Verzeichnis + MOA_ID_INST_AUTH\conf\moa-spss\certstore\10F17BDACD8DEAA1E8F23FBEAE7B3EC3D9773D1D + in das Verzeichnis + CATALINA_HOME\conf\moa-spss\certstore\10F17BDACD8DEAA1E8F23FBEAE7B3EC3D9773D1D. + +11.) Nur wenn alte Installation älter als Version 1.3.0: + Mit dem Wechsel auf Version 1.3.0 verwendet MOA SP ein neues Format für die + XML-Konfigurationsdatei. Sie müssen die Konfigurationsdatei für MOA-SP aus + Ihrer alten Installation auf das neue Format konvertieren. Details dazu + finden Sie im MOA-SPSS-Installationshandbuch. + + + + diff --git a/spss/server/serverlib/pom.xml b/spss/server/serverlib/pom.xml index 50b6fc411..edf27d123 100644 --- a/spss/server/serverlib/pom.xml +++ b/spss/server/serverlib/pom.xml @@ -2,86 +2,70 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> MOA.spss - server + moa-spss 1.4.0 4.0.0 MOA.spss.server - serverlib + moa-spss-lib jar 1.4.0 - MOA SPSS Serverlibrary + MOA SP/SS API - - ${basedir}/../../../buildhelper - + + ${basedir}/../../../repository + axis axis - - saaj - saaj - - - commons-discovery - commons-discovery - + + + + + + + + commons-logging commons-logging - - - - javax.activation activation - - jaxen - jaxen - - - jaxp - dom - - - jaxp - jaxp-api - - - jaxp - sax - + + + + + + + + + + + + + + + + - - org.w3c.dom - dom - - - sax - sax - - - jsse - jsse - - - jsse - jnet - - - jsse - jcert - + + + + + + + + junit junit @@ -112,7 +96,7 @@ iaik.prod - iaik_moa_full + iaik_moa iaik.prod @@ -126,33 +110,106 @@ iaik.prod iaik_ecc + compile iaik.prod iaik_Pkcs11Provider + runtime iaik.prod iaik_Pkcs11Wrapper + runtime - - iaik.win32 - Pkcs11Wrapper - dll - 1.0 - - - MOA - common - - - + + + + + + + MOA - common-test - system - ${basedir}/../../../common-test/target + moa-common + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.2 + + true + false + false + true + at.gv.egovernment.moa.spss.server.*;at.gv.egovernment.moa.spss.api.impl.*;at.gv.egovernment.moa.spss.impl.* + + + pre + a + Preconditions: + + + post + a + Postconfitions: + + + + + API Factory and Services + at.gv.egovernment.moa.spss.api + + + Exceptions + at.gv.egovernment.moa.spss + + + API Objects for Signature Creation + at.gv.egovernment.moa.spss.api.xmlsign + + + API Objects for CMS Signature Verification + at.gv.egovernment.moa.spss.api.cmsverify + + + API Objects for XML Signature Verification + at.gv.egovernment.moa.spss.api.xmlverify + + + Common API Objects + at.gv.egovernment.moa.spss.api.common + + + Builders and Parsers to convert API Objects to and from XML + at.gv.egovernment.moa.spss.api.xmlbind + + + Utilities + at.gv.egovernment.moa.util + at.gv.egovernment.moa.spss.util + + + Logging + at.gv.egovernment.moa.logging + + + http://java.sun.com/j2se/1.4/docs/api/ + + + + generate-javadoc + package + + jar + + + + + + diff --git a/spss/server/serverlib/resources/data/deploy/tools/certtool.bat b/spss/server/serverlib/resources/data/deploy/tools/certtool.bat deleted file mode 100644 index 0504211b8..000000000 --- a/spss/server/serverlib/resources/data/deploy/tools/certtool.bat +++ /dev/null @@ -1,25 +0,0 @@ -@echo off - -rem -rem Script to invoke the CertTool class -rem -rem Author: Patrick Peck -rem Version: $Id: certtool.bat,v 1.6 2003/05/08 11:46:29 peck Exp $ -rem - - -if %OS%=="Windows_NT" @setlocal - -set CERTTOOL=at.gv.egovernment.moa.spss.server.tools.CertTool -set TOOLSPATH=%~p0 -set CLASSPATH=%TOOLSPATH%tools.jar;%TOOLSPATH%iaik_moa_full.jar;%TOOLSPATH%iaik_jce_full.jar;%TOOLSPATH%iaik_ecc.jar;%TOOLSPATH%log4j-1.2.7.jar - -if "%JAVA_HOME%"=="" goto noJavaHome -%JAVA_HOME%\bin\java.exe -classpath %CLASSPATH% %CERTTOOL% %1 %2 %3 %4 %5 %6 %7 %8 %9 -goto end - -:noJavaHome -echo error: JAVA_HOME not defined - -:end -if %OS%=="Windows_NT" @endlocal \ No newline at end of file diff --git a/spss/server/serverlib/resources/data/deploy/tools/certtool.sh b/spss/server/serverlib/resources/data/deploy/tools/certtool.sh deleted file mode 100644 index c7ff374f4..000000000 --- a/spss/server/serverlib/resources/data/deploy/tools/certtool.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -# -# Script to invoke the CertTool class -# -# Author:Patrick Peck -# Version: $Id: certtool.sh,v 1.9 2003/06/23 16:01:27 peck Exp $ -# - - -if [ -z "$JAVA_HOME" ]; then - echo "error: JAVA_HOME not defined"; - exit; -fi - -CERTOOL=at.gv.egovernment.moa.spss.server.tools.CertTool -TOOLSPATH=`dirname $PWD/$0` -CLASSPATH=$TOOLSPATH/tools.jar:$TOOLSPATH/iaik_moa_full.jar:$TOOLSPATH/iaik_jce_full.jar:$TOOLSPATH/iaik_ecc.jar:$TOOLSPATH/log4j-1.2.7.jar - -$JAVA_HOME/bin/java -classpath $CLASSPATH $CERTOOL $* diff --git a/spss/server/serverlib/resources/data/deploy/tools/configtool.bat b/spss/server/serverlib/resources/data/deploy/tools/configtool.bat deleted file mode 100644 index 868df11f0..000000000 --- a/spss/server/serverlib/resources/data/deploy/tools/configtool.bat +++ /dev/null @@ -1,25 +0,0 @@ -@echo off - -rem -rem Script to invoke the ConfigTool class -rem -rem Author: Gregor Karlinger -rem Version: $Id: $ -rem - - -if %OS%=="Windows_NT" @setlocal - -set CONFIGTOOL=at.gv.egovernment.moa.spss.server.tools.ConfigTool -set TOOLSPATH=%~p0 -set CLASSPATH=%TOOLSPATH%tools.jar;%TOOLSPATH%xalan.jar; - -if "%JAVA_HOME%"=="" goto noJavaHome -%JAVA_HOME%\bin\java.exe -classpath %CLASSPATH% %CONFIGTOOL% %1 %2 %3 %4 %5 %6 %7 %8 %9 -goto end - -:noJavaHome -echo error: JAVA_HOME not defined - -:end -if %OS%=="Windows_NT" @endlocal \ No newline at end of file diff --git a/spss/server/serverlib/resources/data/deploy/tools/configtool.sh b/spss/server/serverlib/resources/data/deploy/tools/configtool.sh deleted file mode 100644 index f7f29bae1..000000000 --- a/spss/server/serverlib/resources/data/deploy/tools/configtool.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -# -# Script to invoke the ConfigTool class -# -# Author: Gregor Karlinger -# Version: $Id: $ -# - - -if [ -z "$JAVA_HOME" ]; then - echo "error: JAVA_HOME not defined"; - exit; -fi - -CONFIGTOOL=at.gv.egovernment.moa.spss.server.tools.ConfigTool -TOOLSPATH=`dirname $PWD/$0` -CLASSPATH=$TOOLSPATH/tools.jar:$TOOLSPATH/xalan.jar - -$JAVA_HOME/bin/java -classpath $CLASSPATH $CONFIGTOOL $* diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/overview.htm b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/overview.htm deleted file mode 100644 index 9b17bbf91..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/overview.htm +++ /dev/null @@ -1,155 +0,0 @@ - - - - - - -MOA SP/SS API documentation overview. - - -

Using the MOA SP/SS API

- -

Invoking the services

-In general, invoking the MOA SP/SS API involves the following steps: -
    -
  1. Set the moa.spss.server.configuration system property to point -to the main MOA SP/SS configuration file. This needs to be done only once per -JVM instance. You may also call -{@link at.gv.egovernment.moa.spss.api.Configurator#init} at this point to -pre-initialize MOA SP/SS (if not, it is done automatically upon service -invocation).
  2. -
  3. Create an instance of the service to be used -({@link at.gv.egovernment.moa.spss.api.SignatureCreationService} or -{@link at.gv.egovernment.moa.spss.api.SignatureVerificationService}), -via its getInstance() method.
  4. -
  5. Create an instance of the -{@link at.gv.egovernment.moa.spss.api.SPSSFactory}, via its -{@link at.gv.egovernment.moa.spss.api.SPSSFactory#getInstance} method.
  6. -
  7. Use the create... methods of the SPSSFactory to -create the desired {@link at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest}, -{@link at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest} or -{@link at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest} object. -
  8. -
  9. Call one of the service methods: -{@link at.gv.egovernment.moa.spss.api.SignatureCreationService#createXMLSignature(at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest) createXMLSignature()}, -{@link at.gv.egovernment.moa.spss.api.SignatureVerificationService#verifyCMSSignature(at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest) verifyCMSSignature()} or -{@link at.gv.egovernment.moa.spss.api.SignatureVerificationService#verifyXMLSignature(at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest) verifyXMLSignature()}. -
  10. -
  11. Analyze the result of the service call, given as a -{@link at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse}, -{@link at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse} or -{@link at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse}. -In case of an error, a {@link at.gv.egovernment.moa.spss.MOAException} -is thrown by the service. Please be aware that errors during signature creation -are reported as part of a CreateXMLSignatureResponse. -
- -

Creating MOA SP/SS API objects

-

-Invoking the MOA SP/SS API Service classes involves creating -a Request object using the {@link at.gv.egovernment.moa.spss.api.SPSSFactory SPSSFactory}. -Object creation using the SPSSFactory is always bottom-up, meaning -that in order to create an object all of its components must have been created -before. -

-

-The names of the MOA SP/SS API classes have been chosen to correspond to the -MOA SP/SS schema elements. The structure of the classes (i.e., their fields) -also corresponds to the structure of the respective MOA SP/SS schema elements. -However, a few classes escape this naming convention, mainly because the -corresponding schema elements contain xsd:choice components: -

    -
  • The various Profile classes have subclasses called -ProfileID and ProfileExplicit -(e.g., {@link at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileID} and -{@link at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileExplicit}), -so that the profile can be given either as an ID (which is to be resolved from the -MOA SP/SS configuration) or explicitly.
  • -
  • The classes {@link at.gv.egovernment.moa.spss.api.common.Content}, -{@link at.gv.egovernment.moa.spss.api.cmsverify.CMSContent} and -{@link at.gv.egovernment.moa.spss.api.xmlverify.TransformParameter} have -subclasses specifying the type of content they actually contain. E.g., -{@link at.gv.egovernment.moa.spss.api.common.ContentBinary} will contain -a byte stream.
  • -
- -

-

-For clarity, the MOA SP/SS API classes have been organized in several packages -listed in the following table: -

- - - - - - - - - - - - - - - - - - - - - -
PackagePurpose
{@link at.gv.egovernment.moa.spss.api.xmlsign}Components of the {@link at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest} and - {@link at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse}
{@link at.gv.egovernment.moa.spss.api.cmsverify}Components of the - {@link at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest} and - {@link at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse}
{@link at.gv.egovernment.moa.spss.api.xmlverify}Components of the - {@link at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest} and - {@link at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse}
{@link at.gv.egovernment.moa.spss.api.common}Common components used across the classes of the above packages
- -

Converting MOA SP/SS API objects to and from DOM trees

-The package {@link at.gv.egovernment.moa.spss.api.xmlbind} contains helper -classes to: -
    -
  • Parse a DOM tree containing a CreateXMLSignatureRequest, -VerifyCMSSignatureRequest or -VerifyCMSSignatureRequest into its respective MOA SP/SS API object -representation. For example, to parse a CreateXMLSignatureRequest -DOM tree, the {@link at.gv.egovernment.moa.spss.api.xmlbind.CreateXMLSignatureRequestParser#parse(org.w3c.dom.Element) CreateXMLSignatureRequestParser.parse()} -method can be used.
    -Note: The DOM tree of the request must be derived from a schema valid -XML document. Otherwise, unexpected behaviour will almost certainly result.
  • -
  • Build a CreateXMLSignatureResponse, -VerifyCMSSignatureResponse or a -VerifyXMLSignatureResponse DOM tree from the respective MOA SP/SS -API object. For example, to build a VerifyXMLSignatureResponse -DOM tree, the {@link at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureResponseBuilder#build(at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse) VerifyXMLSignatureResponseBuilder.build()} -can be used.
    -Note:The serialized DOM tree will be schema valid. -
  • -
-The DOM trees can easily be read from and written to XML byte streams using -the methods in the {@link at.gv.egovernment.moa.util.DOMUtils} class. -
- -

Utilities and Logging

-

The packages {@link at.gv.egovernment.moa.util} and -{@link at.gv.egovernment.moa.spss.util} contain utility classes developed for -the MOA SP/SS implementation. Since the classes contained in these packages are -tailored towards the MOA SP/SS implementation, they are far from being complete -in the sense of providing a utility class library. Therefore, they may or may -not prove useful in the context of your application. Their interfaces may also -change in future releases. -

- -

The package {@link at.gv.egovernment.moa.logging} contains classes for -logging messages to the MOA SP/SS log hierarchy via the -{@link at.gv.egovernment.moa.logging.Logger} class. -

- -

Related Documentation

- -See also the API example in the -MOA SP/SS documentation. - - - \ No newline at end of file diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/tools/CertTool.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/tools/CertTool.java deleted file mode 100644 index 9fe17eae2..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/tools/CertTool.java +++ /dev/null @@ -1,242 +0,0 @@ -package at.gv.egovernment.moa.spss.server.tools; - -import java.io.BufferedInputStream; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.io.PrintStream; -import java.security.cert.CertificateException; - -import iaik.asn1.structures.Name; -import iaik.pki.store.certstore.CertStoreException; -import iaik.pki.store.certstore.CertStoreTypes; -import iaik.pki.store.certstore.directory.DirectoryCertStore; -import iaik.pki.store.certstore.directory.DirectoryCertStoreParameters; -import iaik.pki.store.certstore.directory.DirectoryStoreException; -import iaik.security.ecc.provider.ECCProvider; -import iaik.security.provider.IAIK; -import iaik.utils.RFC2253NameParserException; -import iaik.x509.X509Certificate; - -/** - * A tool to support X509 certificate handling for configuring the MOA SP/SS - * service. - * - * This class provides functions for: - *
    - *
  • printing certificate information
  • - *
  • adding certificates to the cert store
  • - *
- * - * @author Patrick Peck - * @version $Id$ - */ -public class CertTool { - - /** Error message if the DN cannot be parsed according to RFC2253. */ - private static final String ILLEGAL_RFC2253_NAME = - "Kein gültiger RFC2253-Name"; - - /** - * Main entry point of the tool. - * - * @param args The command line arguments. A single argument is expected, - * which is the file name of the X509 certificate to inspect. - */ - public static void main(String args[]) { - CertTool certTool = new CertTool(); - - if (args.length == 2 && "-info".equals(args[0])) { - initProviders(); - certTool.printCertInfo(args[1], System.out); - } else if (args.length == 3 && "-add".equals(args[0])) { - initProviders(); - certTool.addCertToCertStore(args[1], args[2]); - } else { - certTool.printUsage(System.err); - } - } - - /** - * Init the JCE providers, depending on the JDK used. - * - * Adds the IAIK JCE and IAIK ECC providers. - */ - private static void initProviders() { - if (System.getProperty("java.version").startsWith("1.3")) { - IAIK.addAsProvider(); - } else { - IAIK.addAsJDK14Provider(); - } - ECCProvider.addAsProvider(); - } - - /** - * Print the information about the certificate. - * - * This method will output information about the Subject DN, the Issuer DN and - * the serial number of the certificate. - * - * @param certFile The name of the certificate file to inspect. - * @param out The stream to print the information to. - */ - public void printCertInfo(String certFile, PrintStream out) { - try { - InputStream is = new BufferedInputStream(new FileInputStream(certFile)); - X509Certificate cert = new X509Certificate(is); - String issuerDN; - String serial; - String subjectDN; - - try { - subjectDN = ((Name) (cert.getSubjectDN())).getRFC2253String(); - } catch (RFC2253NameParserException e) { - subjectDN = ILLEGAL_RFC2253_NAME; - } - - try { - issuerDN = ((Name) (cert.getIssuerDN())).getRFC2253String(); - } catch (RFC2253NameParserException e) { - issuerDN = ILLEGAL_RFC2253_NAME; - } - - serial = cert.getSerialNumber().toString(); - - out.println("SubjectDN (RFC2253): " + subjectDN); - out.println("IssuerDN (RFC2253) : " + issuerDN); - out.println("Serial Number : " + serial); - } catch (FileNotFoundException e) { - System.err.println("Zertifikat nicht gefunden: " + certFile); - } catch (IOException e) { - System.err.println( - "I/O Fehler beim Lesen des Zertifikats: " + e.getMessage()); - } catch (CertificateException e) { - System.err.println( - "Fehler beim Lesen des Zertifikats: " + e.getMessage()); - } catch (Throwable t) { - System.err.println("Allgemeiner Fehler: " + t.getMessage()); - } - } - - /** - * Add a certificate to a directory certificate store. - * - * @param certFile The certificate to add. - * @param certStoreRoot The root directory of the certificate store. - */ - public void addCertToCertStore(String certFile, String certStoreRoot) { - try { - // read the certificate - InputStream is = new BufferedInputStream(new FileInputStream(certFile)); - X509Certificate cert = new X509Certificate(is); - - // initialize the DirectoryCertStore - DirectoryCertStore certStore = - new DirectoryCertStore( - new SimpleDirectoryCertStoreParameters(certStoreRoot), - null); - - certStore.storeCertificate(cert, null); - - System.out.println("\nDas Zertifikat wurde erfolreich hinzugefügt.\n"); - - } catch (FileNotFoundException e) { - System.err.println("Zertifikat nicht gefunden: " + certFile); - } catch (IOException e) { - System.err.println( - "I/O Fehler beim Lesen des Zertifikats: " + e.getMessage()); - } catch (CertificateException e) { - System.err.println( - "Fehler beim Lesen des Zertifikats: " + e.getMessage()); - } catch (DirectoryStoreException e) { - System.err.println( - "Fehler beim Öffnen des Zertifikatsspeichers: " + e.getMessage()); - } catch (CertStoreException e) { - System.err.println( - "Fehler beim Hinzufügen des Zertifikats: " + e.getMessage()); - } catch (Throwable t) { - System.err.println("Allgemeiner Fehler: " + t.getMessage()); - t.printStackTrace(); - } - } - - /** - * Print tool usage. - * - * @param out The PrintStream to print to. - */ - private void printUsage(PrintStream out) { - out.println("\nCerttool-Syntax:\n"); - out.println("-info "); - out.println("\n"); - } - -} - -/** - * Simple implementation of the DirectoryCertStoreParameters - * interface intelligent enough for setting up a simple - * DirectoryCertStore in the CertTool. - * - * @author Patrick Peck - * @version $Id$ - */ -class SimpleDirectoryCertStoreParameters - implements DirectoryCertStoreParameters { - - /** The cert store root directory. */ - private String rootDirectory; - - /** - * Create a new SimpleDirectoryCertStoreParameters object. - * - * @param rootDirectory The root directory of the cert store. - */ - public SimpleDirectoryCertStoreParameters(String rootDirectory) { - this.rootDirectory = rootDirectory; - } - - /** - * @return "MOA Directory CertStore" - * @see iaik.pki.store.certstore.CertStoreParameters#getId() - */ - public String getId() { - return "MOA Directory CertStore"; - } - - /** - * @return CertStoreTypes.DIRECTORY - * @see iaik.pki.store.certstore.CertStoreParameters#getType() - */ - public String getType() { - return CertStoreTypes.DIRECTORY; - } - - /** - * @return false - * @see iaik.pki.store.certstore.CertStoreParameters#isReadOnly() - */ - public boolean isReadOnly() { - return false; - } - - /** - * @return false - * @see iaik.pki.store.certstore.directory.DirectoryCertStoreParameters#createNew() - */ - public boolean createNew() { - return false; - } - - /** - * @return The root directory given at construction time. - * @see iaik.pki.store.certstore.directory.DirectoryCertStoreParameters#getRootDirectory() - */ - public String getRootDirectory() { - return rootDirectory; - } - -} \ No newline at end of file diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/tools/ConfigTool.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/tools/ConfigTool.java deleted file mode 100644 index d5c3b48c1..000000000 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/tools/ConfigTool.java +++ /dev/null @@ -1,59 +0,0 @@ -package at.gv.egovernment.moa.spss.server.tools; - -import java.io.FileNotFoundException; -import java.io.FileOutputStream; - -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerConfigurationException; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.stream.StreamResult; -import javax.xml.transform.stream.StreamSource; - -/** - * A tool for converting a MOA SPSS Version 1.0 configuration file into - * a Version 1.3 configuration file. - * - * @author Gregor Karlinger - * @version $Id$ - */ -public class ConfigTool -{ - public static void main(String[] args) - { - if (args == null || args.length != 2) - { - System.out.println("Usage: ConfigTool "); - System.out.println(" ... Old config file to be transformed"); - System.out.println(" ... New config file resulting from the transform"); - System.exit(-1); - } - - try - { - TransformerFactory tFactory = TransformerFactory.newInstance(); - Transformer transformer = tFactory.newTransformer(new StreamSource( - ConfigTool.class.getResourceAsStream("/resources/tools/ConfigurationMapper.xsl"))); - transformer.transform(new StreamSource(args[0]), new StreamResult(new FileOutputStream(args[1]))); - - System.out.println("Successfully mapped configuration file."); - } - catch (TransformerConfigurationException e) - { - System.err.println("An error occurred during mapping the configuration file:"); - System.err.println(" Cannot initialize XSLT transform."); - System.err.println(" " + e.getMessage()); - } - catch (FileNotFoundException e) - { - System.err.println("An error occurred during mapping the configuration file:"); - System.err.println(" There is a problem with the filename for the new configuration file."); - System.err.println(" " + e.getMessage()); - } - catch (TransformerException e) - { - System.err.println("An error occurred during mapping the configuration file:"); - System.err.println(" " + e.getMessage()); - } - } -} diff --git a/spss/server/serverlib/src/main/javadoc/overview.html b/spss/server/serverlib/src/main/javadoc/overview.html new file mode 100644 index 000000000..9b17bbf91 --- /dev/null +++ b/spss/server/serverlib/src/main/javadoc/overview.html @@ -0,0 +1,155 @@ + + + + + + +MOA SP/SS API documentation overview. + + +

Using the MOA SP/SS API

+ +

Invoking the services

+In general, invoking the MOA SP/SS API involves the following steps: +
    +
  1. Set the moa.spss.server.configuration system property to point +to the main MOA SP/SS configuration file. This needs to be done only once per +JVM instance. You may also call +{@link at.gv.egovernment.moa.spss.api.Configurator#init} at this point to +pre-initialize MOA SP/SS (if not, it is done automatically upon service +invocation).
  2. +
  3. Create an instance of the service to be used +({@link at.gv.egovernment.moa.spss.api.SignatureCreationService} or +{@link at.gv.egovernment.moa.spss.api.SignatureVerificationService}), +via its getInstance() method.
  4. +
  5. Create an instance of the +{@link at.gv.egovernment.moa.spss.api.SPSSFactory}, via its +{@link at.gv.egovernment.moa.spss.api.SPSSFactory#getInstance} method.
  6. +
  7. Use the create... methods of the SPSSFactory to +create the desired {@link at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest}, +{@link at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest} or +{@link at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest} object. +
  8. +
  9. Call one of the service methods: +{@link at.gv.egovernment.moa.spss.api.SignatureCreationService#createXMLSignature(at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest) createXMLSignature()}, +{@link at.gv.egovernment.moa.spss.api.SignatureVerificationService#verifyCMSSignature(at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest) verifyCMSSignature()} or +{@link at.gv.egovernment.moa.spss.api.SignatureVerificationService#verifyXMLSignature(at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest) verifyXMLSignature()}. +
  10. +
  11. Analyze the result of the service call, given as a +{@link at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse}, +{@link at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse} or +{@link at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse}. +In case of an error, a {@link at.gv.egovernment.moa.spss.MOAException} +is thrown by the service. Please be aware that errors during signature creation +are reported as part of a CreateXMLSignatureResponse. +
+ +

Creating MOA SP/SS API objects

+

+Invoking the MOA SP/SS API Service classes involves creating +a Request object using the {@link at.gv.egovernment.moa.spss.api.SPSSFactory SPSSFactory}. +Object creation using the SPSSFactory is always bottom-up, meaning +that in order to create an object all of its components must have been created +before. +

+

+The names of the MOA SP/SS API classes have been chosen to correspond to the +MOA SP/SS schema elements. The structure of the classes (i.e., their fields) +also corresponds to the structure of the respective MOA SP/SS schema elements. +However, a few classes escape this naming convention, mainly because the +corresponding schema elements contain xsd:choice components: +

    +
  • The various Profile classes have subclasses called +ProfileID and ProfileExplicit +(e.g., {@link at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileID} and +{@link at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileExplicit}), +so that the profile can be given either as an ID (which is to be resolved from the +MOA SP/SS configuration) or explicitly.
  • +
  • The classes {@link at.gv.egovernment.moa.spss.api.common.Content}, +{@link at.gv.egovernment.moa.spss.api.cmsverify.CMSContent} and +{@link at.gv.egovernment.moa.spss.api.xmlverify.TransformParameter} have +subclasses specifying the type of content they actually contain. E.g., +{@link at.gv.egovernment.moa.spss.api.common.ContentBinary} will contain +a byte stream.
  • +
+ +

+

+For clarity, the MOA SP/SS API classes have been organized in several packages +listed in the following table: +

+ + + + + + + + + + + + + + + + + + + + + +
PackagePurpose
{@link at.gv.egovernment.moa.spss.api.xmlsign}Components of the {@link at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest} and + {@link at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse}
{@link at.gv.egovernment.moa.spss.api.cmsverify}Components of the + {@link at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest} and + {@link at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse}
{@link at.gv.egovernment.moa.spss.api.xmlverify}Components of the + {@link at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest} and + {@link at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse}
{@link at.gv.egovernment.moa.spss.api.common}Common components used across the classes of the above packages
+ +

Converting MOA SP/SS API objects to and from DOM trees

+The package {@link at.gv.egovernment.moa.spss.api.xmlbind} contains helper +classes to: +
    +
  • Parse a DOM tree containing a CreateXMLSignatureRequest, +VerifyCMSSignatureRequest or +VerifyCMSSignatureRequest into its respective MOA SP/SS API object +representation. For example, to parse a CreateXMLSignatureRequest +DOM tree, the {@link at.gv.egovernment.moa.spss.api.xmlbind.CreateXMLSignatureRequestParser#parse(org.w3c.dom.Element) CreateXMLSignatureRequestParser.parse()} +method can be used.
    +Note: The DOM tree of the request must be derived from a schema valid +XML document. Otherwise, unexpected behaviour will almost certainly result.
  • +
  • Build a CreateXMLSignatureResponse, +VerifyCMSSignatureResponse or a +VerifyXMLSignatureResponse DOM tree from the respective MOA SP/SS +API object. For example, to build a VerifyXMLSignatureResponse +DOM tree, the {@link at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureResponseBuilder#build(at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse) VerifyXMLSignatureResponseBuilder.build()} +can be used.
    +Note:The serialized DOM tree will be schema valid. +
  • +
+The DOM trees can easily be read from and written to XML byte streams using +the methods in the {@link at.gv.egovernment.moa.util.DOMUtils} class. +
+ +

Utilities and Logging

+

The packages {@link at.gv.egovernment.moa.util} and +{@link at.gv.egovernment.moa.spss.util} contain utility classes developed for +the MOA SP/SS implementation. Since the classes contained in these packages are +tailored towards the MOA SP/SS implementation, they are far from being complete +in the sense of providing a utility class library. Therefore, they may or may +not prove useful in the context of your application. Their interfaces may also +change in future releases. +

+ +

The package {@link at.gv.egovernment.moa.logging} contains classes for +logging messages to the MOA SP/SS log hierarchy via the +{@link at.gv.egovernment.moa.logging.Logger} class. +

+ +

Related Documentation

+ +See also the API example in the +MOA SP/SS documentation. + + + \ No newline at end of file diff --git a/spss/server/serverws/assembly.xml b/spss/server/serverws/assembly.xml deleted file mode 100644 index a28fbfecf..000000000 --- a/spss/server/serverws/assembly.xml +++ /dev/null @@ -1,71 +0,0 @@ - - ws - - war - - - false - - - - ${basedir}/resources/wsdl/MOA-SPSS-1.3.xsd - /resources/schemas - - - - - - ${basedir}/../../handbook/conf/moa-spss - /WEB-INF/conf/moa-spss - - - ${basedir}/src/main/webapp/WEB-INF - /WEB-INF - - - - additional/licenses - /dist/ws/licenses - - - - ${basedir}/../../../common/target - /WEB-INF/lib - - **/*.jar - - - - - - - - - axis:axis - commons-discovery:commons-discovery - commons-logging:commons-logging - iaik.prod:iaik_cms - iaik.prod:iaik_ixsil - iaik.prod:iaik_moa_full - iaik.prod:iaik_Pkcs11Wrapper - jaxen:jaxen-core - jaxen:jaxen-dom - jaxp:dom - jaxp:jaxp-api - javaext:jaxrpc - log4j:log4j - postgresql:postgresql - saaj:saaj - sax:sax - saxpath:saxpath - wsdl4j:wsdl4j - xalan:xalan - xerces:xercesImpl - xerces:xmlParserAPIs - MOA.spss.server:serverlib - - /WEB-INF/lib - - - - \ No newline at end of file diff --git a/spss/server/serverws/pom.xml b/spss/server/serverws/pom.xml index 8fb467bb2..382e19d46 100644 --- a/spss/server/serverws/pom.xml +++ b/spss/server/serverws/pom.xml @@ -1,145 +1,66 @@ - - MOA.spss - server - 1.4.0 - + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + MOA.spss + moa-spss + 1.4.0 + - 4.0.0 - MOA.spss.server - serverweb - pom - 1.4.0 - MOA SPSS Server-Web + 4.0.0 + MOA.spss.server + moa-spss-ws + war + 1.4.0 + MOA SP/SS WebService - - ${basedir}/../../../buildhelper - - - - - - maven-assembly-plugin - - - ${basedir}/assembly.xml - - - - - mk - package - - attached - - - - - - - - - - axis - axis - - - commons-discovery - commons-discovery - - - commons-logging - commons-logging - - - jaxen - jaxen-core - - - jaxen - jaxen-dom - - - jaxp - dom - - - jaxp - jaxp-api - - - javaext - jaxrpc - - - log4j - log4j - - - postgresql - postgresql - - - saaj - saaj - - - sax - sax - runtime - - - saxpath - saxpath - runtime - - - wsdl4j - wsdl4j - - - xalan - xalan - - - xerces - xercesImpl - - - xerces - xmlParserAPIs - + + ${basedir}/../../../repository + - - MOA.spss.server - serverlib - ${project.version} - - - MOA - common - + + + + org.apache.maven.plugins + maven-war-plugin + 2.0.2 + + + + false + true + + + moa-spss + + + ${basedir}/resources/wsdl + resources/schemas + + *.xsd + + + + ${basedir}/../../handbook + WEB-INF + + conf/** + + + + + + + - - iaik.prod - iaik_cms - runtime - - - iaik.prod - iaik_moa_full - runtime - - - iaik.prod - iaik_ixsil - runtime - - - iaik.prod - iaik_Pkcs11Wrapper - runtime - - + + + MOA.spss.server + moa-spss-lib + ${project.version} + + + MOA + moa-common + + diff --git a/spss/server/tools/pom.xml b/spss/server/tools/pom.xml new file mode 100644 index 000000000..9ecc2b240 --- /dev/null +++ b/spss/server/tools/pom.xml @@ -0,0 +1,34 @@ + + + MOA.spss + moa-spss + 1.4.0 + + + 4.0.0 + MOA.spss.server + moa-spss-tools + jar + 1.4.0 + MOA SP/SS Tools + + + ${basedir}/../../../buildhelper + + + + + MOA.spss.server + moa-spss-lib + ${project.version} + + + iaik.prod + iaik_ecc + compile + + + + diff --git a/spss/server/tools/src/main/java/at/gv/egovernment/moa/spss/server/tools/CertTool.java b/spss/server/tools/src/main/java/at/gv/egovernment/moa/spss/server/tools/CertTool.java new file mode 100644 index 000000000..9fe17eae2 --- /dev/null +++ b/spss/server/tools/src/main/java/at/gv/egovernment/moa/spss/server/tools/CertTool.java @@ -0,0 +1,242 @@ +package at.gv.egovernment.moa.spss.server.tools; + +import java.io.BufferedInputStream; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.io.PrintStream; +import java.security.cert.CertificateException; + +import iaik.asn1.structures.Name; +import iaik.pki.store.certstore.CertStoreException; +import iaik.pki.store.certstore.CertStoreTypes; +import iaik.pki.store.certstore.directory.DirectoryCertStore; +import iaik.pki.store.certstore.directory.DirectoryCertStoreParameters; +import iaik.pki.store.certstore.directory.DirectoryStoreException; +import iaik.security.ecc.provider.ECCProvider; +import iaik.security.provider.IAIK; +import iaik.utils.RFC2253NameParserException; +import iaik.x509.X509Certificate; + +/** + * A tool to support X509 certificate handling for configuring the MOA SP/SS + * service. + * + * This class provides functions for: + *
    + *
  • printing certificate information
  • + *
  • adding certificates to the cert store
  • + *
+ * + * @author Patrick Peck + * @version $Id$ + */ +public class CertTool { + + /** Error message if the DN cannot be parsed according to RFC2253. */ + private static final String ILLEGAL_RFC2253_NAME = + "Kein gültiger RFC2253-Name"; + + /** + * Main entry point of the tool. + * + * @param args The command line arguments. A single argument is expected, + * which is the file name of the X509 certificate to inspect. + */ + public static void main(String args[]) { + CertTool certTool = new CertTool(); + + if (args.length == 2 && "-info".equals(args[0])) { + initProviders(); + certTool.printCertInfo(args[1], System.out); + } else if (args.length == 3 && "-add".equals(args[0])) { + initProviders(); + certTool.addCertToCertStore(args[1], args[2]); + } else { + certTool.printUsage(System.err); + } + } + + /** + * Init the JCE providers, depending on the JDK used. + * + * Adds the IAIK JCE and IAIK ECC providers. + */ + private static void initProviders() { + if (System.getProperty("java.version").startsWith("1.3")) { + IAIK.addAsProvider(); + } else { + IAIK.addAsJDK14Provider(); + } + ECCProvider.addAsProvider(); + } + + /** + * Print the information about the certificate. + * + * This method will output information about the Subject DN, the Issuer DN and + * the serial number of the certificate. + * + * @param certFile The name of the certificate file to inspect. + * @param out The stream to print the information to. + */ + public void printCertInfo(String certFile, PrintStream out) { + try { + InputStream is = new BufferedInputStream(new FileInputStream(certFile)); + X509Certificate cert = new X509Certificate(is); + String issuerDN; + String serial; + String subjectDN; + + try { + subjectDN = ((Name) (cert.getSubjectDN())).getRFC2253String(); + } catch (RFC2253NameParserException e) { + subjectDN = ILLEGAL_RFC2253_NAME; + } + + try { + issuerDN = ((Name) (cert.getIssuerDN())).getRFC2253String(); + } catch (RFC2253NameParserException e) { + issuerDN = ILLEGAL_RFC2253_NAME; + } + + serial = cert.getSerialNumber().toString(); + + out.println("SubjectDN (RFC2253): " + subjectDN); + out.println("IssuerDN (RFC2253) : " + issuerDN); + out.println("Serial Number : " + serial); + } catch (FileNotFoundException e) { + System.err.println("Zertifikat nicht gefunden: " + certFile); + } catch (IOException e) { + System.err.println( + "I/O Fehler beim Lesen des Zertifikats: " + e.getMessage()); + } catch (CertificateException e) { + System.err.println( + "Fehler beim Lesen des Zertifikats: " + e.getMessage()); + } catch (Throwable t) { + System.err.println("Allgemeiner Fehler: " + t.getMessage()); + } + } + + /** + * Add a certificate to a directory certificate store. + * + * @param certFile The certificate to add. + * @param certStoreRoot The root directory of the certificate store. + */ + public void addCertToCertStore(String certFile, String certStoreRoot) { + try { + // read the certificate + InputStream is = new BufferedInputStream(new FileInputStream(certFile)); + X509Certificate cert = new X509Certificate(is); + + // initialize the DirectoryCertStore + DirectoryCertStore certStore = + new DirectoryCertStore( + new SimpleDirectoryCertStoreParameters(certStoreRoot), + null); + + certStore.storeCertificate(cert, null); + + System.out.println("\nDas Zertifikat wurde erfolreich hinzugefügt.\n"); + + } catch (FileNotFoundException e) { + System.err.println("Zertifikat nicht gefunden: " + certFile); + } catch (IOException e) { + System.err.println( + "I/O Fehler beim Lesen des Zertifikats: " + e.getMessage()); + } catch (CertificateException e) { + System.err.println( + "Fehler beim Lesen des Zertifikats: " + e.getMessage()); + } catch (DirectoryStoreException e) { + System.err.println( + "Fehler beim Öffnen des Zertifikatsspeichers: " + e.getMessage()); + } catch (CertStoreException e) { + System.err.println( + "Fehler beim Hinzufügen des Zertifikats: " + e.getMessage()); + } catch (Throwable t) { + System.err.println("Allgemeiner Fehler: " + t.getMessage()); + t.printStackTrace(); + } + } + + /** + * Print tool usage. + * + * @param out The PrintStream to print to. + */ + private void printUsage(PrintStream out) { + out.println("\nCerttool-Syntax:\n"); + out.println("-info "); + out.println("\n"); + } + +} + +/** + * Simple implementation of the DirectoryCertStoreParameters + * interface intelligent enough for setting up a simple + * DirectoryCertStore in the CertTool. + * + * @author Patrick Peck + * @version $Id$ + */ +class SimpleDirectoryCertStoreParameters + implements DirectoryCertStoreParameters { + + /** The cert store root directory. */ + private String rootDirectory; + + /** + * Create a new SimpleDirectoryCertStoreParameters object. + * + * @param rootDirectory The root directory of the cert store. + */ + public SimpleDirectoryCertStoreParameters(String rootDirectory) { + this.rootDirectory = rootDirectory; + } + + /** + * @return "MOA Directory CertStore" + * @see iaik.pki.store.certstore.CertStoreParameters#getId() + */ + public String getId() { + return "MOA Directory CertStore"; + } + + /** + * @return CertStoreTypes.DIRECTORY + * @see iaik.pki.store.certstore.CertStoreParameters#getType() + */ + public String getType() { + return CertStoreTypes.DIRECTORY; + } + + /** + * @return false + * @see iaik.pki.store.certstore.CertStoreParameters#isReadOnly() + */ + public boolean isReadOnly() { + return false; + } + + /** + * @return false + * @see iaik.pki.store.certstore.directory.DirectoryCertStoreParameters#createNew() + */ + public boolean createNew() { + return false; + } + + /** + * @return The root directory given at construction time. + * @see iaik.pki.store.certstore.directory.DirectoryCertStoreParameters#getRootDirectory() + */ + public String getRootDirectory() { + return rootDirectory; + } + +} \ No newline at end of file diff --git a/spss/server/tools/src/main/java/at/gv/egovernment/moa/spss/server/tools/ConfigTool.java b/spss/server/tools/src/main/java/at/gv/egovernment/moa/spss/server/tools/ConfigTool.java new file mode 100644 index 000000000..d5c3b48c1 --- /dev/null +++ b/spss/server/tools/src/main/java/at/gv/egovernment/moa/spss/server/tools/ConfigTool.java @@ -0,0 +1,59 @@ +package at.gv.egovernment.moa.spss.server.tools; + +import java.io.FileNotFoundException; +import java.io.FileOutputStream; + +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerConfigurationException; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.stream.StreamResult; +import javax.xml.transform.stream.StreamSource; + +/** + * A tool for converting a MOA SPSS Version 1.0 configuration file into + * a Version 1.3 configuration file. + * + * @author Gregor Karlinger + * @version $Id$ + */ +public class ConfigTool +{ + public static void main(String[] args) + { + if (args == null || args.length != 2) + { + System.out.println("Usage: ConfigTool "); + System.out.println(" ... Old config file to be transformed"); + System.out.println(" ... New config file resulting from the transform"); + System.exit(-1); + } + + try + { + TransformerFactory tFactory = TransformerFactory.newInstance(); + Transformer transformer = tFactory.newTransformer(new StreamSource( + ConfigTool.class.getResourceAsStream("/resources/tools/ConfigurationMapper.xsl"))); + transformer.transform(new StreamSource(args[0]), new StreamResult(new FileOutputStream(args[1]))); + + System.out.println("Successfully mapped configuration file."); + } + catch (TransformerConfigurationException e) + { + System.err.println("An error occurred during mapping the configuration file:"); + System.err.println(" Cannot initialize XSLT transform."); + System.err.println(" " + e.getMessage()); + } + catch (FileNotFoundException e) + { + System.err.println("An error occurred during mapping the configuration file:"); + System.err.println(" There is a problem with the filename for the new configuration file."); + System.err.println(" " + e.getMessage()); + } + catch (TransformerException e) + { + System.err.println("An error occurred during mapping the configuration file:"); + System.err.println(" " + e.getMessage()); + } + } +} -- cgit v1.2.3 From 74a6925a47adaac292b3e2da326b08adc0239235 Mon Sep 17 00:00:00 2001 From: pdanner Date: Tue, 4 Sep 2007 13:55:12 +0000 Subject: version change to 1.4.1 git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@985 d688527b-c9ab-4aba-bd8d-4036d912da1d --- common-test/pom.xml | 4 +- common/pom.xml | 4 +- id/history.txt | 16 ++ id/oa/pom.xml | 2 +- id/pom.xml | 4 +- id/readme_1.4.0.txt | 4 +- id/readme_1.4.1.txt | 209 +++++++++++++++++++++++++++ id/server/auth/pom.xml | 4 +- id/server/doc/MOA-Testzertifikate.pdf | Bin 0 -> 33476 bytes id/server/idserverlib/pom.xml | 4 +- id/server/pom.xml | 4 +- id/server/proxy/pom.xml | 4 +- id/templates/pom.xml | 4 +- pom.xml | 6 +- spss/handbook/clients/api/pom.xml | 14 +- spss/handbook/clients/pom.xml | 14 +- spss/handbook/clients/referencedData/pom.xml | 14 +- spss/handbook/clients/webservice/pom.xml | 14 +- spss/handbook/pom.xml | 14 +- spss/pom.xml | 4 +- spss/server/history.txt | 7 + spss/server/pom.xml | 4 +- spss/server/readme.update.txt | 18 +-- spss/server/serverlib/pom.xml | 14 +- spss/server/serverws/pom.xml | 4 +- spss/server/tools/pom.xml | 4 +- 26 files changed, 313 insertions(+), 81 deletions(-) create mode 100644 id/readme_1.4.1.txt create mode 100644 id/server/doc/MOA-Testzertifikate.pdf (limited to 'id/oa') diff --git a/common-test/pom.xml b/common-test/pom.xml index 73c8ae304..029e0e61d 100644 --- a/common-test/pom.xml +++ b/common-test/pom.xml @@ -4,13 +4,13 @@ MOA MOA - 1.4.0 + 1.4.1 4.0.0 MOA moa-common-test - 1.4.0 + 1.4.1 jar MOA common test-library diff --git a/common/pom.xml b/common/pom.xml index 84b4c7981..feb9aa0d4 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -4,12 +4,12 @@ MOA MOA - 1.4.0 + 1.4.1 4.0.0 MOA moa-common - 1.4.0 + 1.4.1 jar MOA common library diff --git a/id/history.txt b/id/history.txt index 09f9c42ec..7ecc0d34d 100644 --- a/id/history.txt +++ b/id/history.txt @@ -3,6 +3,22 @@ von MOA-ID auf. History MOA-ID: +===== +Version MOA-ID 1.4.1: Änderungen seit Version MOA-ID 1.4.0: + +- Es wurden neue Testzertifikate ausgestellt, da die bisherigen abgelaufen sind + (siehe id/server/doc/MOA-Testzertifikate.pdf). + +- Zum Testen von MOA-ID für Personen ohne Bürgerkarte, wurde die + Bürgerkartenumgebung SeLaN (XSeLaN) angepasst und mit neuen Zertifikaten + versehen. Sie ist unter https://demo.a-sit.at/buergerkarte/security_kapsel/ + resources/XSeLaN-1.0.6-withjre.zip mit einer kompletten Java Runtime Umgebung + bzw. unter https://demo.a-sit.at/buergerkarte/security_kapsel/resources/ + XSeLaN-1.0.6-nojre.zip ohne Runtime Umgebung beziehbar. + +- Die Projektstruktur wurde eimem Maven Build-Prozess unterlegt. Der Sourcocde + ab dieser Version unter http://egovlabs.gv.at/scm/?group_id=6 verfügbar. + ===== Version MOA-ID 1.4.0: Änderungen seit Version MOA-ID 1.3.3: diff --git a/id/oa/pom.xml b/id/oa/pom.xml index 4f6d64b66..b712c5dde 100644 --- a/id/oa/pom.xml +++ b/id/oa/pom.xml @@ -5,7 +5,7 @@ MOA oa war - 1.4.0 + 1.4.1 MOA Sample OA diff --git a/id/pom.xml b/id/pom.xml index ca374f78b..71c1ad7cc 100644 --- a/id/pom.xml +++ b/id/pom.xml @@ -3,14 +3,14 @@ MOA MOA - 1.4.0 + 1.4.1 4.0.0 MOA id pom - 1.4.0 + 1.4.1 MOA ID diff --git a/id/readme_1.4.0.txt b/id/readme_1.4.0.txt index 9d5d1d3a2..464d95433 100644 --- a/id/readme_1.4.0.txt +++ b/id/readme_1.4.0.txt @@ -1,5 +1,5 @@ =============================================================================== -MOA ID Version 1.4.0 - Wichtige Informationen zur Installation +MOA ID Version 1.4.x - Wichtige Informationen zur Installation =============================================================================== ------------------------------------------------------------------------------- @@ -61,7 +61,7 @@ C.1 Durchf 1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird. Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an. -2. Entpacken Sie die Distribution von MOA ID Auth (moa-id-auth-1.3.3.zip) in +2. Entpacken Sie die Distribution von MOA ID Auth (moa-id-auth-1.4.0.zip) in ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST bezeichnet. diff --git a/id/readme_1.4.1.txt b/id/readme_1.4.1.txt new file mode 100644 index 000000000..ca792e07d --- /dev/null +++ b/id/readme_1.4.1.txt @@ -0,0 +1,209 @@ +=============================================================================== +MOA ID Version 1.4.1 - Wichtige Informationen zur Installation +=============================================================================== + +------------------------------------------------------------------------------- +A. Neuerungen/Änderungen +------------------------------------------------------------------------------- + +MOA-ID 1.4.1 enthält gegenüber der Version MOA ID 1.4.0 keine Neuigkeiten oder +größere Änderungen. Es wurde mit diesem Versionssprung die Projektstruktur +angepasst und der Build-Prozess mittels Maven (http://maven.apache.org/) +optimiert. Der Inhalt und Funktion dieser Distribution ist derselbe wie von +Version 1.4.0. Anstatt jedoch eine Source Distribution beizulegen, ist ab +MOA-ID Version 1.4.1 der Sourcecode mittels Versionskontrollsystem Subversion +über die Open-Source Plattform http://egovlabs.gv.at/ zugänglich ( +http://egovlabs.gv.at/scm/?group_id=6). + +------------------------------------------------------------------------------- +D. Durchführung des Updates +------------------------------------------------------------------------------- + +............................................................................... +D.1 Durchführung eines Updates von Version 1.4.0 +............................................................................... + +1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird. + Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an. + +2. Entpacken Sie die Distribution von MOA ID Auth (moa-id-auth-1.4.1.zip) in + ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST + bezeichnet. + +3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth + beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps, + wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation + für MOA ID steht). Löschen Sie darin sowohl die Datei moa-id-auth.war als + auch das komplette Verzeichnis moa-id-auth. + +4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach + CATALINA_HOME_ID/webapps. + +5. Kopieren Sie die vier Dateien aus dem Verzeichnis + MOA_ID_AUTH_INST/conf/moa-id/transforms in das Verzeichnis transforms Ihres + Stammverzeichnisses für die MOA ID Konfiguration (für gewöhnlich lautet + dieses Stammverzeichnis CATALINA_HOME_ID/conf/moa-id; in weiterer Folge wird + davon ausgegangen). + +6. Kopieren Sie die vier Dateien aus dem Verzeichnis + MOA_ID_AUTH_INST/conf/moa-spss/profiles in das Verzeichnis profiles Ihres + Stammverzeichnisses für die MOA SPSS Konfiguration (für gewöhnlich lautet + dieses Stammverzeichnis CATALINA_HOME_SPSS/conf/moa-spss, wobei + CATALINA_HOME_SPSS für das Basisverzeichnis der Tomcat-Installation + für MOA SPSS steht; wenn Sie MOA SPSS nicht als eigenes Webservice + betreiben, sondern es von MOA ID über die API-Schnittstelle angesprochen + wird, lautet dieses Stammverzeichnis für gewöhnlich + CATALINA_HOME_ID/conf/moa-spss; in weiterer Folge wird von letzterer + Variante ausgegangen). + +7. Sollen zusätzliche Templates für ältere Bürgerkartenumgebungen aktiviert + werden, öffnen Sie die XML-Konfiguration von MOA ID (für gewöhnlich finden + Sie diese XML-Datei direkt im Stammverzeichnis für die MOA ID Konfiguration, + z.B. CATALINA_HOME_ID/conf/moa-id/SampleMOAIDConfiguration.xml); führen Sie + folgende Modifikationen an der XML-Konfiguration durch: + + a. Ändern Sie die applikationsübergreifende Konfiguration der AuthBlock + Transformationen. Sie finden diese Konfiguration im XML-Element + /MOA-IDConfiguration/AuthComponent/SecurityLayer. Fügen Sie zusätzlich zum + bisherigen Inhalt dieses Elements (für gewöhnlich ein Element + TransformsInfo, dessen Attribut filname den Wert + transforms/TransformsInfoAuthBlockText.xml aufweist) ein Element + TransformsInfo an, dessen Attribut filename auf die Datei für ältere BKU + zeigt. Sie können auch auf die vordefinierten Elemente aus den + Musterkonfigurationen dieser Distribution ( + MOA_ID_AUTH_INST/conf/moa-id/SampleMOAIDConfiguration.xml) zurückgreifen. + + b. Fügen Sie Profilbezeichner für die Transformationsprofile in der + Konfiguration für MOA SP an. Sie finden diesen Bezeichner im XML- + Element /MOA-IDConfiguration/AuthComponent/MOA-SP/VerifyAuthBlock. + Hängen Sie ein Element VerifyTransformsInfoProfileID an, das für die Über- + prüfung der Transformation älterer BKU vorgesehen ist. + Siehe auch Inhalt des Elements VerifyAuthBlock aus der Musterkonfiguration + dieser Distribution ( + MOA_ID_AUTH_INST/conf/moa-id/SampleMOAIDConfiguration.xml). + + c. Ändern Sie gegebenenfalls die applikationsspezifische Konfiguration + der Authblock-Tranformationen. Führen Sie dazu die folgende Tätigkeit + für jedes XML-Element /MOA-IDConfiguration/OnlineApplicaton/AuthComponent + durch: Fügen Sie zusätzlich zu einem bestehenden Element TransformsInfo + ein Elemnet TransformsInfo an, das die Transformation für ältere BKU + enthält - gleich wie dies bereits in Schritt a. durchgeführt wurde (wenn + Sie dieses Element nicht vorfinden, oder es auskommentiert ist, muss + Schritt c. nicht durchgeführt werden). + + Öffnen Sie die XML-Konfiguration von MOA SPSS (für gewöhnlich finden Sie + XML-Datei direkt im Stammverzeichnisses für die MOA SPSS Konfiguration, z.B. + CATALINA_HOME_ID/conf/moa-spss/SampleMOASPSSConfiguration.xml); führen Sie + folgende Modifikationen an der XML-Konfiguration durch: + + a. Ändern Sie die konfigurierten Profile für die zulässigen Transformationen + über die signierten Daten. Sie finden diese Profile am Ende der XML-Konfi- + guration von MOA SPSS (Elemente des Namens + cfg:VerifyTransformsInfoProfile). Fügen Sie zusätzlich zu den vorkommenden + Elementen dieses Namens (für gewöhnlich zwei Elemente) zwei weitere + Elemente dieses Namens hinzu, die die Profile für die älteren Bürger- + kartenumgebungen aufnehmen - diese sind durch den Namensteil "_deprecated" + gekennzeichnet (siehe auch Musterkonfigurationen dieser Distribution + MOA_ID_AUTH_INST/conf/moa-spss/SampleMOASPSSConfiguration.xml). + +8. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im + Logging von MOA ID beim Einlesen der erneuerten Konfiguration. + +............................................................................... +D.2 Durchführung eines Updates von Version 1.3.1, 1.3.2 oder 1.3.3 +............................................................................... + +1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird. + Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an. + +2. Entpacken Sie die Distribution von MOA ID Auth (moa-id-auth-1.4.1.zip) in + ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST + bezeichnet. + +3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth + beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps, + wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation + für MOA ID steht). Löschen Sie darin sowohl die Datei moa-id-auth.war als + auch das komplette Verzeichnis moa-id-auth. + +4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach + CATALINA_HOME_ID/webapps. + +5. Kopieren Sie die vier Dateien aus dem Verzeichnis + MOA_ID_AUTH_INST/conf/moa-id/transforms in das Verzeichnis transforms Ihres + Stammverzeichnisses für die MOA ID Konfiguration (für gewöhnlich lautet + dieses Stammverzeichnis CATALINA_HOME_ID/conf/moa-id; in weiterer Folge wird + davon ausgegangen). + +6. Kopieren Sie die vier Dateien aus dem Verzeichnis + MOA_ID_AUTH_INST/conf/moa-spss/profiles in das Verzeichnis profiles Ihres + Stammverzeichnisses für die MOA SPSS Konfiguration (für gewöhnlich lautet + dieses Stammverzeichnis CATALINA_HOME_SPSS/conf/moa-spss, wobei + CATALINA_HOME_SPSS für das Basisverzeichnis der Tomcat-Installation + für MOA SPSS steht; wenn Sie MOA SPSS nicht als eigenes Webservice + betreiben, sondern es von MOA ID über die API-Schnittstelle angesprochen + wird, lautet dieses Stammverzeichnis für gewöhnlich + CATALINA_HOME_ID/conf/moa-spss; in weiterer Folge wird von letzterer + Variante ausgegangen). + +7. Sollen zusätzliche Templates für ältere Bürgerkartenumgebungen aktiviert + werden, öffnen Sie die XML-Konfiguration von MOA ID (für gewöhnlich finden + Sie diese XML-Datei direkt im Stammverzeichnis für die MOA ID Konfiguration, + z.B. CATALINA_HOME_ID/conf/moa-id/SampleMOAIDConfiguration.xml); führen Sie + folgende Modifikationen an der XML-Konfiguration durch: + + a. Ändern Sie die applikationsübergreifende Konfiguration der AuthBlock + Transformationen. Sie finden diese Konfiguration im XML-Element + /MOA-IDConfiguration/AuthComponent/SecurityLayer. Fügen Sie zusätzlich zum + bisherigen Inhalt dieses Elements (für gewöhnlich ein Element + TransformsInfo, dessen Attribut filname den Wert + transforms/TransformsInfoAuthBlockText.xml aufweist) ein Element + TransformsInfo an, dessen Attribut filename auf die Datei für ältere BKU + zeigt. Sie können auch auf die vordefinierten Elemente aus den + Musterkonfigurationen dieser Distribution ( + MOA_ID_AUTH_INST/conf/moa-id/SampleMOAIDConfiguration.xml) zurückgreifen. + + b. Fügen Sie Profilbezeichner für die Transformationsprofile in der + Konfiguration für MOA SP an. Sie finden diesen Bezeichner im XML- + Element /MOA-IDConfiguration/AuthComponent/MOA-SP/VerifyAuthBlock. + Hängen Sie ein Element VerifyTransformsInfoProfileID an, das für die Über- + prüfung der Transformation älterer BKU vorgesehen ist. + Siehe auch Inhalt des Elements VerifyAuthBlock aus der Musterkonfiguration + dieser Distribution ( + MOA_ID_AUTH_INST/conf/moa-id/SampleMOAIDConfiguration.xml). + + c. Ändern Sie gegebenenfalls die applikationsspezifische Konfiguration + der Authblock-Tranformationen. Führen Sie dazu die folgende Tätigkeit + für jedes XML-Element /MOA-IDConfiguration/OnlineApplicaton/AuthComponent + durch: Fügen Sie zusätzlich zu einem bestehenden Element TransformsInfo + ein Elemnet TransformsInfo an, das die Transformation für ältere BKU + enthält - gleich wie dies bereits in Schritt a. durchgeführt wurde (wenn + Sie dieses Element nicht vorfinden, oder es auskommentiert ist, muss + Schritt c. nicht durchgeführt werden). + + Öffnen Sie die XML-Konfiguration von MOA SPSS (für gewöhnlich finden Sie + XML-Datei direkt im Stammverzeichnisses für die MOA SPSS Konfiguration, z.B. + CATALINA_HOME_ID/conf/moa-spss/SampleMOASPSSConfiguration.xml); führen Sie + folgende Modifikationen an der XML-Konfiguration durch: + + a. Ändern Sie die konfigurierten Profile für die zulässigen Transformationen + über die signierten Daten. Sie finden diese Profile am Ende der XML-Konfi- + guration von MOA SPSS (Elemente des Namens + cfg:VerifyTransformsInfoProfile). Fügen Sie zusätzlich zu den vorkommenden + Elementen dieses Namens (für gewöhnlich zwei Elemente) zwei weitere + Elemente dieses Namens hinzu, die die Profile für die älteren Bürger- + kartenumgebungen aufnehmen - diese sind durch den Namensteil "_deprecated" + gekennzeichnet (siehe auch Musterkonfigurationen dieser Distribution + MOA_ID_AUTH_INST/conf/moa-spss/SampleMOASPSSConfiguration.xml). + +8. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im + Logging von MOA ID beim Einlesen der erneuerten Konfiguration. + +............................................................................... +B.3 Durchführung eines Updates von einer älteren Version +............................................................................... + +Bitte führen Sie eine Neuinstallation von MOA ID laut Handbuch durch und passen +Sie die mitgelieferte Musterkonfiguration entsprechend Ihren Bedürfnissen unter +Zuhilfenahme Ihrer bisherigen Konfiguration an. + diff --git a/id/server/auth/pom.xml b/id/server/auth/pom.xml index 54f7ee54e..869d94c2e 100644 --- a/id/server/auth/pom.xml +++ b/id/server/auth/pom.xml @@ -4,14 +4,14 @@ MOA.id moa-id - 1.4.0 + 1.4.1 4.0.0 MOA.id.server moa-id-auth war - 1.4.0 + 1.4.1 MOA ID-Auth WebService diff --git a/id/server/doc/MOA-Testzertifikate.pdf b/id/server/doc/MOA-Testzertifikate.pdf new file mode 100644 index 000000000..a2c44f2a2 Binary files /dev/null and b/id/server/doc/MOA-Testzertifikate.pdf differ diff --git a/id/server/idserverlib/pom.xml b/id/server/idserverlib/pom.xml index ab67e2d50..9e673f6f5 100644 --- a/id/server/idserverlib/pom.xml +++ b/id/server/idserverlib/pom.xml @@ -3,14 +3,14 @@ MOA.id moa-id - 1.4.0 + 1.4.1 4.0.0 MOA.id.server moa-id-lib jar - 1.4.0 + 1.4.1 MOA ID API diff --git a/id/server/pom.xml b/id/server/pom.xml index eaa59d06f..fffc8d266 100644 --- a/id/server/pom.xml +++ b/id/server/pom.xml @@ -4,14 +4,14 @@ MOA id - 1.4.0 + 1.4.1 4.0.0 MOA.id moa-id pom - 1.4.0 + 1.4.1 MOA ID Server diff --git a/id/server/proxy/pom.xml b/id/server/proxy/pom.xml index 3c29d62b5..2cb7fedbd 100644 --- a/id/server/proxy/pom.xml +++ b/id/server/proxy/pom.xml @@ -4,7 +4,7 @@ MOA.id moa-id - 1.4.0 + 1.4.1 @@ -16,7 +16,7 @@ MOA.id.server moa-id-proxy war - 1.4.0 + 1.4.1 MOA ID-Proxy WebService diff --git a/id/templates/pom.xml b/id/templates/pom.xml index aa100b593..4498afdda 100644 --- a/id/templates/pom.xml +++ b/id/templates/pom.xml @@ -4,14 +4,14 @@ MOA id - 1.4.0 + 1.4.1 4.0.0 MOA.id moa-id-templates war - 1.4.0 + 1.4.1 MOA ID Sample Templates diff --git a/pom.xml b/pom.xml index 31871021b..67bc316a4 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ MOA MOA pom - 1.4.0 + 1.4.1 MOA @@ -157,13 +157,13 @@ MOA moa-common - 1.4.0 + 1.4.1 compile MOA moa-common-test - 1.4.0 + 1.4.1 test diff --git a/spss/handbook/clients/api/pom.xml b/spss/handbook/clients/api/pom.xml index 4c1e831c1..a6ae7660b 100644 --- a/spss/handbook/clients/api/pom.xml +++ b/spss/handbook/clients/api/pom.xml @@ -1,21 +1,21 @@ - MOA.spss.handbook.clients - moa-spss-handbook-clients - 1.4.0 + MOA.spss.handbook.clients + moa-spss-handbook-clients + 1.4.1 4.0.0 MOA.spss.handbook moa-spss-handbook-apiClient jar - 1.4.0 + 1.4.1 MOA SP/SS Handbook API Client - - ${basedir}/../../../../../repository - + + ${basedir}/../../../../../repository + diff --git a/spss/handbook/clients/pom.xml b/spss/handbook/clients/pom.xml index 2bfd24b45..7928905f3 100644 --- a/spss/handbook/clients/pom.xml +++ b/spss/handbook/clients/pom.xml @@ -1,16 +1,16 @@ - MOA.spss.handbook - moa-spss-handbook - 1.4.0 + MOA.spss.handbook + moa-spss-handbook + 1.4.1 4.0.0 MOA.spss.handbook.clients moa-spss-handbook-clients pom - 1.4.0 + 1.4.1 MOA SP/SS Handbook Clients @@ -19,8 +19,8 @@ webservice - - ${basedir}/../../../../repository - + + ${basedir}/../../../../repository + diff --git a/spss/handbook/clients/referencedData/pom.xml b/spss/handbook/clients/referencedData/pom.xml index 6ae59fe5e..23c3543df 100644 --- a/spss/handbook/clients/referencedData/pom.xml +++ b/spss/handbook/clients/referencedData/pom.xml @@ -1,21 +1,21 @@ - MOA.spss.handbook.clients - moa-spss-handbook-clients - 1.4.0 + MOA.spss.handbook.clients + moa-spss-handbook-clients + 1.4.1 4.0.0 MOA.spss.handbook moa-spss-handbook-referencedData war - 1.4.0 + 1.4.1 MOA SP/SS Handbook Referenced Data - - ${basedir}/../../../../../repository - + + ${basedir}/../../../../../repository + diff --git a/spss/handbook/clients/webservice/pom.xml b/spss/handbook/clients/webservice/pom.xml index b0307bc67..72312da54 100644 --- a/spss/handbook/clients/webservice/pom.xml +++ b/spss/handbook/clients/webservice/pom.xml @@ -1,21 +1,21 @@ - MOA.spss.handbook.clients - moa-spss-handbook-clients - 1.4.0 + MOA.spss.handbook.clients + moa-spss-handbook-clients + 1.4.1 4.0.0 MOA.spss.handbook.clients moa-spss-handbook-webserviceClient jar - 1.4.0 + 1.4.1 MOA SP/SS Handbook WebService Client - - ${basedir}/../../../../../repository - + + ${basedir}/../../../../../repository + diff --git a/spss/handbook/pom.xml b/spss/handbook/pom.xml index f9fa534c3..8323f1802 100644 --- a/spss/handbook/pom.xml +++ b/spss/handbook/pom.xml @@ -1,24 +1,24 @@ - MOA - spss - 1.4.0 + MOA + spss + 1.4.1 4.0.0 MOA.spss.handbook moa-spss-handbook pom - 1.4.0 + 1.4.1 MOA SP/SS Handbook clients - - ${basedir}/../../../repository - + + ${basedir}/../../../repository + diff --git a/spss/pom.xml b/spss/pom.xml index 687bd5f2b..aa06dee69 100644 --- a/spss/pom.xml +++ b/spss/pom.xml @@ -3,14 +3,14 @@ MOA MOA - 1.4.0 + 1.4.1 4.0.0 MOA spss pom - 1.4.0 + 1.4.1 MOA SP/SS diff --git a/spss/server/history.txt b/spss/server/history.txt index 4ae502a0d..d21fef433 100644 --- a/spss/server/history.txt +++ b/spss/server/history.txt @@ -1,3 +1,10 @@ +############## +1.4.1 +############## + +- Die Projektstruktur wurde eimem Maven Build-Prozess unterlegt. Der Sourcocde + ab dieser Version unter http://egovlabs.gv.at/scm/?group_id=6 verfügbar. + ############## 1.4.0 ############## diff --git a/spss/server/pom.xml b/spss/server/pom.xml index 0610de7c7..aa5db1624 100644 --- a/spss/server/pom.xml +++ b/spss/server/pom.xml @@ -3,14 +3,14 @@ MOA spss - 1.4.0 + 1.4.1 4.0.0 MOA.spss moa-spss pom - 1.4.0 + 1.4.1 MOA SP/SS Server diff --git a/spss/server/readme.update.txt b/spss/server/readme.update.txt index cfd7d5d13..9e35d570d 100644 --- a/spss/server/readme.update.txt +++ b/spss/server/readme.update.txt @@ -1,11 +1,11 @@ ====================================================================== - Update einer bestehenden MOA-SPSS-Installation auf Version 1.4.0 + Update einer bestehenden MOA-SPSS-Installation auf Version 1.4.1 ====================================================================== Es gibt zwei Möglichkeiten (im Folgenden als "Update Variante A" und "Update Variante B" bezeichnet), das Update von MOA-SPSS auf Version -1.4.0 durchzuführen. Update Variante A geht dabei den Weg über eine +1.4.1 durchzuführen. Update Variante A geht dabei den Weg über eine vorangestellte Neuinstallation, während Variante B direkt eine bestehende Installation aktualisiert. @@ -16,7 +16,7 @@ JAVA_HOME bezeichnet das Wurzelverzeichnis der JDK-Installation CATALINA_HOME bezeichnet das Wurzelverzeichnis der Tomcat-Installation MOA_SPSS_INST bezeichnet das Verzeichnis, in das Sie die Datei -moa-spss-1.4.0.zip entpackt haben. +moa-spss-1.4.1.zip entpackt haben. ================= @@ -55,23 +55,23 @@ Update Variante B 1.) Erstellen Sie eine Sicherungskopie des kompletten Tomcat-Verzeichnisses Ihrer MOA-SPSS-Installation. -2.) Entpacken Sie die Datei "moa-spss-1.4.0.zip" in das Verzeichnis MOA_SPSS_INST. +2.) Entpacken Sie die Datei "moa-spss-1.4.1.zip" in das Verzeichnis MOA_SPSS_INST. 3.) Erstellen Sie eine Sicherungskopie aller "iaik*.jar"-Dateien im Verzeichnis JAVA_HOME\jre\lib\ext und löschen Sie diese Dateien danach. 4.) Kopieren Sie alle Dateien aus dem Verzeichnis MOA_SPSS_INST\ext in das - Verzeichnis JAVA_HOME\jre\lib\ext (Achtung: Java 1.3.x wird nicht mehr - unterstützt). + Verzeichnis JAVA_HOME\jre\lib\ext (Achtung: Java 1.3.x wird nicht mehr + unterstützt). 5.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_SPSS_INST\endorsed in das Verzeichnis CATALINA_HOME\common\endorsed. Überschreiben Sie dabei etwaige gleichnamige Dateien. Die dort eventuell vorhandene Datei - xmlParserAPIs.jar ist zu löschen. + xmlParserAPIs.jar ist zu löschen. -6.) Löschen Sie das Verzeichnis CATALINA_HOME\webapps\moa-spss. +6.) Löschen Sie das Verzeichnis CATALINA_HOME\webapps\moa-spss. -7.) Ersetzen Sie die Datei CATALINA_HOME\webapps\moa-spss.war durch die Datei +7.) Ersetzen Sie die Datei CATALINA_HOME\webapps\moa-spss.war durch die Datei MOA_SPSS_INST\moa-spss.war. 8.) Löschen Sie das Verzeichnis CATALINA_HOME\work. diff --git a/spss/server/serverlib/pom.xml b/spss/server/serverlib/pom.xml index ae9c88171..49bc37ceb 100644 --- a/spss/server/serverlib/pom.xml +++ b/spss/server/serverlib/pom.xml @@ -1,21 +1,21 @@ - MOA.spss - moa-spss - 1.4.0 + MOA.spss + moa-spss + 1.4.1 4.0.0 MOA.spss.server moa-spss-lib jar - 1.4.0 + 1.4.1 MOA SP/SS API - - ${basedir}/../../../repository - + + ${basedir}/../../../repository + diff --git a/spss/server/serverws/pom.xml b/spss/server/serverws/pom.xml index f1503ba82..de0f511c2 100644 --- a/spss/server/serverws/pom.xml +++ b/spss/server/serverws/pom.xml @@ -3,14 +3,14 @@ MOA.spss moa-spss - 1.4.0 + 1.4.1 4.0.0 MOA.spss.server moa-spss-ws war - 1.4.0 + 1.4.1 MOA SP/SS WebService diff --git a/spss/server/tools/pom.xml b/spss/server/tools/pom.xml index 184d67554..3bfb747f8 100644 --- a/spss/server/tools/pom.xml +++ b/spss/server/tools/pom.xml @@ -3,14 +3,14 @@ MOA.spss moa-spss - 1.4.0 + 1.4.1 4.0.0 MOA.spss.server moa-spss-tools jar - 1.4.0 + 1.4.1 MOA SP/SS Tools -- cgit v1.2.3 From 4e12d1df5daab1f7600fa3a58e6fc535375224ff Mon Sep 17 00:00:00 2001 From: pdanner Date: Mon, 10 Sep 2007 15:16:34 +0000 Subject: moved test classes, cashing of resolved entities git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@1002 d688527b-c9ab-4aba-bd8d-4036d912da1d --- .../java/test/at/gv/egovernment/moa/AllTests.java | 38 --- .../test/at/gv/egovernment/moa/MOATestCase.java | 75 ---- .../at/gv/egovernment/moa/util/DOMUtilsTest.java | 137 -------- .../gv/egovernment/moa/util/DateTimeUtilsTest.java | 104 ------ .../gv/egovernment/moa/util/KeyStoreUtilsTest.java | 90 ----- .../at/gv/egovernment/moa/util/SSLUtilsTest.java | 160 --------- .../at/gv/egovernment/moa/util/URLDecoderTest.java | 29 -- .../at/gv/egovernment/moa/util/URLEncoderTest.java | 43 --- .../moa/util/XMLGrammarBuilderTest.java | 99 ------ .../at/gv/egovernment/moa/util/XPathUtilsTest.java | 51 --- common/pom.xml | 155 +++++---- .../at/gv/egovernment/moa/util/StreamUtils.java | 45 +++ .../java/test/at/gv/egovernment/moa/AllTests.java | 38 +++ .../test/at/gv/egovernment/moa/MOATestCase.java | 75 ++++ .../at/gv/egovernment/moa/util/DOMUtilsTest.java | 137 ++++++++ .../gv/egovernment/moa/util/DateTimeUtilsTest.java | 104 ++++++ .../gv/egovernment/moa/util/KeyStoreUtilsTest.java | 90 +++++ .../at/gv/egovernment/moa/util/SSLUtilsTest.java | 160 +++++++++ .../at/gv/egovernment/moa/util/URLDecoderTest.java | 29 ++ .../at/gv/egovernment/moa/util/URLEncoderTest.java | 43 +++ .../moa/util/XMLGrammarBuilderTest.java | 99 ++++++ .../at/gv/egovernment/moa/util/XPathUtilsTest.java | 51 +++ id/oa/pom.xml | 2 +- id/pom.xml | 6 +- id/server/auth/pom.xml | 4 +- id/server/idserverlib/pom.xml | 334 +++++++++--------- id/server/pom.xml | 40 +-- id/server/proxy/pom.xml | 16 +- id/templates/pom.xml | 4 +- pom.xml | 250 +++++++------- spss/handbook/clients/api/pom.xml | 6 +- spss/handbook/clients/pom.xml | 4 +- spss/handbook/clients/referencedData/pom.xml | 4 +- spss/handbook/clients/webservice/pom.xml | 6 +- spss/handbook/pom.xml | 4 +- spss/pom.xml | 4 +- spss/server/history.txt | 8 +- spss/server/pom.xml | 4 +- spss/server/serverlib/pom.xml | 4 +- .../moa/spss/server/invoke/DataObjectFactory.java | 119 +++++-- .../spss/server/invoke/ExternalURIResolver.java | 15 - .../invoke/XMLSignatureVerificationInvoker.java | 6 +- .../moa/spss/server/service/AxisHandler.java | 43 ++- .../server/service/SignatureCreationService.java | 13 +- .../server/transaction/TransactionContext.java | 131 +++++-- .../test/at/gv/egovernment/moa/spss/AllTests.java | 40 --- .../at/gv/egovernment/moa/spss/SPSSTestCase.java | 82 ----- .../egovernment/moa/spss/api/xmlbind/AllTests.java | 24 -- .../CreateXMLSignatureRequestParserTest.java | 71 ---- .../moa/spss/api/xmlbind/TransformParserTest.java | 113 ------ .../VerifyCMSSignatureRequestParserTest.java | 61 ---- .../VerifyXMLSignatureRequestParserTest.java | 81 ----- .../moa/spss/server/config/AllTests.java | 20 -- .../server/config/ConfigurationProviderTest1.java | 377 --------------------- .../server/config/ConfigurationProviderTest2.java | 225 ------------ .../server/config/ConfigurationProviderTest3.java | 166 --------- .../iaik/config/ConfigurationDataImplTest.java | 149 -------- .../server/iaik/config/IaikConfiguratorTest.java | 36 -- .../moa/spss/server/invoke/AllTests.java | 25 -- .../CMSSignatureVerificationInvokerTest.java | 63 ---- .../spss/server/invoke/DataObjectFactoryTest.java | 180 ---------- .../server/invoke/TransformationFactoryTest.java | 201 ----------- .../invoke/XMLSignatureCreationInvokerTest.java | 63 ---- .../XMLSignatureVerificationInvokerTest.java | 61 ---- .../moa/spss/server/tools/CertToolTest.java | 50 --- .../java/at/gv/egovernment/moa/spss/AllTests.java | 40 +++ .../at/gv/egovernment/moa/spss/SPSSTestCase.java | 82 +++++ .../egovernment/moa/spss/api/xmlbind/AllTests.java | 24 ++ .../CreateXMLSignatureRequestParserTest.java | 71 ++++ .../moa/spss/api/xmlbind/TransformParserTest.java | 113 ++++++ .../VerifyCMSSignatureRequestParserTest.java | 61 ++++ .../VerifyXMLSignatureRequestParserTest.java | 81 +++++ .../moa/spss/server/config/AllTests.java | 20 ++ .../server/config/ConfigurationProviderTest1.java | 377 +++++++++++++++++++++ .../server/config/ConfigurationProviderTest2.java | 225 ++++++++++++ .../server/config/ConfigurationProviderTest3.java | 166 +++++++++ .../iaik/config/ConfigurationDataImplTest.java | 149 ++++++++ .../server/iaik/config/IaikConfiguratorTest.java | 36 ++ .../moa/spss/server/invoke/AllTests.java | 25 ++ .../CMSSignatureVerificationInvokerTest.java | 63 ++++ .../spss/server/invoke/DataObjectFactoryTest.java | 180 ++++++++++ .../server/invoke/TransformationFactoryTest.java | 201 +++++++++++ .../invoke/XMLSignatureCreationInvokerTest.java | 63 ++++ .../XMLSignatureVerificationInvokerTest.java | 61 ++++ .../moa/spss/server/tools/CertToolTest.java | 50 +++ spss/server/serverws/pom.xml | 6 +- spss/server/tools/pom.xml | 6 +- 87 files changed, 3645 insertions(+), 3422 deletions(-) delete mode 100644 common-test/src/main/java/test/at/gv/egovernment/moa/AllTests.java delete mode 100644 common-test/src/main/java/test/at/gv/egovernment/moa/MOATestCase.java delete mode 100644 common-test/src/main/java/test/at/gv/egovernment/moa/util/DOMUtilsTest.java delete mode 100644 common-test/src/main/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java delete mode 100644 common-test/src/main/java/test/at/gv/egovernment/moa/util/KeyStoreUtilsTest.java delete mode 100644 common-test/src/main/java/test/at/gv/egovernment/moa/util/SSLUtilsTest.java delete mode 100644 common-test/src/main/java/test/at/gv/egovernment/moa/util/URLDecoderTest.java delete mode 100644 common-test/src/main/java/test/at/gv/egovernment/moa/util/URLEncoderTest.java delete mode 100644 common-test/src/main/java/test/at/gv/egovernment/moa/util/XMLGrammarBuilderTest.java delete mode 100644 common-test/src/main/java/test/at/gv/egovernment/moa/util/XPathUtilsTest.java create mode 100644 common/src/test/java/test/at/gv/egovernment/moa/AllTests.java create mode 100644 common/src/test/java/test/at/gv/egovernment/moa/MOATestCase.java create mode 100644 common/src/test/java/test/at/gv/egovernment/moa/util/DOMUtilsTest.java create mode 100644 common/src/test/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java create mode 100644 common/src/test/java/test/at/gv/egovernment/moa/util/KeyStoreUtilsTest.java create mode 100644 common/src/test/java/test/at/gv/egovernment/moa/util/SSLUtilsTest.java create mode 100644 common/src/test/java/test/at/gv/egovernment/moa/util/URLDecoderTest.java create mode 100644 common/src/test/java/test/at/gv/egovernment/moa/util/URLEncoderTest.java create mode 100644 common/src/test/java/test/at/gv/egovernment/moa/util/XMLGrammarBuilderTest.java create mode 100644 common/src/test/java/test/at/gv/egovernment/moa/util/XPathUtilsTest.java delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/AllTests.java delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/SPSSTestCase.java delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/AllTests.java delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest1.java delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest2.java delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest3.java delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/AllTests.java delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/AllTests.java create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/SPSSTestCase.java create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/AllTests.java create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest1.java create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest2.java create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest3.java create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/AllTests.java create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java (limited to 'id/oa') diff --git a/common-test/src/main/java/test/at/gv/egovernment/moa/AllTests.java b/common-test/src/main/java/test/at/gv/egovernment/moa/AllTests.java deleted file mode 100644 index 00e2c505f..000000000 --- a/common-test/src/main/java/test/at/gv/egovernment/moa/AllTests.java +++ /dev/null @@ -1,38 +0,0 @@ -package test.at.gv.egovernment.moa; - -import test.at.gv.egovernment.moa.util.DOMUtilsTest; -import test.at.gv.egovernment.moa.util.DateTimeUtilsTest; -import test.at.gv.egovernment.moa.util.KeyStoreUtilsTest; -import test.at.gv.egovernment.moa.util.SSLUtilsTest; -import test.at.gv.egovernment.moa.util.XPathUtilsTest; - -import junit.awtui.TestRunner; -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * @author patrick - * @version $Id$ - */ -public class AllTests { - - public static Test suite() { - TestSuite suite = new TestSuite(); - - suite.addTestSuite(DOMUtilsTest.class); - suite.addTestSuite(DateTimeUtilsTest.class); - suite.addTestSuite(XPathUtilsTest.class); - suite.addTestSuite(KeyStoreUtilsTest.class); - suite.addTestSuite(SSLUtilsTest.class); - - return suite; - } - - public static void main(String[] args) { - try { - TestRunner.run(AllTests.class); - } catch (Exception e) { - e.printStackTrace(); - } - } -} diff --git a/common-test/src/main/java/test/at/gv/egovernment/moa/MOATestCase.java b/common-test/src/main/java/test/at/gv/egovernment/moa/MOATestCase.java deleted file mode 100644 index 86ea2ee6c..000000000 --- a/common-test/src/main/java/test/at/gv/egovernment/moa/MOATestCase.java +++ /dev/null @@ -1,75 +0,0 @@ -package test.at.gv.egovernment.moa; - -import java.io.FileInputStream; -import java.io.StringReader; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; - -import org.w3c.dom.Document; - -import org.xml.sax.InputSource; - -import junit.framework.TestCase; - -import at.gv.egovernment.moa.util.Constants; -import at.gv.egovernment.moa.util.DOMUtils; - -/** - * Base class for MOA test cases. - * - * Provides some utility functions. - * - * @author Patrick Peck - * @version $Id$ - */ -public class MOATestCase extends TestCase { - - protected static final String TESTDATA_ROOT = "data/test/"; - - /** - * Constructor for MOATestCase. - * @param arg0 - */ - public MOATestCase(String name) { - super(name); - } - - /** - * Parse an XML file non-validating. - */ - public static Document parseXml(String fileName) throws Exception { - return DOMUtils.parseDocument( - new FileInputStream(fileName), - false, - null, - null); - } - - /** - * Parse an XML validating with a given file name. - * - * Uses the local schema resources. - */ - public static Document parseXmlValidating(String fileName) throws Exception { - return DOMUtils.parseDocument( - new FileInputStream(fileName), - true, - Constants.ALL_SCHEMA_LOCATIONS, - null); - } - - /** - * Parse an XML from a String. - */ - public static Document parseXmlString(String xml) throws Exception { - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - DocumentBuilder builder; - - factory.setNamespaceAware(true); - builder = factory.newDocumentBuilder(); - - return builder.parse(new InputSource(new StringReader(xml))); - } - -} diff --git a/common-test/src/main/java/test/at/gv/egovernment/moa/util/DOMUtilsTest.java b/common-test/src/main/java/test/at/gv/egovernment/moa/util/DOMUtilsTest.java deleted file mode 100644 index eb3ad1a5c..000000000 --- a/common-test/src/main/java/test/at/gv/egovernment/moa/util/DOMUtilsTest.java +++ /dev/null @@ -1,137 +0,0 @@ -package test.at.gv.egovernment.moa.util; -import java.io.FileInputStream; -import java.util.Map; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.NodeList; - -import test.at.gv.egovernment.moa.*; - -import at.gv.egovernment.moa.util.Constants; -import at.gv.egovernment.moa.util.DOMUtils; - -/** - * @author Patrick Peck - * @version $Id$ - */ -public class DOMUtilsTest extends MOATestCase { - private static final String TESTDATA_BASE = TESTDATA_ROOT + "xml/"; - private static boolean grammarsInitialized = false; - - /** - * Constructor for DOMUtilsTest. - * @param name - */ - public DOMUtilsTest(String name) { - super(name); - } - - protected void setUp() throws Exception { - if (!grammarsInitialized) { - // preparse XML schema - DOMUtils.addSchemaToPool( - getClass().getResourceAsStream(Constants.XML_SCHEMA_LOCATION), - Constants.XML_NS_URI); - // preparse XMLDsig Filter2 schema - DOMUtils.addSchemaToPool( - getClass().getResourceAsStream(Constants.DSIG_FILTER2_SCHEMA_LOCATION), - Constants.DSIG_FILTER2_NS_URI); - // preparse XMLDsig schema - DOMUtils.addSchemaToPool( - getClass().getResourceAsStream(Constants.DSIG_SCHEMA_LOCATION), - Constants.DSIG_NS_URI); - // preparse MOA schema - DOMUtils.addSchemaToPool( - getClass().getResourceAsStream(Constants.MOA_SCHEMA_LOCATION), - Constants.MOA_NS_URI); - grammarsInitialized = true; - } - } - - private Document parse(String fileName) throws Exception { - return DOMUtils.parseDocument( - new FileInputStream(fileName), - true, - Constants.ALL_SCHEMA_LOCATIONS, - null); - } - - public void testParseCreateXMLSignature() throws Exception { - parse(TESTDATA_BASE + "CreateXMLSignature/TestGeneratorCX2.005.Req.xml"); - parse(TESTDATA_BASE + "CreateXMLSignature/Req000.xml"); - parse(TESTDATA_BASE + "CreateXMLSignature/Req001.xml"); - parse(TESTDATA_BASE + "CreateXMLSignature/Req002.xml"); - parse(TESTDATA_BASE + "CreateXMLSignature/Req004.xml"); - } - - public void testParseVerifyCMSSignature() throws Exception { - parse(TESTDATA_BASE + "VerifyCMSSignature/Req000.xml"); - } - - public void testParseVerifyXMLSignature() throws Exception { - parse(TESTDATA_BASE + "VerifyXMLSignature/Req000.xml"); - parse(TESTDATA_BASE + "VerifyXMLSignature/Req001.xml"); - parse(TESTDATA_BASE + "VerifyXMLSignature/Req002.xml"); - parse(TESTDATA_BASE + "VerifyXMLSignature/TestGeneratorVX.002.Req.xml"); - //parse(TESTDATA_BASE + "VerifyXMLSignature/TestGeneratorVX.006.Req.xml"); - parse(TESTDATA_BASE + "VerifyXMLSignature/VerifySAMLRequest.xml"); - } - - public void testParseInfobox() throws Exception { - parse(TESTDATA_BASE + "Infobox/InfoboxReadResponseMOA4.xml"); - parse(TESTDATA_BASE + "Infobox/InfoboxReadResponse.xml"); - } - - - private Document parsePlain(String fileName) throws Exception { - return DOMUtils.parseDocument( - new FileInputStream(fileName), - false, - null, - null); - } - - public void testValidateCreateXMLSignature() throws Exception { - Document doc; - boolean valid; - - // test a valid request - doc = parsePlain(TESTDATA_BASE + "CreateXMLSignature/Req000.xml"); - valid = - DOMUtils.validateElement( - doc.getDocumentElement(), - Constants.ALL_SCHEMA_LOCATIONS, - null); - assertTrue(valid); - - // test an invalid request - doc = parsePlain(TESTDATA_BASE + "CreateXMLSignature/invalid.xml"); - try { - valid = - DOMUtils.validateElement( - doc.getDocumentElement(), - Constants.ALL_SCHEMA_LOCATIONS, - null); - fail(); - } catch (Exception e) { - } - } - - public void testGetNamespaceDeclarations() throws Exception { - Document doc; - NodeList nl; - Element elem; - Map nsDecls; - - doc = parse(TESTDATA_BASE + "VerifyXMLSignature/Req002.xml"); - nl = doc.getElementsByTagNameNS(Constants.DSIG_NS_URI, "Reference"); - elem = (Element) nl.item(0); - nsDecls = DOMUtils.getNamespaceDeclarations(elem); - - assertEquals(2, nsDecls.size()); - assertEquals(Constants.DSIG_NS_URI, nsDecls.get("dsig")); - assertEquals(Constants.MOA_NS_URI, nsDecls.get("")); - } - -} diff --git a/common-test/src/main/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java b/common-test/src/main/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java deleted file mode 100644 index da6b29b1c..000000000 --- a/common-test/src/main/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java +++ /dev/null @@ -1,104 +0,0 @@ -package test.at.gv.egovernment.moa.util; -import java.text.DateFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; -import java.util.GregorianCalendar; -import java.util.TimeZone; - -import junit.framework.TestCase; - -import at.gv.egovernment.moa.util.DateTimeUtils; - -/** - * @author Patrick Peck - * @version $Id$ - */ -public class DateTimeUtilsTest extends TestCase { - - /** - * Constructor for DateTimeUtilsTest. - * @param arg0 - */ - public DateTimeUtilsTest(String arg0) { - super(arg0); - } - - public void testParseDateTimeValid() throws Exception { - Date date; - DateFormat format = SimpleDateFormat.getDateTimeInstance(); - String dateStr; - - format.setTimeZone(TimeZone.getTimeZone("GMT")); - date = DateTimeUtils.parseDateTime("+1971-12-12T06:30:15"); - date.setTime(date.getTime() + TimeZone.getDefault().getRawOffset()); - dateStr = format.format(date); - assertEquals("12.12.1971 06:30:15", dateStr); - - date = DateTimeUtils.parseDateTime("2000-01-01T23:59:59.012Z"); - dateStr = format.format(date); - assertEquals("01.01.2000 23:59:59", dateStr); - - date = DateTimeUtils.parseDateTime("2003-05-20T12:17:30-05:00"); - dateStr = format.format(date); - assertEquals("20.05.2003 17:17:30", dateStr); - - - date = DateTimeUtils.parseDateTime("2002-02-02T02:02:02.33+04:30"); - dateStr = format.format(date); - assertEquals("01.02.2002 21:32:02", dateStr); - } - - public void testParseDateTimeInvalid() { - try { - DateTimeUtils.parseDateTime("+1971-12-12T6:30:15"); - fail(); - } catch (ParseException e) { - } - - try { - DateTimeUtils.parseDateTime("2000-01-0123:59:59.999999Z"); - fail(); - } catch (ParseException e) { - } - - try { - DateTimeUtils.parseDateTime("2003-05-20T12:17:3005:00"); - fail(); - } catch (ParseException e) { - } - - try { - DateTimeUtils.parseDateTime(" 2002-02-02T02:02:02.33+04:00"); - fail(); - } catch (ParseException e) { - } - - } - - public void testBuildDateTimeGMTMinus3() { - String should = "2002-01-01T01:01:01-03:00"; - doTestBuildDateTime(2002, 1, 1, 1, 1, 1, "GMT-03:00", should); - } - public void testBuildDateTimeMEZSommerzeit() { - String should = "2002-07-31T23:59:59+02:00"; - doTestBuildDateTime(2002, 7, 31, 23, 59, 59, "GMT+01:00", should); - } - public void testBuildDateTimeGMT() { - String should = "2002-01-01T01:01:01"; - doTestBuildDateTime(2002, 1, 1, 1, 1, 1, "GMT+00:00", should); - } - private void doTestBuildDateTime( - int year, int month, int day, - int hour, int min, int sec, - String timeZone, String dateTimeShould) { - - Calendar cal = new GregorianCalendar(TimeZone.getTimeZone(timeZone)); - cal.set(year,month, day, hour, min, sec); - cal.set(Calendar.MILLISECOND, 0); - String dateTimeBuilt = DateTimeUtils.buildDateTime(cal); - assertEquals(dateTimeShould, dateTimeBuilt); - } - -} diff --git a/common-test/src/main/java/test/at/gv/egovernment/moa/util/KeyStoreUtilsTest.java b/common-test/src/main/java/test/at/gv/egovernment/moa/util/KeyStoreUtilsTest.java deleted file mode 100644 index a6d1847ce..000000000 --- a/common-test/src/main/java/test/at/gv/egovernment/moa/util/KeyStoreUtilsTest.java +++ /dev/null @@ -1,90 +0,0 @@ -package test.at.gv.egovernment.moa.util; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.math.BigInteger; -import java.security.KeyStore; -import java.security.Security; -import java.security.cert.X509Certificate; -import java.util.Enumeration; - -import at.gv.egovernment.moa.util.KeyStoreUtils; - -import junit.framework.TestCase; - -/** - * @author Paul Ivancsics - * @version $Id$ - */ -public class KeyStoreUtilsTest extends TestCase { - private String tmpDir = "tmp/KeyStoreUtilsTest"; - private String tmpDirURL = "file:" + tmpDir; - - public KeyStoreUtilsTest(String arg0) { - super(arg0); - } - - protected void setUp() throws Exception { - Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); - new File(tmpDir).mkdirs(); - } - protected void tearDown() throws Exception { - new File(tmpDir).delete(); - } - public void testCreateKeyStoreJKS() throws Exception { - String[] certFilenames = new String[] { - "data/test/security/server-certs/baltimore.cer" - }; - KeyStore ks = KeyStoreUtils.createKeyStore("jks", certFilenames); - assertEquals(1, ks.size()); - X509Certificate cert = (X509Certificate)ks.getCertificate("0"); - assertEquals(3424, cert.getSerialNumber().intValue()); - } - public void testCreateKeyStorePKCS12() throws Exception { - String[] certFilenames = new String[] { - "data/test/security/server-certs/baltimore.cer" - }; - KeyStore ks = KeyStoreUtils.createKeyStore("pkcs12", certFilenames); - assertEquals(1, ks.size()); - X509Certificate cert = (X509Certificate)ks.getCertificate("0"); - assertEquals(3424, cert.getSerialNumber().intValue()); - } - public void testCreateKeyStoreFromCertificateDirectory() throws Exception { - // copy certificate files to a temporary directory, - // omitting the "CVS" directory in the source directory - copyCertificates("data/test/security/server-certs", tmpDir); - KeyStore ks = KeyStoreUtils.createKeyStoreFromCertificateDirectory("jks", tmpDirURL); - assertEquals(2, ks.size()); - X509Certificate cert0 = (X509Certificate)ks.getCertificate("0"); - X509Certificate cert1 = (X509Certificate)ks.getCertificate("1"); - assertTrue(3424 == cert0.getSerialNumber().intValue() || 3424 == cert1.getSerialNumber().intValue()); - } - private void copyCertificates(String from, String to) throws IOException { - String[] fromList = new File(from).list(); - for (int i = 0; i < fromList.length; i++) { - File fromFile = new File(from + File.separator + fromList[i]); - if (fromFile.isFile()) { - String toFile = to + "/" + fromList[i]; - FileInputStream in = new FileInputStream(fromFile); - FileOutputStream out = new FileOutputStream(toFile); - for (int ch = in.read(); ch >= 0; ch = in.read()) - out.write(ch); - out.close(); - in.close(); - } - } - - } - public void testLoadKeyStore() throws Exception { - String keyStoreURL = "file:data/test/security/client-certs/sicher-demo(buergerkarte).p12"; - KeyStore ks = KeyStoreUtils.loadKeyStore("pkcs12", keyStoreURL, "buergerkarte"); - assertEquals(1, ks.size()); - Enumeration aliases = ks.aliases(); - String alias = (String)aliases.nextElement(); - X509Certificate cert = (X509Certificate)ks.getCertificate(alias); - assertEquals(new BigInteger("1044289238331").intValue(), cert.getSerialNumber().intValue()); - } - -} diff --git a/common-test/src/main/java/test/at/gv/egovernment/moa/util/SSLUtilsTest.java b/common-test/src/main/java/test/at/gv/egovernment/moa/util/SSLUtilsTest.java deleted file mode 100644 index 7e55cb7d0..000000000 --- a/common-test/src/main/java/test/at/gv/egovernment/moa/util/SSLUtilsTest.java +++ /dev/null @@ -1,160 +0,0 @@ -package test.at.gv.egovernment.moa.util; - -import java.io.FileInputStream; -import java.io.IOException; -import java.net.URL; -import java.security.KeyStore; -import java.security.Security; - -import javax.net.ssl.SSLException; -import javax.net.ssl.SSLSocketFactory; - -import com.sun.net.ssl.HostnameVerifier; -import com.sun.net.ssl.HttpsURLConnection; - -import at.gv.egovernment.moa.util.KeyStoreUtils; -import at.gv.egovernment.moa.util.SSLUtils; - -import junit.framework.TestCase; - -/** - * @author Paul Ivancsics - * @version $Id$ - */ -public class SSLUtilsTest extends TestCase { - - public SSLUtilsTest(String arg0) { - super(arg0); - } - - - protected void setUp() throws Exception { - //System.setProperty("javax.net.debug", "all"); - Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); - System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol"); - System.setProperty("https.cipherSuites", "SSL_DHE_DSS_WITH_DES_CBC_SHA,SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA,SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,SSL_RSA_WITH_DES_CBC_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA,SSL_RSA_EXPORT_WITH_RC4_40_MD5"); - } - - public void testGetSSLSocketFactoryBaltimoreOK() throws Exception { - doTestGetSSLSocketFactory( - "GET", - "https://www.baltimore.com/", - false, - "file:data/test/security/cacerts+gt_cybertrust_root", - "changeit", - true); - } - public void testGetSSLSocketFactoryBaltimoreNOK() throws Exception { - doTestGetSSLSocketFactory( - "GET", - "https://www.baltimore.com/", - false, - "file:data/test/security/cacerts", - "changeit", - false); - } - public void testGetSSLSocketFactoryVerisignOK() throws Exception { - doTestGetSSLSocketFactory( - "GET", - "https://www.verisign.com/", - false, - "file:data/test/security/cacerts", - "changeit", - true); - } - public void testGetSSLSocketFactoryVerisignNoTruststoreOK() throws Exception { - doTestGetSSLSocketFactory( - "GET", - "https://www.verisign.com/", - false, - null, - null, - true); - } - public void testGetSSLSocketFactoryLocalhostOK() throws Exception { - String urlString = "https://localhost:8443/moa-id-auth/index.jsp"; - doTestGetSSLSocketFactory( - "GET", - urlString, - true, - "file:data/test/security/server.keystore.tomcat", - "changeit", - true); - } - public void testGetSSLSocketFactoryLocalhostNOK() throws Exception { - String urlString = "https://localhost:8443/moa-id-auth/index.jsp"; - doTestGetSSLSocketFactory( - "GET", - urlString, - true, - null, - null, - false); - } - - public void doTestGetSSLSocketFactory( - String requestMethod, - String urlString, - boolean useHostnameVerifierHack, - String truststoreurl, - String trustpassword, - boolean shouldOk - ) throws Exception { - - doTestGetSSLSocketFactory( - requestMethod, urlString, useHostnameVerifierHack, truststoreurl, trustpassword, null, null, null, shouldOk); - } - public void doTestGetSSLSocketFactory( - String requestMethod, - String urlString, - boolean useHostnameVerifierHack, - String truststoreurl, - String trustpassword, - String keystoretype, - String keystoreurl, - String keypassword, - boolean shouldOk - ) throws Exception { - - KeyStore truststore = null; - if (truststoreurl != null) - truststore = KeyStoreUtils.loadKeyStore("jks", truststoreurl, trustpassword); - SSLSocketFactory sf = SSLUtils.getSSLSocketFactory( - truststore, keystoretype, keystoreurl, keypassword); - System.out.println(requestMethod + " " + urlString); - - URL url = new URL(urlString); - HttpsURLConnection conn = (HttpsURLConnection)url.openConnection(); - conn.setRequestMethod(requestMethod); - conn.setDoInput(true); - conn.setDoOutput(true); - conn.setUseCaches(false); - conn.setAllowUserInteraction(false); - conn.setSSLSocketFactory(sf); - if (useHostnameVerifierHack) - conn.setHostnameVerifier(new HostnameVerifierHack()); - try { - conn.connect(); - assertTrue(shouldOk); - assertEquals(200, conn.getResponseCode()); - conn.disconnect(); - } - catch (SSLException ex) { - assertFalse(shouldOk); - } - } - private byte[] readTruststore(String filename) throws IOException { - if (filename == null) - return null; - FileInputStream in = new FileInputStream(filename); - byte[] buffer = new byte[in.available()]; - in.read(buffer); - in.close(); - return buffer; - } - private class HostnameVerifierHack implements HostnameVerifier { - public boolean verify(String arg0, String arg1) { - return true; - } - } -} diff --git a/common-test/src/main/java/test/at/gv/egovernment/moa/util/URLDecoderTest.java b/common-test/src/main/java/test/at/gv/egovernment/moa/util/URLDecoderTest.java deleted file mode 100644 index b6ea0e152..000000000 --- a/common-test/src/main/java/test/at/gv/egovernment/moa/util/URLDecoderTest.java +++ /dev/null @@ -1,29 +0,0 @@ -package test.at.gv.egovernment.moa.util; - -import java.net.URLEncoder; - -import at.gv.egovernment.moa.util.FileUtils; -import at.gv.egovernment.moa.util.URLDecoder; - -import junit.framework.TestCase; - -/* - * @author Paul Ivancsics - * @version $Id$ - */ -public class URLDecoderTest extends TestCase { - - public void test() throws Exception { - String s = "immerZUA0129<>%==$$%&/()@?{()=} \\\"äöüÄÖÜ?§"; - String senc = URLEncoder.encode(s); - String sdec = URLDecoder.decode(senc, "ISO-8859-1"); - assertEquals(s, sdec); - } - public void testUTF8() throws Exception { - String s = new String(FileUtils.readFile("data/test/xml/CreateXMLSignature/CreateXMLSignatureResponse.xml")); - String senc = URLEncoder.encode(s); - String sdec = URLDecoder.decode(senc, "UTF-8"); - String sutf8 = FileUtils.readFile("data/test/xml/CreateXMLSignature/CreateXMLSignatureResponse.xml", "UTF-8"); - assertEquals(sutf8, sdec); - } -} diff --git a/common-test/src/main/java/test/at/gv/egovernment/moa/util/URLEncoderTest.java b/common-test/src/main/java/test/at/gv/egovernment/moa/util/URLEncoderTest.java deleted file mode 100644 index 43238c51f..000000000 --- a/common-test/src/main/java/test/at/gv/egovernment/moa/util/URLEncoderTest.java +++ /dev/null @@ -1,43 +0,0 @@ -package test.at.gv.egovernment.moa.util; - -import at.gv.egovernment.moa.util.FileUtils; -import at.gv.egovernment.moa.util.URLDecoder; -import at.gv.egovernment.moa.util.URLEncoder; -import junit.framework.TestCase; - -/* - * @author Paul Ivancsics - * @version $Id$ - */ -public class URLEncoderTest extends TestCase { - - public void testUnchangedString() throws Exception { - String s = "AZaz0123456789.-*_"; - String senc = URLEncoder.encode(s, "UTF-8"); - assertEquals(s, senc); - } - public void testAumlUTF8() throws Exception { - String s = "ä"; - String senc = URLEncoder.encode(s, "UTF-8"); - assertEquals("%C3%A4", senc); - } - public void testEncodeDecode() throws Exception { - String s = "AZaz09.-*_ <>%=$%&/()@?{}[]\\\"'äöüÄÖÜß§"; - String senc = URLEncoder.encode(s, "UTF-8"); - String sdec = URLDecoder.decode(senc, "UTF-8"); - assertEquals(s, sdec); - } - public void testCertInfo() throws Exception { - String s = new String(FileUtils.readFile("data/test/xml/VerifyXMLSignature/CertInfoVerifyXMLSignatureRequest.xml", "UTF-8")); - String senc = URLEncoder.encode(s, "UTF-8"); - String sdec = URLDecoder.decode(senc, "UTF-8"); - assertEquals(s, sdec); - } - /*public void testJDK14() throws Exception { - String s = new String(FileUtils.readFile("data/test/xml/VerifyXMLSignature/CertInfoVerifyXMLSignatureRequest.xml", "UTF-8")); - String senc = URLEncoder.encode(s, "UTF-8"); - String senc14 = java.net.URLEncoder.encode(s, "UTF-8"); - assertEquals(senc, senc14); - }*/ - -} diff --git a/common-test/src/main/java/test/at/gv/egovernment/moa/util/XMLGrammarBuilderTest.java b/common-test/src/main/java/test/at/gv/egovernment/moa/util/XMLGrammarBuilderTest.java deleted file mode 100644 index 7986fe540..000000000 --- a/common-test/src/main/java/test/at/gv/egovernment/moa/util/XMLGrammarBuilderTest.java +++ /dev/null @@ -1,99 +0,0 @@ -package test.at.gv.egovernment.moa.util; -import java.io.FileInputStream; -import java.io.InputStream; - -import org.apache.xerces.parsers.DOMParser; -import org.apache.xerces.parsers.XMLGrammarPreparser; -import org.apache.xerces.util.SymbolTable; -import org.apache.xerces.util.XMLGrammarPoolImpl; -import org.apache.xerces.xni.grammars.Grammar; -import org.apache.xerces.xni.grammars.XMLGrammarDescription; -import org.apache.xerces.xni.parser.XMLInputSource; -import org.xml.sax.InputSource; - -import test.at.gv.egovernment.moa.MOATestCase; - -import at.gv.egovernment.moa.util.Constants; - - -/** - * Experimentation with Xerces grammar caching. - * - * Used the Xerces sample 'XMLGrammarBuilder' as a starting point. - * - * @author Patrick Peck - * @version $Id$ - */ -public class XMLGrammarBuilderTest extends MOATestCase { - - private static final String GRAMMAR_POOL = - org.apache.xerces.impl.Constants.XERCES_PROPERTY_PREFIX - + org.apache.xerces.impl.Constants.XMLGRAMMAR_POOL_PROPERTY; - - protected static final String NAMESPACES_FEATURE_ID = - "http://xml.org/sax/features/namespaces"; - protected static final String VALIDATION_FEATURE_ID = - "http://xml.org/sax/features/validation"; - protected static final String SCHEMA_VALIDATION_FEATURE_ID = - "http://apache.org/xml/features/validation/schema"; - protected static final String SCHEMA_FULL_CHECKING_FEATURE_ID = - "http://apache.org/xml/features/validation/schema-full-checking"; - - private static final int BIG_PRIME = 2039; - private SymbolTable symbolTable; - private XMLGrammarPoolImpl grammarPool; - - /** - * Constructor for XMLGrammarBuilderTest. - * @param name - */ - public XMLGrammarBuilderTest(String name) { - super(name); - } - - protected void setUp() throws Exception { - XMLGrammarPreparser preparser; - - // set up symbol table and grammar pool - symbolTable = new SymbolTable(BIG_PRIME); - grammarPool = new XMLGrammarPoolImpl(); - preparser = new XMLGrammarPreparser(symbolTable); - preparser.registerPreparser(XMLGrammarDescription.XML_SCHEMA, null); - preparser.setProperty(GRAMMAR_POOL, grammarPool); - preparser.setFeature(NAMESPACES_FEATURE_ID, true); - preparser.setFeature(VALIDATION_FEATURE_ID, true); - // now we can still do schema features just in case, - // so long as it's our configuraiton...... - preparser.setFeature(SCHEMA_VALIDATION_FEATURE_ID, true); - preparseSchemaResource( - preparser, - Constants.DSIG_SCHEMA_LOCATION, - "/resources/schemas/xmldsig-core-schema.xsd"); - } - - private static Grammar preparseSchemaResource( - XMLGrammarPreparser preparser, - String systemId, - String resource) - throws Exception { - - InputStream is = XMLGrammarBuilderTest.class.getResourceAsStream(resource); - return preparser.preparseGrammar( - XMLGrammarDescription.XML_SCHEMA, - new XMLInputSource(null, systemId, null, is, null)); - } - - public void testParseValidating() throws Exception { - DOMParser parser = new DOMParser(symbolTable, grammarPool); - - parser.setFeature(NAMESPACES_FEATURE_ID, true); - parser.setFeature(VALIDATION_FEATURE_ID, true); - parser.setFeature(SCHEMA_VALIDATION_FEATURE_ID, true); - - parser.parse( - new InputSource( - new FileInputStream(TESTDATA_ROOT + "xml/dsigTransform/base64.xml"))); - parser.getDocument(); - } - -} diff --git a/common-test/src/main/java/test/at/gv/egovernment/moa/util/XPathUtilsTest.java b/common-test/src/main/java/test/at/gv/egovernment/moa/util/XPathUtilsTest.java deleted file mode 100644 index 559494300..000000000 --- a/common-test/src/main/java/test/at/gv/egovernment/moa/util/XPathUtilsTest.java +++ /dev/null @@ -1,51 +0,0 @@ -package test.at.gv.egovernment.moa.util; -import org.w3c.dom.Document; -import org.w3c.dom.NodeList; - -import test.at.gv.egovernment.moa.MOATestCase; - -import at.gv.egovernment.moa.util.XPathUtils; - - -/** - * @author Patrick Peck - * @version $Id$ - */ -public class XPathUtilsTest extends MOATestCase { - - private Document doc1; - - /** - * Constructor for XPathUtilsTest. - * @param name - */ - public XPathUtilsTest(String name) { - super(name); - } - - /** - * @see TestCase#setUp() - */ - protected void setUp() throws Exception { - super.setUp(); - doc1 = - parseXml(TESTDATA_ROOT + "xml/VerifyXMLSignature/Req000.xml"); - } - - public void testSelectNodeList() throws Exception { - NodeList nodes; - - nodes = - XPathUtils.selectNodeList( - doc1.getDocumentElement(), - doc1.getDocumentElement(), - "/VerifyXMLSignatureRequest"); - assertEquals(1, nodes.getLength()); - nodes = - XPathUtils.selectNodeList( - doc1.getDocumentElement(), - "//dsig:Signature"); - assertEquals(1, nodes.getLength()); - } - -} diff --git a/common/pom.xml b/common/pom.xml index feb9aa0d4..ed8d0e95f 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -1,80 +1,85 @@ - - - MOA - MOA - 1.4.1 - - 4.0.0 + + MOA - moa-common - 1.4.1 - jar - MOA common library + MOA + 1.4.2 + + 4.0.0 + MOA + moa-common + 1.4.2 + jar + MOA common library - - ${basedir}/../repository - + + ${basedir}/../repository + - - - commons-logging - commons-logging - - - iaik.prod - iaik_jce_full - - - junit - junit - test - - - jaxen - jaxen - - - saxpath - saxpath - - - xalan-bin-dist - xalan - compile - true - - - xerces - xercesImpl - true - - - xalan-bin-dist - xml-apis - compile - true - - - xalan-bin-dist - serializer - runtime - true - - + + + commons-logging + commons-logging + + + iaik.prod + iaik_jce_full + + + junit + junit + test + + + jaxen + jaxen + + + saxpath + saxpath + + + xalan-bin-dist + xalan + compile + true + + + xerces + xercesImpl + true + + + xalan-bin-dist + xml-apis + compile + true + + + xalan-bin-dist + serializer + runtime + true + + - - - - org.apache.maven.plugins - maven-jar-plugin - - - false - - - - - + + + + org.apache.maven.plugins + maven-jar-plugin + + + false + + + + + + test-jar + + + + + + diff --git a/common/src/main/java/at/gv/egovernment/moa/util/StreamUtils.java b/common/src/main/java/at/gv/egovernment/moa/util/StreamUtils.java index a22f1c2a8..3b1a6b56b 100644 --- a/common/src/main/java/at/gv/egovernment/moa/util/StreamUtils.java +++ b/common/src/main/java/at/gv/egovernment/moa/util/StreamUtils.java @@ -3,6 +3,7 @@ package at.gv.egovernment.moa.util; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; +import java.io.OutputStream; import java.io.PrintStream; /** @@ -88,10 +89,17 @@ public class StreamUtils { * @throws IOException on any exception thrown */ public static byte[] readStream(InputStream in) throws IOException { + + ByteArrayOutputStream out = new ByteArrayOutputStream(); + copyStream(in, out, null); + + /* ByteArrayOutputStream out = new ByteArrayOutputStream(); int b; while ((b = in.read()) >= 0) out.write(b); + + */ in.close(); return out.toByteArray(); } @@ -106,14 +114,51 @@ public class StreamUtils { * @throws IOException on any exception thrown */ public static String readStream(InputStream in, String encoding) throws IOException { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + copyStream(in, out, null); + + /* ByteArrayOutputStream out = new ByteArrayOutputStream(); int b; while ((b = in.read()) >= 0) out.write(b); + */ in.close(); return out.toString(encoding); } + /** + * Reads all data (until EOF is reached) from the given source to the + * destination stream. If the destination stream is null, all data is dropped. + * It uses the given buffer to read data and forward it. If the buffer is + * null, this method allocates a buffer. + * + * @param source The stream providing the data. + * @param destination The stream that takes the data. If this is null, all + * data from source will be read and discarded. + * @param buffer The buffer to use for forwarding. If it is null, the method + * allocates a buffer. + * @exception IOException If reading from the source or writing to the + * destination fails. + */ + private static void copyStream(InputStream source, OutputStream destination, byte[] buffer) throws IOException { + if (source == null) { + throw new NullPointerException("Argument \"source\" must not be null."); + } + if (buffer == null) { + buffer = new byte[8192]; + } + + if (destination != null) { + int bytesRead; + while ((bytesRead = source.read(buffer)) >= 0) { + destination.write(buffer, 0, bytesRead); + } + } else { + while (source.read(buffer) >= 0); + } + } + /** * Gets the stack trace of the Throwable passed in as a string. * @param t The Throwable. diff --git a/common/src/test/java/test/at/gv/egovernment/moa/AllTests.java b/common/src/test/java/test/at/gv/egovernment/moa/AllTests.java new file mode 100644 index 000000000..00e2c505f --- /dev/null +++ b/common/src/test/java/test/at/gv/egovernment/moa/AllTests.java @@ -0,0 +1,38 @@ +package test.at.gv.egovernment.moa; + +import test.at.gv.egovernment.moa.util.DOMUtilsTest; +import test.at.gv.egovernment.moa.util.DateTimeUtilsTest; +import test.at.gv.egovernment.moa.util.KeyStoreUtilsTest; +import test.at.gv.egovernment.moa.util.SSLUtilsTest; +import test.at.gv.egovernment.moa.util.XPathUtilsTest; + +import junit.awtui.TestRunner; +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * @author patrick + * @version $Id$ + */ +public class AllTests { + + public static Test suite() { + TestSuite suite = new TestSuite(); + + suite.addTestSuite(DOMUtilsTest.class); + suite.addTestSuite(DateTimeUtilsTest.class); + suite.addTestSuite(XPathUtilsTest.class); + suite.addTestSuite(KeyStoreUtilsTest.class); + suite.addTestSuite(SSLUtilsTest.class); + + return suite; + } + + public static void main(String[] args) { + try { + TestRunner.run(AllTests.class); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/common/src/test/java/test/at/gv/egovernment/moa/MOATestCase.java b/common/src/test/java/test/at/gv/egovernment/moa/MOATestCase.java new file mode 100644 index 000000000..86ea2ee6c --- /dev/null +++ b/common/src/test/java/test/at/gv/egovernment/moa/MOATestCase.java @@ -0,0 +1,75 @@ +package test.at.gv.egovernment.moa; + +import java.io.FileInputStream; +import java.io.StringReader; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; + +import org.w3c.dom.Document; + +import org.xml.sax.InputSource; + +import junit.framework.TestCase; + +import at.gv.egovernment.moa.util.Constants; +import at.gv.egovernment.moa.util.DOMUtils; + +/** + * Base class for MOA test cases. + * + * Provides some utility functions. + * + * @author Patrick Peck + * @version $Id$ + */ +public class MOATestCase extends TestCase { + + protected static final String TESTDATA_ROOT = "data/test/"; + + /** + * Constructor for MOATestCase. + * @param arg0 + */ + public MOATestCase(String name) { + super(name); + } + + /** + * Parse an XML file non-validating. + */ + public static Document parseXml(String fileName) throws Exception { + return DOMUtils.parseDocument( + new FileInputStream(fileName), + false, + null, + null); + } + + /** + * Parse an XML validating with a given file name. + * + * Uses the local schema resources. + */ + public static Document parseXmlValidating(String fileName) throws Exception { + return DOMUtils.parseDocument( + new FileInputStream(fileName), + true, + Constants.ALL_SCHEMA_LOCATIONS, + null); + } + + /** + * Parse an XML from a String. + */ + public static Document parseXmlString(String xml) throws Exception { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + DocumentBuilder builder; + + factory.setNamespaceAware(true); + builder = factory.newDocumentBuilder(); + + return builder.parse(new InputSource(new StringReader(xml))); + } + +} diff --git a/common/src/test/java/test/at/gv/egovernment/moa/util/DOMUtilsTest.java b/common/src/test/java/test/at/gv/egovernment/moa/util/DOMUtilsTest.java new file mode 100644 index 000000000..eb3ad1a5c --- /dev/null +++ b/common/src/test/java/test/at/gv/egovernment/moa/util/DOMUtilsTest.java @@ -0,0 +1,137 @@ +package test.at.gv.egovernment.moa.util; +import java.io.FileInputStream; +import java.util.Map; + +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.NodeList; + +import test.at.gv.egovernment.moa.*; + +import at.gv.egovernment.moa.util.Constants; +import at.gv.egovernment.moa.util.DOMUtils; + +/** + * @author Patrick Peck + * @version $Id$ + */ +public class DOMUtilsTest extends MOATestCase { + private static final String TESTDATA_BASE = TESTDATA_ROOT + "xml/"; + private static boolean grammarsInitialized = false; + + /** + * Constructor for DOMUtilsTest. + * @param name + */ + public DOMUtilsTest(String name) { + super(name); + } + + protected void setUp() throws Exception { + if (!grammarsInitialized) { + // preparse XML schema + DOMUtils.addSchemaToPool( + getClass().getResourceAsStream(Constants.XML_SCHEMA_LOCATION), + Constants.XML_NS_URI); + // preparse XMLDsig Filter2 schema + DOMUtils.addSchemaToPool( + getClass().getResourceAsStream(Constants.DSIG_FILTER2_SCHEMA_LOCATION), + Constants.DSIG_FILTER2_NS_URI); + // preparse XMLDsig schema + DOMUtils.addSchemaToPool( + getClass().getResourceAsStream(Constants.DSIG_SCHEMA_LOCATION), + Constants.DSIG_NS_URI); + // preparse MOA schema + DOMUtils.addSchemaToPool( + getClass().getResourceAsStream(Constants.MOA_SCHEMA_LOCATION), + Constants.MOA_NS_URI); + grammarsInitialized = true; + } + } + + private Document parse(String fileName) throws Exception { + return DOMUtils.parseDocument( + new FileInputStream(fileName), + true, + Constants.ALL_SCHEMA_LOCATIONS, + null); + } + + public void testParseCreateXMLSignature() throws Exception { + parse(TESTDATA_BASE + "CreateXMLSignature/TestGeneratorCX2.005.Req.xml"); + parse(TESTDATA_BASE + "CreateXMLSignature/Req000.xml"); + parse(TESTDATA_BASE + "CreateXMLSignature/Req001.xml"); + parse(TESTDATA_BASE + "CreateXMLSignature/Req002.xml"); + parse(TESTDATA_BASE + "CreateXMLSignature/Req004.xml"); + } + + public void testParseVerifyCMSSignature() throws Exception { + parse(TESTDATA_BASE + "VerifyCMSSignature/Req000.xml"); + } + + public void testParseVerifyXMLSignature() throws Exception { + parse(TESTDATA_BASE + "VerifyXMLSignature/Req000.xml"); + parse(TESTDATA_BASE + "VerifyXMLSignature/Req001.xml"); + parse(TESTDATA_BASE + "VerifyXMLSignature/Req002.xml"); + parse(TESTDATA_BASE + "VerifyXMLSignature/TestGeneratorVX.002.Req.xml"); + //parse(TESTDATA_BASE + "VerifyXMLSignature/TestGeneratorVX.006.Req.xml"); + parse(TESTDATA_BASE + "VerifyXMLSignature/VerifySAMLRequest.xml"); + } + + public void testParseInfobox() throws Exception { + parse(TESTDATA_BASE + "Infobox/InfoboxReadResponseMOA4.xml"); + parse(TESTDATA_BASE + "Infobox/InfoboxReadResponse.xml"); + } + + + private Document parsePlain(String fileName) throws Exception { + return DOMUtils.parseDocument( + new FileInputStream(fileName), + false, + null, + null); + } + + public void testValidateCreateXMLSignature() throws Exception { + Document doc; + boolean valid; + + // test a valid request + doc = parsePlain(TESTDATA_BASE + "CreateXMLSignature/Req000.xml"); + valid = + DOMUtils.validateElement( + doc.getDocumentElement(), + Constants.ALL_SCHEMA_LOCATIONS, + null); + assertTrue(valid); + + // test an invalid request + doc = parsePlain(TESTDATA_BASE + "CreateXMLSignature/invalid.xml"); + try { + valid = + DOMUtils.validateElement( + doc.getDocumentElement(), + Constants.ALL_SCHEMA_LOCATIONS, + null); + fail(); + } catch (Exception e) { + } + } + + public void testGetNamespaceDeclarations() throws Exception { + Document doc; + NodeList nl; + Element elem; + Map nsDecls; + + doc = parse(TESTDATA_BASE + "VerifyXMLSignature/Req002.xml"); + nl = doc.getElementsByTagNameNS(Constants.DSIG_NS_URI, "Reference"); + elem = (Element) nl.item(0); + nsDecls = DOMUtils.getNamespaceDeclarations(elem); + + assertEquals(2, nsDecls.size()); + assertEquals(Constants.DSIG_NS_URI, nsDecls.get("dsig")); + assertEquals(Constants.MOA_NS_URI, nsDecls.get("")); + } + +} diff --git a/common/src/test/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java b/common/src/test/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java new file mode 100644 index 000000000..da6b29b1c --- /dev/null +++ b/common/src/test/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java @@ -0,0 +1,104 @@ +package test.at.gv.egovernment.moa.util; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.TimeZone; + +import junit.framework.TestCase; + +import at.gv.egovernment.moa.util.DateTimeUtils; + +/** + * @author Patrick Peck + * @version $Id$ + */ +public class DateTimeUtilsTest extends TestCase { + + /** + * Constructor for DateTimeUtilsTest. + * @param arg0 + */ + public DateTimeUtilsTest(String arg0) { + super(arg0); + } + + public void testParseDateTimeValid() throws Exception { + Date date; + DateFormat format = SimpleDateFormat.getDateTimeInstance(); + String dateStr; + + format.setTimeZone(TimeZone.getTimeZone("GMT")); + date = DateTimeUtils.parseDateTime("+1971-12-12T06:30:15"); + date.setTime(date.getTime() + TimeZone.getDefault().getRawOffset()); + dateStr = format.format(date); + assertEquals("12.12.1971 06:30:15", dateStr); + + date = DateTimeUtils.parseDateTime("2000-01-01T23:59:59.012Z"); + dateStr = format.format(date); + assertEquals("01.01.2000 23:59:59", dateStr); + + date = DateTimeUtils.parseDateTime("2003-05-20T12:17:30-05:00"); + dateStr = format.format(date); + assertEquals("20.05.2003 17:17:30", dateStr); + + + date = DateTimeUtils.parseDateTime("2002-02-02T02:02:02.33+04:30"); + dateStr = format.format(date); + assertEquals("01.02.2002 21:32:02", dateStr); + } + + public void testParseDateTimeInvalid() { + try { + DateTimeUtils.parseDateTime("+1971-12-12T6:30:15"); + fail(); + } catch (ParseException e) { + } + + try { + DateTimeUtils.parseDateTime("2000-01-0123:59:59.999999Z"); + fail(); + } catch (ParseException e) { + } + + try { + DateTimeUtils.parseDateTime("2003-05-20T12:17:3005:00"); + fail(); + } catch (ParseException e) { + } + + try { + DateTimeUtils.parseDateTime(" 2002-02-02T02:02:02.33+04:00"); + fail(); + } catch (ParseException e) { + } + + } + + public void testBuildDateTimeGMTMinus3() { + String should = "2002-01-01T01:01:01-03:00"; + doTestBuildDateTime(2002, 1, 1, 1, 1, 1, "GMT-03:00", should); + } + public void testBuildDateTimeMEZSommerzeit() { + String should = "2002-07-31T23:59:59+02:00"; + doTestBuildDateTime(2002, 7, 31, 23, 59, 59, "GMT+01:00", should); + } + public void testBuildDateTimeGMT() { + String should = "2002-01-01T01:01:01"; + doTestBuildDateTime(2002, 1, 1, 1, 1, 1, "GMT+00:00", should); + } + private void doTestBuildDateTime( + int year, int month, int day, + int hour, int min, int sec, + String timeZone, String dateTimeShould) { + + Calendar cal = new GregorianCalendar(TimeZone.getTimeZone(timeZone)); + cal.set(year,month, day, hour, min, sec); + cal.set(Calendar.MILLISECOND, 0); + String dateTimeBuilt = DateTimeUtils.buildDateTime(cal); + assertEquals(dateTimeShould, dateTimeBuilt); + } + +} diff --git a/common/src/test/java/test/at/gv/egovernment/moa/util/KeyStoreUtilsTest.java b/common/src/test/java/test/at/gv/egovernment/moa/util/KeyStoreUtilsTest.java new file mode 100644 index 000000000..a6d1847ce --- /dev/null +++ b/common/src/test/java/test/at/gv/egovernment/moa/util/KeyStoreUtilsTest.java @@ -0,0 +1,90 @@ +package test.at.gv.egovernment.moa.util; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.math.BigInteger; +import java.security.KeyStore; +import java.security.Security; +import java.security.cert.X509Certificate; +import java.util.Enumeration; + +import at.gv.egovernment.moa.util.KeyStoreUtils; + +import junit.framework.TestCase; + +/** + * @author Paul Ivancsics + * @version $Id$ + */ +public class KeyStoreUtilsTest extends TestCase { + private String tmpDir = "tmp/KeyStoreUtilsTest"; + private String tmpDirURL = "file:" + tmpDir; + + public KeyStoreUtilsTest(String arg0) { + super(arg0); + } + + protected void setUp() throws Exception { + Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); + new File(tmpDir).mkdirs(); + } + protected void tearDown() throws Exception { + new File(tmpDir).delete(); + } + public void testCreateKeyStoreJKS() throws Exception { + String[] certFilenames = new String[] { + "data/test/security/server-certs/baltimore.cer" + }; + KeyStore ks = KeyStoreUtils.createKeyStore("jks", certFilenames); + assertEquals(1, ks.size()); + X509Certificate cert = (X509Certificate)ks.getCertificate("0"); + assertEquals(3424, cert.getSerialNumber().intValue()); + } + public void testCreateKeyStorePKCS12() throws Exception { + String[] certFilenames = new String[] { + "data/test/security/server-certs/baltimore.cer" + }; + KeyStore ks = KeyStoreUtils.createKeyStore("pkcs12", certFilenames); + assertEquals(1, ks.size()); + X509Certificate cert = (X509Certificate)ks.getCertificate("0"); + assertEquals(3424, cert.getSerialNumber().intValue()); + } + public void testCreateKeyStoreFromCertificateDirectory() throws Exception { + // copy certificate files to a temporary directory, + // omitting the "CVS" directory in the source directory + copyCertificates("data/test/security/server-certs", tmpDir); + KeyStore ks = KeyStoreUtils.createKeyStoreFromCertificateDirectory("jks", tmpDirURL); + assertEquals(2, ks.size()); + X509Certificate cert0 = (X509Certificate)ks.getCertificate("0"); + X509Certificate cert1 = (X509Certificate)ks.getCertificate("1"); + assertTrue(3424 == cert0.getSerialNumber().intValue() || 3424 == cert1.getSerialNumber().intValue()); + } + private void copyCertificates(String from, String to) throws IOException { + String[] fromList = new File(from).list(); + for (int i = 0; i < fromList.length; i++) { + File fromFile = new File(from + File.separator + fromList[i]); + if (fromFile.isFile()) { + String toFile = to + "/" + fromList[i]; + FileInputStream in = new FileInputStream(fromFile); + FileOutputStream out = new FileOutputStream(toFile); + for (int ch = in.read(); ch >= 0; ch = in.read()) + out.write(ch); + out.close(); + in.close(); + } + } + + } + public void testLoadKeyStore() throws Exception { + String keyStoreURL = "file:data/test/security/client-certs/sicher-demo(buergerkarte).p12"; + KeyStore ks = KeyStoreUtils.loadKeyStore("pkcs12", keyStoreURL, "buergerkarte"); + assertEquals(1, ks.size()); + Enumeration aliases = ks.aliases(); + String alias = (String)aliases.nextElement(); + X509Certificate cert = (X509Certificate)ks.getCertificate(alias); + assertEquals(new BigInteger("1044289238331").intValue(), cert.getSerialNumber().intValue()); + } + +} diff --git a/common/src/test/java/test/at/gv/egovernment/moa/util/SSLUtilsTest.java b/common/src/test/java/test/at/gv/egovernment/moa/util/SSLUtilsTest.java new file mode 100644 index 000000000..7e55cb7d0 --- /dev/null +++ b/common/src/test/java/test/at/gv/egovernment/moa/util/SSLUtilsTest.java @@ -0,0 +1,160 @@ +package test.at.gv.egovernment.moa.util; + +import java.io.FileInputStream; +import java.io.IOException; +import java.net.URL; +import java.security.KeyStore; +import java.security.Security; + +import javax.net.ssl.SSLException; +import javax.net.ssl.SSLSocketFactory; + +import com.sun.net.ssl.HostnameVerifier; +import com.sun.net.ssl.HttpsURLConnection; + +import at.gv.egovernment.moa.util.KeyStoreUtils; +import at.gv.egovernment.moa.util.SSLUtils; + +import junit.framework.TestCase; + +/** + * @author Paul Ivancsics + * @version $Id$ + */ +public class SSLUtilsTest extends TestCase { + + public SSLUtilsTest(String arg0) { + super(arg0); + } + + + protected void setUp() throws Exception { + //System.setProperty("javax.net.debug", "all"); + Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); + System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol"); + System.setProperty("https.cipherSuites", "SSL_DHE_DSS_WITH_DES_CBC_SHA,SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA,SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,SSL_RSA_WITH_DES_CBC_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA,SSL_RSA_EXPORT_WITH_RC4_40_MD5"); + } + + public void testGetSSLSocketFactoryBaltimoreOK() throws Exception { + doTestGetSSLSocketFactory( + "GET", + "https://www.baltimore.com/", + false, + "file:data/test/security/cacerts+gt_cybertrust_root", + "changeit", + true); + } + public void testGetSSLSocketFactoryBaltimoreNOK() throws Exception { + doTestGetSSLSocketFactory( + "GET", + "https://www.baltimore.com/", + false, + "file:data/test/security/cacerts", + "changeit", + false); + } + public void testGetSSLSocketFactoryVerisignOK() throws Exception { + doTestGetSSLSocketFactory( + "GET", + "https://www.verisign.com/", + false, + "file:data/test/security/cacerts", + "changeit", + true); + } + public void testGetSSLSocketFactoryVerisignNoTruststoreOK() throws Exception { + doTestGetSSLSocketFactory( + "GET", + "https://www.verisign.com/", + false, + null, + null, + true); + } + public void testGetSSLSocketFactoryLocalhostOK() throws Exception { + String urlString = "https://localhost:8443/moa-id-auth/index.jsp"; + doTestGetSSLSocketFactory( + "GET", + urlString, + true, + "file:data/test/security/server.keystore.tomcat", + "changeit", + true); + } + public void testGetSSLSocketFactoryLocalhostNOK() throws Exception { + String urlString = "https://localhost:8443/moa-id-auth/index.jsp"; + doTestGetSSLSocketFactory( + "GET", + urlString, + true, + null, + null, + false); + } + + public void doTestGetSSLSocketFactory( + String requestMethod, + String urlString, + boolean useHostnameVerifierHack, + String truststoreurl, + String trustpassword, + boolean shouldOk + ) throws Exception { + + doTestGetSSLSocketFactory( + requestMethod, urlString, useHostnameVerifierHack, truststoreurl, trustpassword, null, null, null, shouldOk); + } + public void doTestGetSSLSocketFactory( + String requestMethod, + String urlString, + boolean useHostnameVerifierHack, + String truststoreurl, + String trustpassword, + String keystoretype, + String keystoreurl, + String keypassword, + boolean shouldOk + ) throws Exception { + + KeyStore truststore = null; + if (truststoreurl != null) + truststore = KeyStoreUtils.loadKeyStore("jks", truststoreurl, trustpassword); + SSLSocketFactory sf = SSLUtils.getSSLSocketFactory( + truststore, keystoretype, keystoreurl, keypassword); + System.out.println(requestMethod + " " + urlString); + + URL url = new URL(urlString); + HttpsURLConnection conn = (HttpsURLConnection)url.openConnection(); + conn.setRequestMethod(requestMethod); + conn.setDoInput(true); + conn.setDoOutput(true); + conn.setUseCaches(false); + conn.setAllowUserInteraction(false); + conn.setSSLSocketFactory(sf); + if (useHostnameVerifierHack) + conn.setHostnameVerifier(new HostnameVerifierHack()); + try { + conn.connect(); + assertTrue(shouldOk); + assertEquals(200, conn.getResponseCode()); + conn.disconnect(); + } + catch (SSLException ex) { + assertFalse(shouldOk); + } + } + private byte[] readTruststore(String filename) throws IOException { + if (filename == null) + return null; + FileInputStream in = new FileInputStream(filename); + byte[] buffer = new byte[in.available()]; + in.read(buffer); + in.close(); + return buffer; + } + private class HostnameVerifierHack implements HostnameVerifier { + public boolean verify(String arg0, String arg1) { + return true; + } + } +} diff --git a/common/src/test/java/test/at/gv/egovernment/moa/util/URLDecoderTest.java b/common/src/test/java/test/at/gv/egovernment/moa/util/URLDecoderTest.java new file mode 100644 index 000000000..b6ea0e152 --- /dev/null +++ b/common/src/test/java/test/at/gv/egovernment/moa/util/URLDecoderTest.java @@ -0,0 +1,29 @@ +package test.at.gv.egovernment.moa.util; + +import java.net.URLEncoder; + +import at.gv.egovernment.moa.util.FileUtils; +import at.gv.egovernment.moa.util.URLDecoder; + +import junit.framework.TestCase; + +/* + * @author Paul Ivancsics + * @version $Id$ + */ +public class URLDecoderTest extends TestCase { + + public void test() throws Exception { + String s = "immerZUA0129<>%==$$%&/()@?{()=} \\\"äöüÄÖÜ?§"; + String senc = URLEncoder.encode(s); + String sdec = URLDecoder.decode(senc, "ISO-8859-1"); + assertEquals(s, sdec); + } + public void testUTF8() throws Exception { + String s = new String(FileUtils.readFile("data/test/xml/CreateXMLSignature/CreateXMLSignatureResponse.xml")); + String senc = URLEncoder.encode(s); + String sdec = URLDecoder.decode(senc, "UTF-8"); + String sutf8 = FileUtils.readFile("data/test/xml/CreateXMLSignature/CreateXMLSignatureResponse.xml", "UTF-8"); + assertEquals(sutf8, sdec); + } +} diff --git a/common/src/test/java/test/at/gv/egovernment/moa/util/URLEncoderTest.java b/common/src/test/java/test/at/gv/egovernment/moa/util/URLEncoderTest.java new file mode 100644 index 000000000..43238c51f --- /dev/null +++ b/common/src/test/java/test/at/gv/egovernment/moa/util/URLEncoderTest.java @@ -0,0 +1,43 @@ +package test.at.gv.egovernment.moa.util; + +import at.gv.egovernment.moa.util.FileUtils; +import at.gv.egovernment.moa.util.URLDecoder; +import at.gv.egovernment.moa.util.URLEncoder; +import junit.framework.TestCase; + +/* + * @author Paul Ivancsics + * @version $Id$ + */ +public class URLEncoderTest extends TestCase { + + public void testUnchangedString() throws Exception { + String s = "AZaz0123456789.-*_"; + String senc = URLEncoder.encode(s, "UTF-8"); + assertEquals(s, senc); + } + public void testAumlUTF8() throws Exception { + String s = "ä"; + String senc = URLEncoder.encode(s, "UTF-8"); + assertEquals("%C3%A4", senc); + } + public void testEncodeDecode() throws Exception { + String s = "AZaz09.-*_ <>%=$%&/()@?{}[]\\\"'äöüÄÖÜß§"; + String senc = URLEncoder.encode(s, "UTF-8"); + String sdec = URLDecoder.decode(senc, "UTF-8"); + assertEquals(s, sdec); + } + public void testCertInfo() throws Exception { + String s = new String(FileUtils.readFile("data/test/xml/VerifyXMLSignature/CertInfoVerifyXMLSignatureRequest.xml", "UTF-8")); + String senc = URLEncoder.encode(s, "UTF-8"); + String sdec = URLDecoder.decode(senc, "UTF-8"); + assertEquals(s, sdec); + } + /*public void testJDK14() throws Exception { + String s = new String(FileUtils.readFile("data/test/xml/VerifyXMLSignature/CertInfoVerifyXMLSignatureRequest.xml", "UTF-8")); + String senc = URLEncoder.encode(s, "UTF-8"); + String senc14 = java.net.URLEncoder.encode(s, "UTF-8"); + assertEquals(senc, senc14); + }*/ + +} diff --git a/common/src/test/java/test/at/gv/egovernment/moa/util/XMLGrammarBuilderTest.java b/common/src/test/java/test/at/gv/egovernment/moa/util/XMLGrammarBuilderTest.java new file mode 100644 index 000000000..7986fe540 --- /dev/null +++ b/common/src/test/java/test/at/gv/egovernment/moa/util/XMLGrammarBuilderTest.java @@ -0,0 +1,99 @@ +package test.at.gv.egovernment.moa.util; +import java.io.FileInputStream; +import java.io.InputStream; + +import org.apache.xerces.parsers.DOMParser; +import org.apache.xerces.parsers.XMLGrammarPreparser; +import org.apache.xerces.util.SymbolTable; +import org.apache.xerces.util.XMLGrammarPoolImpl; +import org.apache.xerces.xni.grammars.Grammar; +import org.apache.xerces.xni.grammars.XMLGrammarDescription; +import org.apache.xerces.xni.parser.XMLInputSource; +import org.xml.sax.InputSource; + +import test.at.gv.egovernment.moa.MOATestCase; + +import at.gv.egovernment.moa.util.Constants; + + +/** + * Experimentation with Xerces grammar caching. + * + * Used the Xerces sample 'XMLGrammarBuilder' as a starting point. + * + * @author Patrick Peck + * @version $Id$ + */ +public class XMLGrammarBuilderTest extends MOATestCase { + + private static final String GRAMMAR_POOL = + org.apache.xerces.impl.Constants.XERCES_PROPERTY_PREFIX + + org.apache.xerces.impl.Constants.XMLGRAMMAR_POOL_PROPERTY; + + protected static final String NAMESPACES_FEATURE_ID = + "http://xml.org/sax/features/namespaces"; + protected static final String VALIDATION_FEATURE_ID = + "http://xml.org/sax/features/validation"; + protected static final String SCHEMA_VALIDATION_FEATURE_ID = + "http://apache.org/xml/features/validation/schema"; + protected static final String SCHEMA_FULL_CHECKING_FEATURE_ID = + "http://apache.org/xml/features/validation/schema-full-checking"; + + private static final int BIG_PRIME = 2039; + private SymbolTable symbolTable; + private XMLGrammarPoolImpl grammarPool; + + /** + * Constructor for XMLGrammarBuilderTest. + * @param name + */ + public XMLGrammarBuilderTest(String name) { + super(name); + } + + protected void setUp() throws Exception { + XMLGrammarPreparser preparser; + + // set up symbol table and grammar pool + symbolTable = new SymbolTable(BIG_PRIME); + grammarPool = new XMLGrammarPoolImpl(); + preparser = new XMLGrammarPreparser(symbolTable); + preparser.registerPreparser(XMLGrammarDescription.XML_SCHEMA, null); + preparser.setProperty(GRAMMAR_POOL, grammarPool); + preparser.setFeature(NAMESPACES_FEATURE_ID, true); + preparser.setFeature(VALIDATION_FEATURE_ID, true); + // now we can still do schema features just in case, + // so long as it's our configuraiton...... + preparser.setFeature(SCHEMA_VALIDATION_FEATURE_ID, true); + preparseSchemaResource( + preparser, + Constants.DSIG_SCHEMA_LOCATION, + "/resources/schemas/xmldsig-core-schema.xsd"); + } + + private static Grammar preparseSchemaResource( + XMLGrammarPreparser preparser, + String systemId, + String resource) + throws Exception { + + InputStream is = XMLGrammarBuilderTest.class.getResourceAsStream(resource); + return preparser.preparseGrammar( + XMLGrammarDescription.XML_SCHEMA, + new XMLInputSource(null, systemId, null, is, null)); + } + + public void testParseValidating() throws Exception { + DOMParser parser = new DOMParser(symbolTable, grammarPool); + + parser.setFeature(NAMESPACES_FEATURE_ID, true); + parser.setFeature(VALIDATION_FEATURE_ID, true); + parser.setFeature(SCHEMA_VALIDATION_FEATURE_ID, true); + + parser.parse( + new InputSource( + new FileInputStream(TESTDATA_ROOT + "xml/dsigTransform/base64.xml"))); + parser.getDocument(); + } + +} diff --git a/common/src/test/java/test/at/gv/egovernment/moa/util/XPathUtilsTest.java b/common/src/test/java/test/at/gv/egovernment/moa/util/XPathUtilsTest.java new file mode 100644 index 000000000..559494300 --- /dev/null +++ b/common/src/test/java/test/at/gv/egovernment/moa/util/XPathUtilsTest.java @@ -0,0 +1,51 @@ +package test.at.gv.egovernment.moa.util; +import org.w3c.dom.Document; +import org.w3c.dom.NodeList; + +import test.at.gv.egovernment.moa.MOATestCase; + +import at.gv.egovernment.moa.util.XPathUtils; + + +/** + * @author Patrick Peck + * @version $Id$ + */ +public class XPathUtilsTest extends MOATestCase { + + private Document doc1; + + /** + * Constructor for XPathUtilsTest. + * @param name + */ + public XPathUtilsTest(String name) { + super(name); + } + + /** + * @see TestCase#setUp() + */ + protected void setUp() throws Exception { + super.setUp(); + doc1 = + parseXml(TESTDATA_ROOT + "xml/VerifyXMLSignature/Req000.xml"); + } + + public void testSelectNodeList() throws Exception { + NodeList nodes; + + nodes = + XPathUtils.selectNodeList( + doc1.getDocumentElement(), + doc1.getDocumentElement(), + "/VerifyXMLSignatureRequest"); + assertEquals(1, nodes.getLength()); + nodes = + XPathUtils.selectNodeList( + doc1.getDocumentElement(), + "//dsig:Signature"); + assertEquals(1, nodes.getLength()); + } + +} diff --git a/id/oa/pom.xml b/id/oa/pom.xml index b712c5dde..bfd4a2931 100644 --- a/id/oa/pom.xml +++ b/id/oa/pom.xml @@ -5,7 +5,7 @@ MOA oa war - 1.4.1 + 1.0 MOA Sample OA diff --git a/id/pom.xml b/id/pom.xml index 71c1ad7cc..bef0efa09 100644 --- a/id/pom.xml +++ b/id/pom.xml @@ -3,14 +3,14 @@ MOA MOA - 1.4.1 + 1.4.2 4.0.0 MOA id pom - 1.4.1 + 1.4.2 MOA ID @@ -23,4 +23,4 @@ ${basedir}/../repository - \ No newline at end of file + diff --git a/id/server/auth/pom.xml b/id/server/auth/pom.xml index 869d94c2e..57aea5ac4 100644 --- a/id/server/auth/pom.xml +++ b/id/server/auth/pom.xml @@ -4,14 +4,14 @@ MOA.id moa-id - 1.4.1 + 1.4.2 4.0.0 MOA.id.server moa-id-auth war - 1.4.1 + 1.4.2 MOA ID-Auth WebService diff --git a/id/server/idserverlib/pom.xml b/id/server/idserverlib/pom.xml index 9e673f6f5..0eb0451e5 100644 --- a/id/server/idserverlib/pom.xml +++ b/id/server/idserverlib/pom.xml @@ -1,168 +1,176 @@ - - MOA.id - moa-id - 1.4.1 - + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + + MOA.id + moa-id + 1.4.2 + - 4.0.0 - MOA.id.server - moa-id-lib - jar - 1.4.1 - MOA ID API + 4.0.0 + MOA.id.server + moa-id-lib + jar + 1.4.2 + MOA ID API - - ${basedir}/../../../repository - - - - - javax.activation - activation - - - axis - axis - - - javax.mail - mail - - - javax.servlet - servlet-api - provided - - - xerces - xercesImpl - - - xalan-bin-dist - xml-apis - - - xalan-bin-dist - xalan - - - xalan-bin-dist - serializer - - - junit - junit - test - - - commons-logging - commons-logging - - - commons-discovery - commons-discovery - - - commons-fileupload - commons-fileupload - - - dav4j - dav4j - - - httpsclient - httpsclient - - - MOA - moa-common - - - MOA - moa-common-test - - - MOA.spss.server - moa-spss-lib - ${project.version} - - - iaik.prod - iaik_moa - - - iaik.prod - iaik_ecc - - - iaik.prod - iaik_jce_full - provided - - - iaik.prod - iaik_ixsil - - - iaik.prod - iaik_X509TrustManager - - - regexp - regexp - - - - - - org.apache.maven.plugins - maven-jar-plugin - - - false - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 2.2 - - true - false - false - true - - at.gv.egovernment.moa.spss.server.*;at.gv.egovernment.moa.spss.api.impl.*;at.gv.egovernment.moa.spss.impl.* - - - - pre - a - Preconditions: - - - post - a - Postconditions: - - - http://java.sun.com/j2se/1.4/docs/api/ - - - - generate-javadoc - package - - jar - - - - - - + + ${basedir}/../../../repository + + + + javax.activation + activation + + + axis + axis + + + javax.mail + mail + + + javax.servlet + servlet-api + provided + + + xerces + xercesImpl + + + xalan-bin-dist + xml-apis + + + xalan-bin-dist + xalan + + + xalan-bin-dist + serializer + + + junit + junit + test + + + commons-logging + commons-logging + + + commons-discovery + commons-discovery + + + commons-fileupload + commons-fileupload + + + dav4j + dav4j + + + httpsclient + httpsclient + + + MOA + moa-common + jar + + + MOA + moa-common + test-jar + + + MOA.spss.server + moa-spss-lib + ${project.version} + + + iaik.prod + iaik_moa + + + iaik.prod + iaik_ecc + + + iaik.prod + iaik_jce_full + provided + + + iaik.prod + iaik_ixsil + + + iaik.prod + iaik_X509TrustManager + + + regexp + regexp + + + + + + org.apache.maven.plugins + maven-jar-plugin + + + false + + + + + + test-jar + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.2 + + true + false + false + true + + at.gv.egovernment.moa.spss.server.*;at.gv.egovernment.moa.spss.api.impl.*;at.gv.egovernment.moa.spss.impl.* + + + + pre + a + Preconditions: + + + post + a + Postconditions: + + + http://java.sun.com/j2se/1.4/docs/api/ + + + + generate-javadoc + package + + jar + + + + + + diff --git a/id/server/pom.xml b/id/server/pom.xml index fffc8d266..2173b97c4 100644 --- a/id/server/pom.xml +++ b/id/server/pom.xml @@ -1,27 +1,27 @@ - MOA id - 1.4.1 + 1.4.2 - 4.0.0 - MOA.id - moa-id - pom - 1.4.1 - MOA ID Server - - - idserverlib - proxy - auth - - - - ${basedir}/../../repository - - + 4.0.0 + MOA.id + moa-id + pom + 1.4.2 + MOA ID Server + + + idserverlib + proxy + auth + + + + ${basedir}/../../repository + + diff --git a/id/server/proxy/pom.xml b/id/server/proxy/pom.xml index 2cb7fedbd..72397b959 100644 --- a/id/server/proxy/pom.xml +++ b/id/server/proxy/pom.xml @@ -4,7 +4,7 @@ MOA.id moa-id - 1.4.1 + 1.4.2 @@ -16,7 +16,7 @@ MOA.id.server moa-id-proxy war - 1.4.1 + 1.4.2 MOA ID-Proxy WebService @@ -105,12 +105,12 @@ provided - - xalan-bin-dist - serializer - - provided - + + xalan-bin-dist + serializer + + provided + diff --git a/id/templates/pom.xml b/id/templates/pom.xml index 4498afdda..440bf9448 100644 --- a/id/templates/pom.xml +++ b/id/templates/pom.xml @@ -4,14 +4,14 @@ MOA id - 1.4.1 + 1.4.2 4.0.0 MOA.id moa-id-templates war - 1.4.1 + 1.4.2 MOA ID Sample Templates diff --git a/pom.xml b/pom.xml index 82ac9d91e..2c8795975 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ MOA MOA pom - 1.4.1 + 1.4.2 MOA @@ -22,7 +22,6 @@ common - common-test spss id @@ -66,12 +65,12 @@ false maven-assembly-plugin 2.2-beta-1 - - moa + + moa id/assembly-auth.xml id/assembly-proxy.xml - spss/assembly.xml + spss/assembly.xml spss/assembly-lib.xml @@ -158,14 +157,15 @@ MOA moa-common - 1.4.1 + 1.4.2 compile MOA - moa-common-test - 1.4.1 - test + moa-common + 1.4.2 + compile + test-jar junit @@ -254,130 +254,130 @@ win32 dll runtime - - - iaik.prod - iaik_Pkcs11Wrapper - 1.2.16 - linux - so - runtime - - - iaik.prod - iaik_Pkcs11Wrapper - 1.2.16 - linux_x64 - so - runtime - - - iaik.prod - iaik_Pkcs11Wrapper - 1.2.16 - solaris_sparc - so - runtime - - - iaik.prod - iaik_Pkcs11Wrapper - 1.2.16 - solaris_sparcv9 - so - runtime - - - iaik.prod - iaik_Pkcs11Wrapper - 1.2.16 - wince30arm - dll - runtime - + + + iaik.prod + iaik_Pkcs11Wrapper + 1.2.16 + linux + so + runtime + + + iaik.prod + iaik_Pkcs11Wrapper + 1.2.16 + linux_x64 + so + runtime + + + iaik.prod + iaik_Pkcs11Wrapper + 1.2.16 + solaris_sparc + so + runtime + + + iaik.prod + iaik_Pkcs11Wrapper + 1.2.16 + solaris_sparcv9 + so + runtime + + + iaik.prod + iaik_Pkcs11Wrapper + 1.2.16 + wince30arm + dll + runtime + xerces xercesImpl 2.7.1 compile - - - xalan-bin-dist - xml-apis - 2.7.0 - runtime - - - - xalan-bin-dist - xalan - 2.7.0 - runtime - - - xalan-bin-dist - serializer - 2.7.0 - runtime - + + + xalan-bin-dist + xml-apis + 2.7.0 + runtime + + + + xalan-bin-dist + xalan + 2.7.0 + runtime + + + xalan-bin-dist + serializer + 2.7.0 + runtime + - - - - iaik.prod - iaik_Pkcs11Wrapper - win32 - dll - runtime - - - iaik.prod - iaik_Pkcs11Wrapper - linux - so - runtime - - - iaik.prod - iaik_Pkcs11Wrapper - linux_x64 - so - runtime - - - iaik.prod - iaik_Pkcs11Wrapper - solaris_sparc - so - runtime - - - iaik.prod - iaik_Pkcs11Wrapper - solaris_sparcv9 - so - runtime - - - iaik.prod - iaik_Pkcs11Wrapper - wince30arm - dll - runtime - - + + + + iaik.prod + iaik_Pkcs11Wrapper + win32 + dll + runtime + + + iaik.prod + iaik_Pkcs11Wrapper + linux + so + runtime + + + iaik.prod + iaik_Pkcs11Wrapper + linux_x64 + so + runtime + + + iaik.prod + iaik_Pkcs11Wrapper + solaris_sparc + so + runtime + + + iaik.prod + iaik_Pkcs11Wrapper + solaris_sparcv9 + so + runtime + + + iaik.prod + iaik_Pkcs11Wrapper + wince30arm + dll + runtime + + diff --git a/spss/handbook/clients/api/pom.xml b/spss/handbook/clients/api/pom.xml index a6ae7660b..c026cc939 100644 --- a/spss/handbook/clients/api/pom.xml +++ b/spss/handbook/clients/api/pom.xml @@ -3,14 +3,14 @@ MOA.spss.handbook.clients moa-spss-handbook-clients - 1.4.1 + 1.4 4.0.0 MOA.spss.handbook moa-spss-handbook-apiClient jar - 1.4.1 + 1.4 MOA SP/SS Handbook API Client @@ -120,7 +120,7 @@ MOA.spss.server moa-spss-lib - ${project.version} + 1.4.2 diff --git a/spss/handbook/clients/pom.xml b/spss/handbook/clients/pom.xml index 7928905f3..a4b5eb216 100644 --- a/spss/handbook/clients/pom.xml +++ b/spss/handbook/clients/pom.xml @@ -3,14 +3,14 @@ MOA.spss.handbook moa-spss-handbook - 1.4.1 + 1.4 4.0.0 MOA.spss.handbook.clients moa-spss-handbook-clients pom - 1.4.1 + 1.4 MOA SP/SS Handbook Clients diff --git a/spss/handbook/clients/referencedData/pom.xml b/spss/handbook/clients/referencedData/pom.xml index 23c3543df..f7f1e7b20 100644 --- a/spss/handbook/clients/referencedData/pom.xml +++ b/spss/handbook/clients/referencedData/pom.xml @@ -3,14 +3,14 @@ MOA.spss.handbook.clients moa-spss-handbook-clients - 1.4.1 + 1.4 4.0.0 MOA.spss.handbook moa-spss-handbook-referencedData war - 1.4.1 + 1.4 MOA SP/SS Handbook Referenced Data diff --git a/spss/handbook/clients/webservice/pom.xml b/spss/handbook/clients/webservice/pom.xml index 72312da54..8e9f16fb3 100644 --- a/spss/handbook/clients/webservice/pom.xml +++ b/spss/handbook/clients/webservice/pom.xml @@ -3,14 +3,14 @@ MOA.spss.handbook.clients moa-spss-handbook-clients - 1.4.1 + 1.4 4.0.0 MOA.spss.handbook.clients moa-spss-handbook-webserviceClient jar - 1.4.1 + 1.4 MOA SP/SS Handbook WebService Client @@ -120,7 +120,7 @@ MOA.spss.server moa-spss-lib - ${project.version} + 1.4.2 diff --git a/spss/handbook/pom.xml b/spss/handbook/pom.xml index 8323f1802..3733e8df4 100644 --- a/spss/handbook/pom.xml +++ b/spss/handbook/pom.xml @@ -3,14 +3,14 @@ MOA spss - 1.4.1 + 1.4.x 4.0.0 MOA.spss.handbook moa-spss-handbook pom - 1.4.1 + 1.4 MOA SP/SS Handbook diff --git a/spss/pom.xml b/spss/pom.xml index aa06dee69..7e99360ad 100644 --- a/spss/pom.xml +++ b/spss/pom.xml @@ -3,14 +3,14 @@ MOA MOA - 1.4.1 + 1.4.2 4.0.0 MOA spss pom - 1.4.1 + 1.4.x MOA SP/SS diff --git a/spss/server/history.txt b/spss/server/history.txt index d21fef433..3cbb39f06 100644 --- a/spss/server/history.txt +++ b/spss/server/history.txt @@ -1,9 +1,15 @@ +############## +1.4.2 +############## + +- Performance-Verbesserungen bei der Verwendnung von externen Referenzen. + ############## 1.4.1 ############## - Die Projektstruktur wurde eimem Maven Build-Prozess unterlegt. Der Sourcocde - ab dieser Version unter http://egovlabs.gv.at/scm/?group_id=6 verfügbar. + ab dieser Version unter http://egovlabs.gv.at/scm/?group_id=6 verfügbar. ############## 1.4.0 diff --git a/spss/server/pom.xml b/spss/server/pom.xml index aa5db1624..82e8a8c2f 100644 --- a/spss/server/pom.xml +++ b/spss/server/pom.xml @@ -3,14 +3,14 @@ MOA spss - 1.4.1 + 1.4.x 4.0.0 MOA.spss moa-spss pom - 1.4.1 + 1.4.x MOA SP/SS Server diff --git a/spss/server/serverlib/pom.xml b/spss/server/serverlib/pom.xml index 49bc37ceb..c49a234a1 100644 --- a/spss/server/serverlib/pom.xml +++ b/spss/server/serverlib/pom.xml @@ -3,14 +3,14 @@ MOA.spss moa-spss - 1.4.1 + 1.4.x 4.0.0 MOA.spss.server moa-spss-lib jar - 1.4.1 + 1.4.2 MOA SP/SS API diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java index 1386d5c2d..ad0da28f4 100644 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java +++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java @@ -1,5 +1,10 @@ package at.gv.egovernment.moa.spss.server.invoke; +import iaik.ixsil.util.URI; +import iaik.ixsil.util.XPointerReferenceResolver; +import iaik.server.modules.xml.DataObject; +import iaik.server.modules.xml.XMLDataObject; + import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; @@ -7,6 +12,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.Vector; import javax.xml.parsers.ParserConfigurationException; @@ -14,25 +20,11 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; - import org.xml.sax.EntityResolver; import org.xml.sax.SAXException; -import iaik.ixsil.util.URI; -import iaik.ixsil.util.XPointerReferenceResolver; -import iaik.server.modules.xml.DataObject; -import iaik.server.modules.xml.XMLDataObject; - import at.gv.egovernment.moa.logging.LogMsg; import at.gv.egovernment.moa.logging.Logger; -import at.gv.egovernment.moa.util.Constants; -import at.gv.egovernment.moa.util.DOMUtils; -import at.gv.egovernment.moa.util.EntityResolverChain; -import at.gv.egovernment.moa.util.MOAEntityResolver; -import at.gv.egovernment.moa.util.MOAErrorHandler; -import at.gv.egovernment.moa.util.StreamEntityResolver; -import at.gv.egovernment.moa.util.StreamUtils; - import at.gv.egovernment.moa.spss.MOAApplicationException; import at.gv.egovernment.moa.spss.MOASystemException; import at.gv.egovernment.moa.spss.api.common.Content; @@ -48,7 +40,16 @@ import at.gv.egovernment.moa.spss.server.iaik.xml.ByteStreamDataObjectImpl; import at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl; import at.gv.egovernment.moa.spss.server.iaik.xml.XMLDataObjectImpl; import at.gv.egovernment.moa.spss.server.iaik.xml.XMLNodeListDataObjectImpl; +import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; +import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; import at.gv.egovernment.moa.spss.util.MessageProvider; +import at.gv.egovernment.moa.util.Constants; +import at.gv.egovernment.moa.util.DOMUtils; +import at.gv.egovernment.moa.util.EntityResolverChain; +import at.gv.egovernment.moa.util.MOAEntityResolver; +import at.gv.egovernment.moa.util.MOAErrorHandler; +import at.gv.egovernment.moa.util.StreamEntityResolver; +import at.gv.egovernment.moa.util.StreamUtils; /** * A class to create DataObjects contained in different @@ -132,12 +133,16 @@ public class DataObjectFactory { } case Content.LOCREF_CONTENT: { - ExternalURIResolver uriResolver = new ExternalURIResolver(); String locRefURI = ((ContentLocRef) content).getLocationReferenceURI(); InputStream is = null; try { - is = uriResolver.resolve(locRefURI); + TransactionContext context = TransactionContextManager.getInstance().getTransactionContext(); + is = context.ResolveURI(locRefURI); + if (is == null) { + ExternalURIResolver uriResolver = new ExternalURIResolver(); + is = uriResolver.resolve(locRefURI); + } contentBytes = StreamUtils.readStream(is); } catch (MOAApplicationException e) @@ -299,25 +304,39 @@ public class DataObjectFactory { } case Content.LOCREF_CONTENT: { - ExternalURIResolver uriResolver = new ExternalURIResolver(); - String locRefURI = ((ContentLocRef) content).getLocationReferenceURI(); InputStream contentIS = null; - InputStream uriStream = null; - try - { - uriStream = uriResolver.resolve(locRefURI); - byte[] contentBytes = StreamUtils.readStream(uriStream); - contentIS = new ByteArrayInputStream(contentBytes); - } - catch (Exception e) - { - throw new MOAApplicationException("3202", new Object[]{reference, locRefURI}, e); - } - finally - { - closeInputStream(uriStream); - } - entities.put(reference, contentIS); + String locRefURI = ((ContentLocRef) content).getLocationReferenceURI(); + + + TransactionContext context = TransactionContextManager.getInstance().getTransactionContext(); + Vector entity = context.FindResolvedEntity(locRefURI); + if (entity!=null) { + contentIS = (InputStream) entity.get(0); + } else { + + ExternalURIResolver uriResolver = new ExternalURIResolver(); + + InputStream uriStream = null; + byte[] contentBytes; + String contentType = null; + try + { + uriStream = uriResolver.resolve(locRefURI); + contentBytes = StreamUtils.readStream(uriStream); + contentIS = new ByteArrayInputStream(contentBytes); + contentType = uriResolver.getContentType(); + } + catch (Exception e) + { + throw new MOAApplicationException("3202", new Object[]{reference, locRefURI}, e); + } + finally + { + closeInputStream(uriStream); + } + entities.put(locRefURI, contentIS); + context.PutResolvedEntity(locRefURI, contentBytes, contentType); + } break; } case Content.XML_CONTENT : @@ -648,9 +667,23 @@ public class DataObjectFactory { private DataObjectImpl createFromURIImpl(String uri, boolean asXml) throws MOASystemException, MOAApplicationException { + Logger.trace(">>> resolving uri \"" + uri + "\""); + ExternalURIResolver resolver = new ExternalURIResolver(); - InputStream is = resolver.resolve(uri); - String contentType = resolver.getContentType(); + + TransactionContext context = TransactionContextManager.getInstance().getTransactionContext(); + InputStream is = context.ResolveURI(uri); + String contentType = null; + boolean foundURI = false; + if (is == null) { + is = resolver.resolve(uri); + contentType = resolver.getContentType(); + } else { + foundURI = true; + contentType = (String) context.FindResolvedEntity(uri).get(1); + Logger.trace("found \"" + uri + "\" InputStream in preread Supplements!, do not read any more. Content=" + contentType); + } + DataObjectImpl dataObject; // read the content @@ -684,6 +717,7 @@ public class DataObjectFactory { dataObject = new XMLDataObjectImpl(doc.getDocumentElement()); } catch (Exception e) { // this is the last chance: return the data as a byte stream + Logger.trace(">>> reading stream for \"" + uri + "\""); is = resolver.resolve(uri); ByteArrayInputStream bis; try @@ -699,9 +733,11 @@ public class DataObjectFactory { { closeInputStream(is); } + Logger.trace(">>> read stream for \"" + uri + "\""); } } } + else if (asXml) { // if we need XML data, we're in the wrong place here @@ -711,10 +747,13 @@ public class DataObjectFactory { else { // content is binary: make it available as a binary input stream + Logger.trace(">>> getting binary input for \"" + uri + "\""); + byte[] contentBytes; ByteArrayInputStream bis; try { - bis = new ByteArrayInputStream(StreamUtils.readStream(is)); + contentBytes = StreamUtils.readStream(is); + bis = new ByteArrayInputStream(contentBytes); } catch (IOException e) { @@ -724,12 +763,18 @@ public class DataObjectFactory { { closeInputStream(is); } + if (!foundURI) { + context.PutResolvedEntity(uri, contentBytes, contentType); + } dataObject = new ByteStreamDataObjectImpl(bis); + Logger.trace("<<< got binary input for \"" + uri + "\""); } dataObject.setMimeType(contentType); dataObject.setURI(uri); + Logger.trace("<<< resolved uri \"" + uri + "\""); + return dataObject; } diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/ExternalURIResolver.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/ExternalURIResolver.java index 106742067..cbd88f7f3 100644 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/ExternalURIResolver.java +++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/ExternalURIResolver.java @@ -61,7 +61,6 @@ public class ExternalURIResolver { //no transaction throw new MOAApplicationException("2282", new Object[] { uri }); } else { - InputStream attachmentIs = context.getAttachmentInputStream(uri); if (attachmentIs != null) { setContentType(context.getAttachmentContentType(uri.getPath())); @@ -70,20 +69,6 @@ public class ExternalURIResolver { //maybe attachments provided but no suiting attachment found throw new MOAApplicationException("2282", new Object[] { uri }); } -/* - try { - InputStream attachmentIs = context.getAttachment(uri).getInputStream(); - if (attachmentIs != null) { - setContentType(context.getAttachmentContentType(uri.getPath())); - return attachmentIs; - } else { - //maybe attachments provided but no suiting attachment found - throw new MOAApplicationException("2282", new Object[] { uri }); - } - } catch (IOException e) { - throw new MOAApplicationException("2208", new Object[] { uri }, e); - } -*/ } } diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java index 4642593eb..3dd7ecf11 100644 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java +++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java @@ -89,10 +89,8 @@ public class XMLSignatureVerificationInvoker { FILTERED_REF_TYPES = new HashSet(); FILTERED_REF_TYPES.add(DsigManifest.XML_DSIG_MANIFEST_TYPE); FILTERED_REF_TYPES.add(SecurityLayerManifest.SECURITY_LAYER_MANIFEST_TYPE); - FILTERED_REF_TYPES.add( - SecurityLayerManifest.SECURITY_LAYER_MANIFEST_TYPE_OLD); - FILTERED_REF_TYPES.add( - XMLConstants.NAMESPACE_ETSI_STRING + "SignedProperties"); + FILTERED_REF_TYPES.add(SecurityLayerManifest.SECURITY_LAYER_MANIFEST_TYPE_OLD); + FILTERED_REF_TYPES.add(XMLConstants.NAMESPACE_ETSI_STRING + "SignedProperties"); } /** diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java index befbd58dd..f5f77ff50 100644 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java +++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java @@ -27,6 +27,7 @@ import at.gv.egovernment.moa.logging.Logger; import at.gv.egovernment.moa.logging.LoggingContext; import at.gv.egovernment.moa.logging.LoggingContextManager; import at.gv.egovernment.moa.spss.MOASystemException; +import at.gv.egovernment.moa.spss.api.common.Content; import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; @@ -94,6 +95,7 @@ public class AxisHandler extends BasicHandler { */ private void handleRequest(MessageContext msgContext) throws AxisFault { try { + Logger.trace("---- Entering Axishandler"); // generate a unique transaction id and build the TransactionContext // for this request HttpServletRequest request = @@ -143,7 +145,9 @@ public class AxisHandler extends BasicHandler { } context.setRequestName(soapAction); + Logger.trace(">>> Get AttachmentCount"); int attachmentCount = soapMessage.getAttachmentsImpl().getAttachmentCount(); + Logger.trace("<<< Finished Get AttachmentCount"); if (attachmentCount>0) { // add SOAP attachments to transaction context @@ -156,12 +160,23 @@ public class AxisHandler extends BasicHandler { //Now get the InputStream (note: we could also get the content with Object content = attachment.getContent();) InputStream is = null; javax.activation.DataHandler datahandler = attachment.getDataHandler(); - org.apache.axis.attachments.ManagedMemoryDataSource mmds = (org.apache.axis.attachments.ManagedMemoryDataSource)datahandler.getDataSource(); - if (mmds!=null){ - is = mmds.getInputStream(); + + int TYPE = 2; + switch (TYPE) { + case 1: + { + org.apache.axis.attachments.ManagedMemoryDataSource mmds = (org.apache.axis.attachments.ManagedMemoryDataSource)datahandler.getDataSource(); + context.addAttachment(id, type, mmds); + break; + } + case 2: + { + is = datahandler.getDataSource().getInputStream(); + context.addAttachment(id, type, is, datahandler.getDataSource().getName()); + break; + } } debug("handler.06", new Object[] {id, type}); - context.addAttachment(id, type, mmds); } } @@ -202,6 +217,7 @@ public class AxisHandler extends BasicHandler { fault.setFaultDetail(new Element[] { e.toErrorResponse()}); throw fault; } + Logger.trace("---- Leaving Axishandler"); } /** @@ -379,4 +395,21 @@ public class AxisHandler extends BasicHandler { Logger.debug(new LogMsg(msg.getMessage(messageId, parameters))); } -} + + +// private byte[] toByteArray(AttachmentPart attachment) throws SOAPException, IOException +// { +// ByteArrayOutputStream outputStream = new ByteArrayOutputStream(attachment.getSize()); +// InputStream inputStream = (InputStream) attachment.getContent(); +// int currentByte = -1; +// while ((currentByte = inputStream.read()) != -1) +// outputStream.write(currentByte); +// +// inputStream.close(); +// outputStream.close(); +// +// return outputStream.toByteArray(); +// +//} + +} \ No newline at end of file diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java index 2d548ea3a..c173625f8 100644 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java +++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java @@ -40,6 +40,7 @@ public class SignatureCreationService { */ public Element[] CreateXMLSignatureRequest(Element[] request) throws AxisFault { + Logger.trace("---- Entering SignatureCreationService"); XMLSignatureCreationInvoker invoker = XMLSignatureCreationInvoker.getInstance(); Element[] response = new Element[1]; @@ -72,17 +73,23 @@ public class SignatureCreationService { reparsedReq = ServiceUtils.reparseRequest(context.getRequest()); // convert to API objects + Logger.trace(">>> preparsing Request"); requestObj = requestParser.parse(reparsedReq); - + Logger.trace("<<< preparsed Request"); + + Logger.trace(">>> creating Signature"); // invoke the core logic - responseObj = - invoker.createXMLSignature(requestObj, Collections.EMPTY_SET); + responseObj = invoker.createXMLSignature(requestObj, Collections.EMPTY_SET); + Logger.trace("<<< created Signature"); + Logger.trace(">>> building Response"); // map back to XML response[0] = responseBuilder.build(responseObj).getDocumentElement(); + Logger.trace("<<< built Response"); // save response in transaction context.setResponse(response[0]); + Logger.trace("---- Leaving SignatureCreationService"); } catch (MOAException e) { AxisFault fault = AxisFault.makeFault(e); diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java index 774880d26..5c1e35a95 100644 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java +++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java @@ -2,6 +2,7 @@ package at.gv.egovernment.moa.spss.server.transaction; import iaik.ixsil.util.URI; +import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; @@ -14,6 +15,7 @@ import java.util.Map.Entry; import org.apache.axis.attachments.ManagedMemoryDataSource; import org.w3c.dom.Element; +import at.gv.egovernment.moa.logging.Logger; import at.gv.egovernment.moa.spss.MOAApplicationException; import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; @@ -37,9 +39,11 @@ public class TransactionContext { private Element response; /** The map pointing to SOAP attachments needed by the request. */ private HashMap attachments = null; + /** The map containing cashed entities used in DataObjectFactory. */ + private HashMap resolvedEntities = null; /** The configuration to use throughout the request. */ private ConfigurationProvider configuration = null; - + /** * Create a TransactionContext object. * @@ -169,6 +173,23 @@ public class TransactionContext { this.attachments.put(referenceId, entry); } + /** + * Adds an attachment to the transactions list of SOAP attachments. + * + * @param referenceId Identification value for the SOAP attachment. + * @param contentType MIME type of the SOAP attachment. + * @param is Handle to the InputStream of the SOAP attachment. + * @param filename Filename of the temporary file the InputStream belongs to + */ + public void addAttachment(String referenceId, String contentType, InputStream is, String filename) { + if (this.attachments == null) this.attachments = new HashMap(); + Vector entry = new Vector(3); + entry.add(contentType); + entry.add(is); + entry.add(filename); + this.attachments.put(referenceId, entry); + } + /** * Returns the ManagedMemoryDataSource to a specific SOAP attachment identified by referenceId. * @@ -182,10 +203,14 @@ public class TransactionContext { if (entry==null) { return null; } - //return (InputStream) ( ((ManagedMemoryDataSource)entry.get(1)).getInputStream()); - return (ManagedMemoryDataSource) entry.get(1); + Object object = entry.get(1); + if (object instanceof ManagedMemoryDataSource) { + return (ManagedMemoryDataSource) object; + } else { + return null; + } } - + /** * Returns the InputStream to a specific SOAP attachment identified by uri. * @@ -202,12 +227,17 @@ public class TransactionContext { } InputStream attachmentIs = null; - try { - attachmentIs = (InputStream) ( ((ManagedMemoryDataSource)entry.get(1)).getInputStream()); - } catch (IOException e) { - throw new MOAApplicationException("2208", new Object[] { uri }, e); + Object object = entry.get(1); + + if (object instanceof ManagedMemoryDataSource) { + try { + attachmentIs = (InputStream) ( ((ManagedMemoryDataSource)object).getInputStream()); + } catch (IOException e) { + throw new MOAApplicationException("2208", new Object[] { uri }, e); + } + } else { + attachmentIs = (InputStream) object; } - return attachmentIs; //If we would return the whole mmds: return (ManagedMemoryDataSource) entry.get(1); } @@ -236,17 +266,32 @@ public void cleanAttachmentCache() { while (iterator.hasNext()) { Entry hmEntry = (Entry) iterator.next(); Vector entry = (Vector)hmEntry.getValue(); - ManagedMemoryDataSource mmds = (ManagedMemoryDataSource)entry.get(1); - try { - if (mmds!=null) { - InputStream is = mmds.getInputStream(); - if (is!=null) is.close(); - File f = mmds.getDiskCacheFile(); - if (f!=null) f.delete(); - mmds.delete(); - } - } catch (IOException e) { - // ok to do nothing here + Object object = entry.get(1); + if (object instanceof ManagedMemoryDataSource) { + ManagedMemoryDataSource mmds = (ManagedMemoryDataSource)object; + try { + if (mmds!=null) { + InputStream is = mmds.getInputStream(); + if (is!=null) is.close(); + File f = mmds.getDiskCacheFile(); + if (f!=null) f.delete(); + mmds.delete(); + } + } catch (IOException e) { + // ok to do nothing here + } + } else if (object instanceof InputStream) { + InputStream is = (InputStream)object; + try { + if (is!=null) is.close(); + String tempFile = (String) entry.get(2); + if (tempFile!=null){ + File f = new File(tempFile); + f.delete(); + } + } catch (IOException e) { + // ok to do nothing here + } } } } @@ -261,4 +306,50 @@ public void cleanAttachmentCache() { return configuration; } + /** + * Search an uri content in cashed map. + * + * @param uri The value to look for. + * @return If found the cached entity, null otherwise. + */ + public Vector FindResolvedEntity(String uri) { + if (resolvedEntities==null) return null; + return (Vector) resolvedEntities.get(uri); + } + + /** + * Get a new InputStream of a cached entity. + * + * @param uri The value to look for. + * @return A new InputStream of the cached entity. + */ + public InputStream ResolveURI(String uri) { + InputStream is = null; + Vector entity = FindResolvedEntity(uri); + if (entity!=null) { + byte[] contentBytes = (byte[]) entity.get(0); + if (contentBytes!=null) { + is = new ByteArrayInputStream(contentBytes); + } + } + return is; + } + + /** + * Put a read entity (supplement, detached content, data object) on + * transactions entity cash, to prevent repeated reading on slower channels. + * + * @param uri A transaction-wide unique URI used as key of the entity cash + * table. + * @param contentBytes The cached content belonging to the uri. + * @param contentType If known, the MIME-type of the cashed content. + */ + public void PutResolvedEntity(String uri, byte[] contentBytes, String contentType) { + Logger.trace(" storing uri content of uri \"" + uri + "\" for future references"); + if (resolvedEntities==null) resolvedEntities = new HashMap(); + Vector entity = new Vector(); + entity.add(contentBytes); + entity.add(contentType); + resolvedEntities.put(uri, entity); + } } diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/AllTests.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/AllTests.java deleted file mode 100644 index c670b5e55..000000000 --- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/AllTests.java +++ /dev/null @@ -1,40 +0,0 @@ -package test.at.gv.egovernment.moa.spss; - -import test.at.gv.egovernment.moa.spss.server.iaik.config.ConfigurationDataImplTest; -import test.at.gv.egovernment.moa.spss.server.iaik.config.IaikConfiguratorTest; -import test.at.gv.egovernment.moa.spss.server.tools.CertToolTest; - -import junit.awtui.TestRunner; -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * Test suite for all unit tests. - * - * @author Patrick Peck - * @version $Id$ - */ -public class AllTests { - - public static Test suite() { - TestSuite suite = new TestSuite(); - - suite.addTestSuite(test.at.gv.egovernment.moa.spss.server.config.AllTests.class); - suite.addTestSuite(ConfigurationDataImplTest.class); - suite.addTestSuite(IaikConfiguratorTest.class); - suite.addTest( - test.at.gv.egovernment.moa.spss.server.invoke.AllTests.suite()); - suite.addTest(test.at.gv.egovernment.moa.spss.api.xmlbind.AllTests.suite()); - suite.addTestSuite(CertToolTest.class); - - return suite; - } - - public static void main(String[] args) { - try { - TestRunner.run(AllTests.class); - } catch (Exception e) { - e.printStackTrace(); - } - } -} diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/SPSSTestCase.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/SPSSTestCase.java deleted file mode 100644 index a585e30a0..000000000 --- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/SPSSTestCase.java +++ /dev/null @@ -1,82 +0,0 @@ -package test.at.gv.egovernment.moa.spss; - -import java.security.Security; - -import test.at.gv.egovernment.moa.MOATestCase; - -import at.gv.egovernment.moa.logging.Logger; -import at.gv.egovernment.moa.logging.LoggingContext; -import at.gv.egovernment.moa.logging.LoggingContextManager; -import at.gv.egovernment.moa.util.MessageProvider; - -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; -import at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; - -/** - * Base class for MOA test cases. - * - * Provides some utility functions. - * - * @author Patrick Peck - * @version $Id$ - */ -public class SPSSTestCase extends MOATestCase { - - protected static final String TESTDATA_ROOT = "data/test/"; - - /** - * Constructor for MOATestCase. - * @param arg0 - */ - public SPSSTestCase(String name) { - super(name); - } - - /** - * Set up a transaction context with a test configuration. - */ - protected void setUpTransactionContext() throws Exception { - System.setProperty( - ConfigurationProvider.CONFIG_PROPERTY_NAME, - "data/test/conf/moa-spss/MOA-SPSSConfiguration.xml"); - ConfigurationProvider config = ConfigurationProvider.getInstance(); - TransactionContext context = new TransactionContext("test", null, config); - TransactionContextManager.getInstance().setTransactionContext(context); - } - - protected void setUpLoggingContext() throws Exception { - LoggingContext context = new LoggingContext("test"); - LoggingContextManager.getInstance().setLoggingContext(context); - } - - /** - * Configure the IAIK modules with the current configuration. - * - * A TransactionContext must have been set up before. - */ - protected void setUpIaikConfiguration() throws Exception { - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - ClassLoader cl = getClass().getClassLoader(); - MessageProvider msg = MessageProvider.getInstance(); - - try { - cl.loadClass("javax.security.cert.Certificate"); // from jcert.jar - } catch (ClassNotFoundException e) { - Logger.warn(msg.getMessage("init.03", null), e); - } - - new IaikConfigurator().configure(context.getConfiguration()); - } - - protected void setUpSSL() throws Exception { - //System.setProperty("javax.net.debug", "all"); - Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); - System.setProperty( - "java.protocol.handler.pkgs", - "com.sun.net.ssl.internal.www.protocol"); - } - -} diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java deleted file mode 100644 index 28f79729e..000000000 --- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java +++ /dev/null @@ -1,24 +0,0 @@ -package test.at.gv.egovernment.moa.spss.api.xmlbind; - -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * Runs all tests in this package. - * - * @author Patrick Peck - * @version $Id$ - */ -public class AllTests { - public static Test suite() { - TestSuite suite = new TestSuite(); - - suite.addTestSuite(CreateXMLSignatureRequestParserTest.class); - suite.addTestSuite(TransformParserTest.class); - suite.addTestSuite(VerifyCMSSignatureRequestParserTest.class); - suite.addTestSuite(VerifyXMLSignatureRequestParserTest.class); - - return suite; - } - -} diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java deleted file mode 100644 index 7ce705b01..000000000 --- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java +++ /dev/null @@ -1,71 +0,0 @@ -package test.at.gv.egovernment.moa.spss.api.xmlbind; - -import org.w3c.dom.Element; - -import test.at.gv.egovernment.moa.spss.SPSSTestCase; - -import at.gv.egovernment.moa.spss.api.xmlbind.CreateXMLSignatureRequestParser; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfileExplicit; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileExplicit; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest; -import at.gv.egovernment.moa.spss.api.xmlsign.DataObjectInfo; -import at.gv.egovernment.moa.spss.api.xmlsign.SingleSignatureInfo; - -/** - * Test the CreateXMLSignatureRequestParser. - * - * @author Patrick Peck - * @version $Id$ - */ -public class CreateXMLSignatureRequestParserTest extends SPSSTestCase { - private static final String TESTDATA_BASE = - TESTDATA_ROOT + "xml/CreateXMLSignature/"; - - private CreateXMLSignatureRequestParser requestParser; - - public CreateXMLSignatureRequestParserTest(String name) { - super(name); - } - - protected void setUp() throws Exception { - requestParser = new CreateXMLSignatureRequestParser(); - } - - public void testParse() throws Exception { - Element requestElem = - parseXml(TESTDATA_BASE + "TestGeneratorCX2.001.Req.xml") - .getDocumentElement(); - CreateXMLSignatureRequest request = requestParser.parse(requestElem); - SingleSignatureInfo sigInfo; - DataObjectInfo dataObjInfo; - CreateTransformsInfoProfileExplicit transProfile; - CreateSignatureEnvironmentProfileExplicit envProfile; - - assertNotNull(request); - assertEquals("PKCS12RSAKey1", request.getKeyIdentifier()); - assertEquals(1, request.getSingleSignatureInfos().size()); - - sigInfo = (SingleSignatureInfo) request.getSingleSignatureInfos().get(0); - assertEquals(1, sigInfo.getDataObjectInfos().size()); - assertFalse(sigInfo.isSecurityLayerConform()); - - dataObjInfo = (DataObjectInfo) sigInfo.getDataObjectInfos().get(0); - assertNotNull(dataObjInfo.getDataObject()); - - transProfile = - (CreateTransformsInfoProfileExplicit) dataObjInfo - .getCreateTransformsInfoProfile(); - assertNotNull( - transProfile.getCreateTransformsInfo().getFinalDataMetaInfo()); - - envProfile = - (CreateSignatureEnvironmentProfileExplicit) sigInfo - .getCreateSignatureInfo() - .getCreateSignatureEnvironmentProfile(); - assertEquals( - "//data:Document", - envProfile.getCreateSignatureLocation().getXPathExpression()); - assertEquals(0, envProfile.getCreateSignatureLocation().getIndex()); - } - -} diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java deleted file mode 100644 index f580f86bc..000000000 --- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java +++ /dev/null @@ -1,113 +0,0 @@ -package test.at.gv.egovernment.moa.spss.api.xmlbind; - -import java.util.List; - -import org.w3c.dom.Element; - -import test.at.gv.egovernment.moa.spss.SPSSTestCase; - -import at.gv.egovernment.moa.spss.api.common.CanonicalizationTransform; -import at.gv.egovernment.moa.spss.api.common.EnvelopedSignatureTransform; -import at.gv.egovernment.moa.spss.api.common.ExclusiveCanonicalizationTransform; -import at.gv.egovernment.moa.spss.api.common.XPathFilter2Transform; -import at.gv.egovernment.moa.spss.api.common.XPathTransform; -import at.gv.egovernment.moa.spss.api.common.XSLTTransform; -import at.gv.egovernment.moa.spss.api.xmlbind.TransformParser; - -/** - * Test the TransformParser. - * - * @author Patrick Peck - * @version $Id$ - */ -public class TransformParserTest extends SPSSTestCase { - private static String TESTDATA_BASE = TESTDATA_ROOT + "xml/dsigTransform/"; - - private TransformParser transformParser; - - public TransformParserTest(String name) { - super(name); - } - - protected void setUp() { - transformParser = new TransformParser(); - } - - public void testParseTransforms() throws Exception { - Element transformsElem = - parseXml(TESTDATA_BASE + "transforms.xml").getDocumentElement(); - List transforms = transformParser.parseTransforms(transformsElem); - - assertNotNull(transforms); - assertEquals(3, transforms.size()); - - } - - public void testParseCanonicalizationTransform() throws Exception { - Element transformElem = - parseXml(TESTDATA_BASE + "canonicalization.xml").getDocumentElement(); - CanonicalizationTransform transform = - (CanonicalizationTransform) transformParser.parseTransform(transformElem); - - assertNotNull(transform); - assertEquals( - CanonicalizationTransform.CANONICAL_XML, - transform.getAlgorithmURI()); - } - - public void testParseExclCanonicalizationTransform() throws Exception { - Element transformElem = - parseXml(TESTDATA_BASE + "exclusiveCanonicalization.xml") - .getDocumentElement(); - ExclusiveCanonicalizationTransform transform = - (ExclusiveCanonicalizationTransform) transformParser.parseTransform( - transformElem); - - assertNotNull(transform); - assertEquals( - ExclusiveCanonicalizationTransform.EXCLUSIVE_CANONICAL_XML, - transform.getAlgorithmURI()); - assertEquals(3, transform.getInclusiveNamespacePrefixes().size()); - } - - public void testParseEnvelopedTransform() throws Exception { - Element transformElem = - parseXml(TESTDATA_BASE + "enveloped.xml").getDocumentElement(); - EnvelopedSignatureTransform transform = - (EnvelopedSignatureTransform) transformParser.parseTransform( - transformElem); - - assertNotNull(transform); - } - - public void testParseXPathTransform() throws Exception { - Element transformElem = - parseXml(TESTDATA_BASE + "xpath.xml").getDocumentElement(); - XPathTransform transform = - (XPathTransform) transformParser.parseTransform(transformElem); - - assertNotNull(transform); - assertEquals("//ToBeSigned/Data", transform.getXPathExpression()); - assertEquals(1, transform.getNamespaceDeclarations().size()); - } - - public void testParseXPathFilter2Transform() throws Exception { - Element transformElem = - parseXml(TESTDATA_BASE + "xpath2.xml").getDocumentElement(); - XPathFilter2Transform transform = - (XPathFilter2Transform) transformParser.parseTransform(transformElem); - - assertNotNull(transform); - assertEquals(3, transform.getFilters().size()); - } - - public void testParseXSLTTransform() throws Exception { - Element transformElem = - parseXml(TESTDATA_BASE + "xslt.xml").getDocumentElement(); - XSLTTransform transform = - (XSLTTransform) transformParser.parseTransform(transformElem); - - assertNotNull(transform); - } - -} diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java deleted file mode 100644 index 4be7667eb..000000000 --- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java +++ /dev/null @@ -1,61 +0,0 @@ -package test.at.gv.egovernment.moa.spss.api.xmlbind; - -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.util.DateTimeUtils; - -import test.at.gv.egovernment.moa.spss.SPSSTestCase; - -import at.gv.egovernment.moa.spss.api.cmsverify.CMSContentExcplicit; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest; -import at.gv.egovernment.moa.spss.api.common.MetaInfo; -import at.gv.egovernment.moa.spss.api.xmlbind.VerifyCMSSignatureRequestParser; - -/** - * Test the VerifyCMSSignatureRequestParserTest. - * - * @author Patrick Peck - * @version $Id$ - */ -public class VerifyCMSSignatureRequestParserTest extends SPSSTestCase { - private static String TESTDATA_BASE = - TESTDATA_ROOT + "xml/VerifyCMSSignature/"; - - private VerifyCMSSignatureRequestParser requestParser; - - public VerifyCMSSignatureRequestParserTest(String name) { - super(name); - } - - protected void setUp() throws Exception { - requestParser = new VerifyCMSSignatureRequestParser(); - } - - public void testParse() throws Exception { - Element requestElem = - parseXml(TESTDATA_BASE + "TestGeneratorVC0.001.Req.xml") - .getDocumentElement(); - VerifyCMSSignatureRequest request = requestParser.parse(requestElem); - MetaInfo metaInfo; - CMSContentExcplicit content; - - assertNotNull(request); - assertEquals(1, request.getSignatories()[0]); - assertEquals( - DateTimeUtils.parseDateTime("2003-04-04T09:30:47-05:00"), - request.getDateTime()); - assertNotNull(request.getCMSSignature()); - assertNotNull(request.getDataObject()); - assertEquals("TrustProfile1", request.getTrustProfileId()); - - metaInfo = request.getDataObject().getMetaInfo(); - assertNotNull(metaInfo); - assertEquals("text/plain", metaInfo.getMimeType()); - assertEquals("http://10.16.46.109/TestDatenGenerator/resources/testDaten.txt", metaInfo.getDescription()); - - content = (CMSContentExcplicit) request.getDataObject().getContent(); - assertNotNull(content.getBinaryContent()); - - } - -} diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java deleted file mode 100644 index 3b8e8b00e..000000000 --- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java +++ /dev/null @@ -1,81 +0,0 @@ -package test.at.gv.egovernment.moa.spss.api.xmlbind; - -import org.w3c.dom.Element; - -import test.at.gv.egovernment.moa.spss.SPSSTestCase; - -import at.gv.egovernment.moa.util.DateTimeUtils; - -import at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureRequestParser; -import at.gv.egovernment.moa.spss.api.xmlverify.ReferenceInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.SignatureManifestCheckParams; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureInfo; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfileExplicit; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; - -/** - * Test the VerifyXMLSignatureRequestParserTest. - * - * @author Patrick Peck - * @version $Id$ - */ -public class VerifyXMLSignatureRequestParserTest extends SPSSTestCase { - private static String TESTDATA_BASE = - TESTDATA_ROOT + "xml/VerifyXMLSignature/"; - - private VerifyXMLSignatureRequestParser parser; - - public VerifyXMLSignatureRequestParserTest(String name) { - super(name); - } - - protected void setUp() throws Exception { - parser = new VerifyXMLSignatureRequestParser(); - } - - public void testParse() throws Exception { - Element requestElem = - parseXml(TESTDATA_BASE + "TestGeneratorVX.201.Req.xml") - .getDocumentElement(); - VerifyXMLSignatureRequest request = parser.parse(requestElem); - VerifySignatureInfo verifySignatureInfo; - VerifySignatureLocation verifyLocation; - SignatureManifestCheckParams checkParams; - ReferenceInfo refInfo; - VerifyTransformsInfoProfileExplicit transformsProfile; - - assertNotNull(request); - assertEquals( - DateTimeUtils.parseDateTime("2003-04-01T12:53:57+01:00"), - request.getDateTime()); - assertFalse(request.getReturnHashInputData()); - assertEquals("TrustProfile1", request.getTrustProfileId()); - - verifySignatureInfo = request.getSignatureInfo(); - assertNotNull(verifySignatureInfo); - assertNotNull(verifySignatureInfo.getVerifySignatureEnvironment()); - - verifyLocation = verifySignatureInfo.getVerifySignatureLocation(); - assertNotNull(verifyLocation); - assertEquals("//dsig:Signature", verifyLocation.getXPathExpression()); - assertEquals(3, verifyLocation.getNamespaceDeclarations().size()); - - checkParams = request.getSignatureManifestCheckParams(); - assertNotNull(checkParams); - assertEquals(true, checkParams.getReturnReferenceInputData()); - assertEquals(1, checkParams.getReferenceInfos().size()); - - refInfo = (ReferenceInfo) checkParams.getReferenceInfos().get(0); - assertEquals(1, refInfo.getVerifyTransformsInfoProfiles().size()); - - transformsProfile = - (VerifyTransformsInfoProfileExplicit) refInfo - .getVerifyTransformsInfoProfiles() - .get(0); - assertEquals(1, transformsProfile.getTransforms().size()); - assertEquals(1, transformsProfile.getTransformParameters().size()); - - } - -} diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/AllTests.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/AllTests.java deleted file mode 100644 index 131f38c19..000000000 --- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/AllTests.java +++ /dev/null @@ -1,20 +0,0 @@ -package test.at.gv.egovernment.moa.spss.server.config; - -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * @author Gregor Karlinger - * @version $Id$ - */ -public class AllTests -{ - public static Test suite() - { - TestSuite suite = new TestSuite(); - suite.addTestSuite(ConfigurationProviderTest1.class); - suite.addTestSuite(ConfigurationProviderTest2.class); - suite.addTestSuite(ConfigurationProviderTest3.class); - return suite; - } -} diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest1.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest1.java deleted file mode 100644 index 474a387ad..000000000 --- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest1.java +++ /dev/null @@ -1,377 +0,0 @@ -package test.at.gv.egovernment.moa.spss.server.config; - -import iaik.asn1.structures.Name; -import iaik.pki.pathvalidation.ChainingModes; -import iaik.utils.RFC2253NameParser; -import iaik.utils.RFC2253NameParserException; -import iaik.x509.X509Certificate; - -import java.math.BigInteger; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import junit.framework.TestCase; - -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.spss.MOAException; -import at.gv.egovernment.moa.spss.server.config.CRLDistributionPoint; -import at.gv.egovernment.moa.spss.server.config.ConfigurationException; -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; -import at.gv.egovernment.moa.spss.server.config.HardwareCryptoModule; -import at.gv.egovernment.moa.spss.server.config.HardwareKeyModule; -import at.gv.egovernment.moa.spss.server.config.KeyGroup; -import at.gv.egovernment.moa.spss.server.config.KeyGroupEntry; -import at.gv.egovernment.moa.spss.server.config.OCSPDistributionPoint; -import at.gv.egovernment.moa.spss.server.config.SoftwareKeyModule; -import at.gv.egovernment.moa.spss.server.config.TrustProfile; -import at.gv.egovernment.moa.util.Constants; - -/** - * @author Gregor Karlinger - * @version $Id$ - */ -public class ConfigurationProviderTest1 extends TestCase -{ - private static final String CONFIG_BASE_ = - "e:/cio/projekte/basismodule/wartung/projekt/spss.server/res/test/resources/config/"; - - static at.gv.egovernment.moa.spss.server.config.ConfigurationProvider provider_; - - static - { - System.setProperty( - "log4j.configuration", - "file:/" + CONFIG_BASE_ + "log4j.properties"); - System.setProperty( - at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.CONFIG_PROPERTY_NAME, - CONFIG_BASE_ + "moa.spss.complete-config.xml"); - try - { - ConfigurationProvider.reload(); - provider_ = at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.getInstance(); - } - catch (ConfigurationException e) - { - throw new RuntimeException("Fehler beim Setup des Tests: " + e.getMessage()); - } - } - - /** - * Constructor for ConfigurationProvider. - * @param arg0 - */ - public ConfigurationProviderTest1() throws MOAException - { - super("ConfigurationProvider"); - } - - public void testGetWarnings() - { - assertEquals(0, provider_.getWarnings().size()); - } - - public void testGetDigestMethodAlgorithmName() - { - assertEquals( - Constants.SHA1_URI, - provider_.getDigestMethodAlgorithmName()); - } - - public void testGetCanonicalizationAlgorithmName() - { - assertEquals( - Constants.C14N_WITH_COMMENTS_URI, - provider_.getCanonicalizationAlgorithmName()); - } - - public void testGetHardwareCryptoModules() - { - List hwcms = provider_.getHardwareCryptoModules(); - assertEquals(2, hwcms.size()); - - HardwareCryptoModule hwc1 = (HardwareCryptoModule) hwcms.get(0); - assertEquals("HWC1_Name", hwc1.getName()); - assertEquals("HWC1_SlotId", hwc1.getSlotID()); - assertEquals("HWC1_UserPIN", hwc1.getUserPIN()); - - HardwareCryptoModule hwc2 = (HardwareCryptoModule) hwcms.get(1); - assertEquals("HWC2_Name", hwc2.getName()); - assertNull(hwc2.getSlotID()); - assertEquals("HWC2_UserPIN", hwc2.getUserPIN()); - } - - public void testGetHardwareKeyModules() - { - List hwkms = provider_.getHardwareKeyModules(); - assertEquals(2, hwkms.size()); - - HardwareKeyModule hwk1 = (HardwareKeyModule) hwkms.get(0); - assertEquals("HWK1_Id", hwk1.getId()); - assertEquals("HWK1_Name", hwk1.getName()); - assertEquals("HWK1_SlotId", hwk1.getSlotID()); - assertEquals("HWK1_UserPIN", hwk1.getUserPIN()); - - HardwareKeyModule hwk2 = (HardwareKeyModule) hwkms.get(1); - assertEquals("HWK2_Id", hwk2.getId()); - assertEquals("HWK2_Name", hwk2.getName()); - assertNull(hwk2.getSlotID()); - assertEquals("HWK2_UserPIN", hwk2.getUserPIN()); - } - - public void testGetSoftwareKeyModules() - { - List swkms = provider_.getSoftwareKeyModules(); - assertEquals(2, swkms.size()); - - SoftwareKeyModule swk1 = (SoftwareKeyModule) swkms.get(0); - assertEquals("SWK1_Id", swk1.getId()); - assertEquals(CONFIG_BASE_ + "swk/SWK1_FileName.txt", swk1.getFileName().replace('\\', '/')); - assertEquals("SWK1_Password", swk1.getPassWord()); - - SoftwareKeyModule swk2 = (SoftwareKeyModule) swkms.get(1); - assertEquals("SWK2_Id", swk2.getId()); - assertEquals(CONFIG_BASE_ + "swk/SWK2_FileName.txt", swk2.getFileName().replace('\\', '/')); - assertNull(swk2.getPassWord()); - } - - public void testGetKeyGroups() - { - Map keyGroups = provider_.getKeyGroups(); - assertEquals(2, keyGroups.size()); - - KeyGroup kg1 = (KeyGroup) keyGroups.get("KG1_Id"); - assertNotNull(kg1); - assertEquals("KG1_Id", kg1.getId()); - - Set kg1Entries = kg1.getKeyGroupEntries(); - assertEquals(2, kg1Entries.size()); - - Iterator kg1EntriesIt = kg1Entries.iterator(); - while(kg1EntriesIt.hasNext()) - { - KeyGroupEntry currentEntry = (KeyGroupEntry)kg1EntriesIt.next(); - if ("HWK1_Id".equals(currentEntry.getModuleID())) - { - assertEquals("CN=HWK1_Issuer", currentEntry.getIssuerDN()); - assertEquals(0, currentEntry.getSerialNumber().intValue()); - } - else if ("HWK2_Id".equals(currentEntry.getModuleID())) - { - assertEquals("CN=HWK2_Issuer", currentEntry.getIssuerDN()); - assertEquals(1, currentEntry.getSerialNumber().intValue()); - } - else fail("Invalid module identifer found."); - } - - KeyGroup kg2 = (KeyGroup) keyGroups.get("KG2_Id"); - assertNotNull(kg2); - assertEquals("KG2_Id", kg2.getId()); - - Set kg2Entries = kg2.getKeyGroupEntries(); - assertEquals(2, kg2Entries.size()); - - Iterator kg2EntriesIt = kg1Entries.iterator(); - while(kg1EntriesIt.hasNext()) - { - KeyGroupEntry currentEntry = (KeyGroupEntry)kg2EntriesIt.next(); - if ("SWK1_Id".equals(currentEntry.getModuleID())) - { - assertEquals("CN=CN=SWK1_Issuer", currentEntry.getIssuerDN()); - assertEquals(2, currentEntry.getSerialNumber().intValue()); - } - else if ("SWK2_Id".equals(currentEntry.getModuleID())) - { - assertEquals("CN=SWK2_Issuer", currentEntry.getIssuerDN()); - assertEquals(3, currentEntry.getSerialNumber().intValue()); - } - else fail("Invalid module identifer found."); - } - } - - public void testGetKeyGroupEntries() throws RFC2253NameParserException - { - RFC2253NameParser parser = new RFC2253NameParser("CN=Customer1_Issuer"); - Name name = parser.parse(); - Set kgEntries = provider_.getKeyGroupEntries(name, BigInteger.valueOf(4), "KG1_Id"); - assertEquals(2, kgEntries.size()); - - Iterator kgEntriesIt = kgEntries.iterator(); - while (kgEntriesIt.hasNext()) - { - KeyGroupEntry currentEntry = (KeyGroupEntry) kgEntriesIt.next(); - if (!"HWK1_Id".equals(currentEntry.getModuleID()) && !"HWK2_Id".equals(currentEntry.getModuleID())) - { - fail("Invalid module identifier found."); - } - } - } - - public void testGetChainingMode() throws RFC2253NameParserException - { - X509Certificate cert = new X509Certificate(); - RFC2253NameParser parser = new RFC2253NameParser("CN=Unknown"); - Name name = parser.parse(); - cert.setIssuerDN(name); - cert.setSerialNumber(BigInteger.valueOf(0)); - assertEquals(ChainingModes.PKIX_MODE, provider_.getChainingMode(cert)); // Default chaining mode - - parser = new RFC2253NameParser("CN=TA1_Issuer"); - name = parser.parse(); - cert.setIssuerDN(name); - cert.setSerialNumber(BigInteger.valueOf(5)); - assertEquals(ChainingModes.CHAIN_MODE, provider_.getChainingMode(cert)); - } - - public void testGetDistributionPoints() throws RFC2253NameParserException - { - X509Certificate cert = new X509Certificate(); - RFC2253NameParser parser = new RFC2253NameParser("CN=DP1_Issuer"); - Name name = parser.parse(); - cert.setIssuerDN(name); - - Set dps = provider_.getDistributionPoints(cert); - assertEquals(2, dps.size()); - - Iterator dpIt = dps.iterator(); - while (dpIt.hasNext()) - { - CRLDistributionPoint currentDP = (CRLDistributionPoint)dpIt.next(); - if ("http://crl.myca.org".equals(currentDP.getUri())) - { - int reasonCodes = - iaik.asn1.structures.DistributionPoint.unused | - iaik.asn1.structures.DistributionPoint.keyCompromise | - iaik.asn1.structures.DistributionPoint.cACompromise | - iaik.asn1.structures.DistributionPoint.affiliationChanged | - iaik.asn1.structures.DistributionPoint.superseded | - iaik.asn1.structures.DistributionPoint.cessationOfOperation | - iaik.asn1.structures.DistributionPoint.certificateHold | - iaik.asn1.structures.DistributionPoint.privilegeWithdrawn | - iaik.asn1.structures.DistributionPoint.aACompromise; - assertEquals(reasonCodes, currentDP.getReasonCodes()); - } - else if ("http://crl.myotherca.org".equals(currentDP.getUri())) - { - int reasonCodes = - iaik.asn1.structures.DistributionPoint.aACompromise | - iaik.asn1.structures.DistributionPoint.affiliationChanged; - assertEquals(reasonCodes, currentDP.getReasonCodes()); - } - else fail("Invalid CRL DP URI found: " + currentDP.getUri()); - } - - parser = new RFC2253NameParser("CN=DP2_Issuer"); - name = parser.parse(); - cert.setIssuerDN(name); - - dps = provider_.getDistributionPoints(cert); - assertEquals(1, dps.size()); - - OCSPDistributionPoint dpo = (OCSPDistributionPoint) dps.toArray()[0]; - assertEquals("http://crl.yetanotherca.org", dpo.getUri()); - } - - public void testGetCRLArchiveDuration() - { - assertEquals(730, provider_.getCRLArchiveDuration()); - } - - public void testGetEnableRevocationArchiving() - { - assertFalse(provider_.getEnableRevocationArchiving()); - } - - public void testGetCertStoreLocation() - { - assertEquals( - CONFIG_BASE_ + "certstore_test", - provider_.getCertStoreLocation().replace('\\', '/')); - } - - public void testGetCreateTransformsInfoProfile() - { - Element ctip1 = provider_.getCreateTransformsInfoProfile("CTIP_1"); - assertEquals("CreateTransformsInfoProfile", ctip1.getLocalName()); - - Element ctip2 = provider_.getCreateTransformsInfoProfile("CTIP_2"); - assertEquals("CreateTransformsInfoProfile", ctip2.getLocalName()); - } - - public void testGetCreateSignatureEnvironmentProfile() - { - Element csep = provider_.getCreateSignatureEnvironmentProfile("CSEP_1"); - assertEquals("CreateSignatureEnvironmentProfile", csep.getLocalName()); - } - - public void testGetVerifyTransformsInfoProfile() - { - Element vtip = provider_.getVerifyTransformsInfoProfile("VTIP_1"); - assertEquals("VerifyTransformsInfoProfile", vtip.getLocalName()); - } - - public void testGetSupplementProfile() - { - Element sp = provider_.getSupplementProfile("SP_1"); - assertEquals("SupplementProfile", sp.getLocalName()); - } - - public void testGetTrustProfile() - { - TrustProfile tp1 = provider_.getTrustProfile("TP1_Id"); - assertEquals( - "file:/" + CONFIG_BASE_ + "trustprofiles/tp1/anchors", - tp1.getUri()); - assertEquals( - "file:/" + CONFIG_BASE_ + "trustprofiles/tp1/signercerts", - tp1.getSignerCertsUri()); - - TrustProfile tp2 = provider_.getTrustProfile("TP2_Id"); - assertEquals( - "file:" + CONFIG_BASE_ + "trustprofiles/tp2/anchors", - tp2.getUri()); - assertEquals( - "file:" + CONFIG_BASE_ + "trustprofiles/tp2/signercerts", - tp2.getSignerCertsUri()); - } - - public void testGetRevocationArchiveJDBCURL() - { - assertEquals("jdbc://dummy", provider_.getRevocationArchiveJDBCURL()); - } - - public void testGetRevocationArchiveJDBCDriverClass() - { - assertEquals("fully.qualified.classname", provider_.getRevocationArchiveJDBCDriverClass()); - } - - public void testGetEnableRevocationChecking() - { - assertFalse(provider_.getEnableRevocationChecking()); - } - - public void testGetMaxRevocationAge() - { - assertEquals(10000, provider_.getMaxRevocationAge()); - } - - public void testGetServiceOrder() - { - String[] serviceOrder = provider_.getServiceOrder(); - assertEquals(2, serviceOrder.length); - assertEquals("crl", serviceOrder[0]); - assertEquals("ocsp", serviceOrder[1]); - } - - public void testGetAutoAddCertificates() - { - assertFalse(provider_.getAutoAddCertificates()); - } - - public void testGetUseAuthorityInfoAccess() - { - assertFalse(provider_.getUseAuthorityInfoAccess()); - } -} diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest2.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest2.java deleted file mode 100644 index adf02809b..000000000 --- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest2.java +++ /dev/null @@ -1,225 +0,0 @@ -package test.at.gv.egovernment.moa.spss.server.config; - -import iaik.asn1.structures.Name; -import iaik.pki.pathvalidation.ChainingModes; -import iaik.utils.RFC2253NameParser; -import iaik.utils.RFC2253NameParserException; -import iaik.x509.X509Certificate; - -import java.math.BigInteger; -import java.util.List; -import java.util.Set; - -import junit.framework.TestCase; - -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.spss.MOAException; -import at.gv.egovernment.moa.spss.server.config.ConfigurationException; -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; -import at.gv.egovernment.moa.spss.server.config.TrustProfile; -import at.gv.egovernment.moa.util.Constants; - -/** - * @author Gregor Karlinger - * @version $Id$ - */ -public class ConfigurationProviderTest2 extends TestCase -{ - private static final String CONFIG_BASE_ = - "e:/cio/projekte/basismodule/wartung/projekt/spss.server/res/test/resources/config/"; - - static at.gv.egovernment.moa.spss.server.config.ConfigurationProvider provider_; - - static - { - System.setProperty( - "log4j.configuration", - "file:/" + CONFIG_BASE_ + "log4j.properties"); - System.setProperty( - at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.CONFIG_PROPERTY_NAME, - CONFIG_BASE_ + "moa.ss.noopts-config.xml"); - try - { - ConfigurationProvider.reload(); - provider_ = at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.getInstance(); - } - catch (ConfigurationException e) - { - throw new RuntimeException("Fehler beim Setup des Tests: " + e.getMessage()); - } - } - - - /** - * Constructor for ConfigurationProvider. - * @param arg0 - */ - public ConfigurationProviderTest2() throws MOAException - { - super("ConfigurationProvider"); - } - - public void testGetWarnings() - { - // 3 Warnings should be collected: C14N not found, DigestMethod not found, ArchiveDuration not found - assertEquals(3, provider_.getWarnings().size()); - } - - public void testGetDigestMethodAlgorithmName() - { - // Element is missing in config file, check if default value is returned - assertEquals( - Constants.SHA1_URI, - provider_.getDigestMethodAlgorithmName()); - } - - public void testGetCanonicalizationAlgorithmName() - { - // Element is missing in config file, check if default value is returned - assertEquals( - Constants.C14N_URI, - provider_.getCanonicalizationAlgorithmName()); - } - - public void testGetHardwareCryptoModules() - { - // No hardware crypto modules in config file, check for empty list - List hwcms = provider_.getHardwareCryptoModules(); - assertEquals(0, hwcms.size()); - } - - public void testGetHardwareKeyModules() - { - List hwkms = provider_.getHardwareKeyModules(); - assertEquals(1, hwkms.size()); - } - - public void testGetSoftwareKeyModules() - { - // No software key modules in config file, check for empty list - List swkms = provider_.getSoftwareKeyModules(); - assertEquals(0, swkms.size()); - } - - public void testGetChainingMode() throws RFC2253NameParserException - { - // Default Chaining Mode not set in configuration, check for default value - X509Certificate cert = new X509Certificate(); - RFC2253NameParser parser = new RFC2253NameParser("CN=Unknown"); - Name name = parser.parse(); - cert.setIssuerDN(name); - cert.setSerialNumber(BigInteger.valueOf(0)); - assertEquals(ChainingModes.PKIX_MODE, provider_.getChainingMode(cert)); - } - - public void testGetDistributionPoints() throws RFC2253NameParserException - { - // Element is missing in config file, check if emty list is returned - X509Certificate cert = new X509Certificate(); - RFC2253NameParser parser = new RFC2253NameParser("CN=DP1_Issuer"); - Name name = parser.parse(); - cert.setIssuerDN(name); - - Set dps = provider_.getDistributionPoints(cert); - assertEquals(0, dps.size()); - } - - public void testGetCRLArchiveDuration() - { - // Element is missing in config file, check if default value is returned - assertEquals(0, provider_.getCRLArchiveDuration()); - } - - public void testGetEnableRevocationArchiving() - { - // Element is missing in config file, check if default value is returned - assertFalse(provider_.getEnableRevocationArchiving()); - } - - public void testGetCertStoreLocation() - { - // Element is missing in config file, check if default value is returned - assertEquals( - CONFIG_BASE_ + "certstore", - provider_.getCertStoreLocation().replace('\\', '/')); - } - - public void testGetCreateTransformsInfoProfile() - { - // No profile in config file, check for null - Element ctip1 = provider_.getCreateTransformsInfoProfile("CTIP_1"); - assertNull(ctip1); - } - - public void testGetCreateSignatureEnvironmentProfile() - { - // No profile in config file, check for null - Element csep = provider_.getCreateSignatureEnvironmentProfile("CSEP_1"); - assertNull(csep); - } - - public void testGetVerifyTransformsInfoProfile() - { - // No profile in config file, check for null - Element vtip = provider_.getVerifyTransformsInfoProfile("VTIP_1"); - assertNull(vtip); - } - - public void testGetSupplementProfile() - { - // No profile in config file, check for null - Element sp = provider_.getSupplementProfile("SP_1"); - assertNull(sp); - } - - public void testGetTrustProfile() - { - // No trust profiles config file, check for null - TrustProfile tp1 = provider_.getTrustProfile("TP1_Id"); - assertNull(tp1); - } - - public void testGetRevocationArchiveJDBCURL() - { - // Element is missing in config file, check for null - assertNull(provider_.getRevocationArchiveJDBCURL()); - } - - public void testGetRevocationArchiveJDBCDriverClass() - { - // Element is missing in config file, check for null - assertNull(provider_.getRevocationArchiveJDBCDriverClass()); - } - - public void testGetEnableRevocationChecking() - { - // Element is missing in config file, check for default value - assertFalse(provider_.getEnableRevocationChecking()); - } - - public void testGetMaxRevocationAge() - { - // Element is missing in config file, check for default value - assertEquals(0, provider_.getMaxRevocationAge()); - } - - public void testGetServiceOrder() - { - // Element is missing in config file, check for empty array - String[] serviceOrder = provider_.getServiceOrder(); - assertEquals(0, serviceOrder.length); - } - - public void testGetAutoAddCertificates() - { - // Element is missing in config file, check for default value - assertFalse(provider_.getAutoAddCertificates()); - } - - public void testGetUseAuthorityInfoAccess() - { - // Element is missing in config file, check for default value - assertFalse(provider_.getUseAuthorityInfoAccess()); - } -} diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest3.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest3.java deleted file mode 100644 index 7da2165cb..000000000 --- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest3.java +++ /dev/null @@ -1,166 +0,0 @@ -package test.at.gv.egovernment.moa.spss.server.config; - -import iaik.asn1.structures.Name; -import iaik.utils.RFC2253NameParser; -import iaik.utils.RFC2253NameParserException; -import iaik.x509.X509Certificate; - -import java.util.List; -import java.util.Set; - -import junit.framework.TestCase; - -import org.w3c.dom.Element; - -import at.gv.egovernment.moa.spss.MOAException; -import at.gv.egovernment.moa.spss.server.config.ConfigurationException; -import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; -import at.gv.egovernment.moa.util.Constants; - -/** - * @author Gregor Karlinger - * @version $Id$ - */ -public class ConfigurationProviderTest3 extends TestCase -{ - private static final String CONFIG_BASE_ = - "e:/cio/projekte/basismodule/wartung/projekt/spss.server/res/test/resources/config/"; - - static at.gv.egovernment.moa.spss.server.config.ConfigurationProvider provider_; - - static - { - System.setProperty( - "log4j.configuration", - "file:/" + CONFIG_BASE_ + "log4j.properties"); - System.setProperty( - at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.CONFIG_PROPERTY_NAME, - CONFIG_BASE_ + "moa.sp.noopts-config.xml"); - try - { - ConfigurationProvider.reload(); - provider_ = at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.getInstance(); - } - catch (ConfigurationException e) - { - throw new RuntimeException("Fehler beim Setup des Tests: " + e.getMessage()); - } - } - - /** - * Constructor for ConfigurationProvider. - * @param arg0 - */ - public ConfigurationProviderTest3() throws MOAException - { - super("ConfigurationProvider"); - } - - public void testGetWarnings() - { - // 3 Warnings should be collected: C14N not found, DigestMethod not found, ArchiveDuration not found - assertEquals(3, provider_.getWarnings().size()); - } - - public void testGetDigestMethodAlgorithmName() - { - // Element is missing in config file, check if default value is returned - assertEquals( - Constants.SHA1_URI, - provider_.getDigestMethodAlgorithmName()); - } - - public void testGetCanonicalizationAlgorithmName() - { - // Element is missing in config file, check if default value is returned - assertEquals( - Constants.C14N_URI, - provider_.getCanonicalizationAlgorithmName()); - } - - public void testGetHardwareCryptoModules() - { - // No hardware crypto modules in config file, check for empty list - List hwcms = provider_.getHardwareCryptoModules(); - assertEquals(0, hwcms.size()); - } - - public void testGetHardwareKeyModules() - { - // No hardware key modules in config file, check for empty list - List hwkms = provider_.getHardwareKeyModules(); - assertEquals(0, hwkms.size()); - } - - public void testGetSoftwareKeyModules() - { - // No software key modules in config file, check for empty list - List swkms = provider_.getSoftwareKeyModules(); - assertEquals(0, swkms.size()); - } - - public void testGetDistributionPoints() throws RFC2253NameParserException - { - // No distribution points in config file, check for emtpy set - X509Certificate cert = new X509Certificate(); - RFC2253NameParser parser = new RFC2253NameParser("CN=DP1_Issuer"); - Name name = parser.parse(); - cert.setIssuerDN(name); - - Set dps = provider_.getDistributionPoints(cert); - assertEquals(0, dps.size()); - } - - public void testGetCRLArchiveDuration() - { - // No archive duration in config file, check for default value - assertEquals(0, provider_.getCRLArchiveDuration()); - } - - public void testGetCreateTransformsInfoProfile() - { - // No profile in config file, check for null - Element ctip1 = provider_.getCreateTransformsInfoProfile("CTIP_1"); - assertNull(ctip1); - } - - public void testGetCreateSignatureEnvironmentProfile() - { - // No profile in config file, check for null - Element csep = provider_.getCreateSignatureEnvironmentProfile("CSEP_1"); - assertNull(csep); - } - - public void testGetVerifyTransformsInfoProfile() - { - // No profile in config file, check for null - Element vtip = provider_.getVerifyTransformsInfoProfile("VTIP_1"); - assertNull(vtip); - } - - public void testGetSupplementProfile() - { - // No profile in config file, check for null - Element sp = provider_.getSupplementProfile("SP_1"); - assertNull(sp); - } - - public void testGetRevocationArchiveJDBCURL() - { - // No archive in config file, check for null - assertNull(provider_.getRevocationArchiveJDBCURL()); - } - - public void testGetRevocationArchiveJDBCDriverClass() - { - // No archive in config file, check for null - assertNull(provider_.getRevocationArchiveJDBCDriverClass()); - } - - public void testGetServiceOrder() - { - // Element is missing in config file, check for empty array - String[] serviceOrder = provider_.getServiceOrder(); - assertEquals(0, serviceOrder.length); - } -} diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java deleted file mode 100644 index be1090e4a..000000000 --- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java +++ /dev/null @@ -1,149 +0,0 @@ -package test.at.gv.egovernment.moa.spss.server.iaik.config; - -import java.io.FileInputStream; -import java.security.KeyStore; -import java.security.cert.CertificateFactory; -import java.security.cert.X509Certificate; -import java.util.Collection; -import java.util.Date; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -import test.at.gv.egovernment.moa.spss.SPSSTestCase; - -import iaik.asn1.structures.DistributionPoint; -import iaik.pki.PKIConfiguration; -import iaik.pki.pathvalidation.ChainingModes; -import iaik.pki.pathvalidation.ValidationConfiguration; -import iaik.pki.revocation.CRLDistributionPoint; -import iaik.pki.revocation.RevocationConfiguration; -import iaik.pki.store.certstore.CertStoreConfiguration; -import iaik.pki.store.certstore.CertStoreTypes; -import iaik.pki.store.revocation.archive.ArchiveConfiguration; -import iaik.pki.store.revocation.archive.db.DataBaseArchiveParameter; -import iaik.server.ConfigurationData; -import iaik.server.modules.keys.HardwareKeyModuleConfiguration; -import iaik.server.modules.keys.SoftwareKeyModuleConfiguration; - -import at.gv.egovernment.moa.spss.server.iaik.config.ConfigurationDataImpl; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; - -/** - * Tests the ConfigurationDataImpl. - * - * @author Patrick Peck - * @version $Id$ - */ -public class ConfigurationDataImplTest extends SPSSTestCase { - - private ConfigurationData config; - private X509Certificate iaikCert; - - public ConfigurationDataImplTest(String name) { - super(name); - } - - protected void setUp() throws Exception { - TransactionContext context; - - setUpTransactionContext(); - context = TransactionContextManager.getInstance().getTransactionContext(); - - config = new ConfigurationDataImpl(context.getConfiguration()); - - KeyStore ks = KeyStore.getInstance("JKS", "SUN"); - ks.load( - new FileInputStream(TESTDATA_ROOT + "security/server.keystore"), - "changeit".toCharArray()); - - CertificateFactory certFactory = CertificateFactory.getInstance("X.509"); - Collection certs = - certFactory.generateCertificates( - new FileInputStream( - TESTDATA_ROOT - + "conf/moa-spss/trustprofiles/TrustProfile1/IAIKRoot.cer")); - iaikCert = (X509Certificate) certs.toArray()[0]; - - } - - public void testGetPKIConfiguration() { - PKIConfiguration pkiConfig = config.getPKIConfiguration(); - ArchiveConfiguration archiveConfig = pkiConfig.getArchiveConfiguration(); - CertStoreConfiguration certStoreConfig = - pkiConfig.getCertStoreConfiguration(); - RevocationConfiguration revocationConfig = - pkiConfig.getRevocationConfiguration(); - ValidationConfiguration validationConfig = - pkiConfig.getValidationConfiguration(); - DataBaseArchiveParameter archiveParam; - Set distributionPoints; - Iterator iter; - boolean found; - - // test archive parameters - archiveParam = - (DataBaseArchiveParameter) archiveConfig.getArchiveParameters(); - assertEquals( - archiveParam.getJDBCUrl(), - "jdbc:postgresql://10.16.46.108/moa?user=moa&password=moatest"); - - // test cert store configuration - assertEquals(1, certStoreConfig.getParameters().length); - assertEquals( - CertStoreTypes.DIRECTORY, - certStoreConfig.getParameters()[0].getType()); - - // test revocation configuration - distributionPoints = - revocationConfig.getAlternativeDistributionPoints(iaikCert, null, new Date()); - assertEquals(3, distributionPoints.size()); - found = false; - for (iter = distributionPoints.iterator(); iter.hasNext();) { - CRLDistributionPoint dp = (CRLDistributionPoint) iter.next(); - if (dp.getUri().equals("http://www.iaik.at/testCA/iaik_test_sig.crl")) { - found = - dp.getReasonCodes() - == (DistributionPoint.keyCompromise - | DistributionPoint.affiliationChanged); - } - } - assertTrue(found); - - // test validation configuration - assertEquals( - ChainingModes.PKIX_MODE, - validationConfig.getChainingMode(iaikCert)); - } - - /* - public void testGetCryptoModuleConfigurations() { - List cryptoConfigs = config.getCryptoModuleConfigurations(); - HardwareCryptoModuleConfiguration moduleConfig; - - assertEquals(2, cryptoConfigs.size()); - moduleConfig = (HardwareCryptoModuleConfiguration) cryptoConfigs.get(0); - assertEquals("Module1", moduleConfig.getModuleName()); - assertEquals("Slot1", moduleConfig.getSlotID()); - assertEquals("PIN1", new String(moduleConfig.getUserPIN())); - } - */ - - public void testGetKeyModuleConfigurations() { - List keyConfigs = config.getKeyModuleConfigurations(); - HardwareKeyModuleConfiguration hwKey; - SoftwareKeyModuleConfiguration swKey; - - assertEquals(7, keyConfigs.size()); - hwKey = (HardwareKeyModuleConfiguration) keyConfigs.get(0); - assertEquals("cryptoki.dll", hwKey.getModuleName()); - assertEquals("0", hwKey.getSlotID()); - assertEquals("0000", new String(hwKey.getUserPIN())); - swKey = (SoftwareKeyModuleConfiguration) keyConfigs.get(1); - assertEquals( - "buergerkarte", - new String(swKey.getKeyStoreAuthenticationData())); - } - -} diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java deleted file mode 100644 index 3b403dc19..000000000 --- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java +++ /dev/null @@ -1,36 +0,0 @@ -package test.at.gv.egovernment.moa.spss.server.iaik.config; - -import test.at.gv.egovernment.moa.spss.SPSSTestCase; - -import at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; -import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; - -/** - * Tests the IaikConfigurator. - * - * @author Patrick Peck - * @version $Id$ - */ -public class IaikConfiguratorTest extends SPSSTestCase { - - public IaikConfiguratorTest(String name) { - super(name); - } - - /** - * @see TestCase#setUp() - */ - protected void setUp() throws Exception { - super.setUpTransactionContext(); - } - - public void testConfigure() throws Exception { - IaikConfigurator configurator = new IaikConfigurator(); - TransactionContext context = - TransactionContextManager.getInstance().getTransactionContext(); - - configurator.configure(context.getConfiguration()); - } - -} diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/AllTests.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/AllTests.java deleted file mode 100644 index 65fa2bf72..000000000 --- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/AllTests.java +++ /dev/null @@ -1,25 +0,0 @@ -package test.at.gv.egovernment.moa.spss.server.invoke; - -import junit.framework.Test; -import junit.framework.TestSuite; - -/** - * Runs all tests in this package. - * - * @author Patrick Peck - * @version $Id$ - */ -public class AllTests { - public static Test suite() { - TestSuite suite = new TestSuite(); - - suite.addTestSuite(DataObjectFactoryTest.class); - suite.addTestSuite(TransformationFactoryTest.class); - suite.addTestSuite(XMLSignatureCreationInvokerTest.class); - suite.addTestSuite(CMSSignatureVerificationInvokerTest.class); - suite.addTestSuite(XMLSignatureVerificationInvokerTest.class); - - return suite; - } - -} diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java deleted file mode 100644 index 3024730f4..000000000 --- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java +++ /dev/null @@ -1,63 +0,0 @@ -package test.at.gv.egovernment.moa.spss.server.invoke; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import test.at.gv.egovernment.moa.spss.SPSSTestCase; - -import at.gv.egovernment.moa.util.DOMUtils; - -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest; -import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; -import at.gv.egovernment.moa.spss.api.xmlbind.VerifyCMSSignatureRequestParser; -import at.gv.egovernment.moa.spss.api.xmlbind.VerifyCMSSignatureResponseBuilder; -import at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker; - -/** - * Mainly a smoke test for debugging the CMSSignatureVerificationInvoker. - * - * @author Patrick Peck - * @version $Id$ - */ -public class CMSSignatureVerificationInvokerTest extends SPSSTestCase { - private static final String TESTDATA_BASE = - TESTDATA_ROOT + "xml/VerifyCMSSignature/"; - - /** - * Constructor for CMSSignatureVerificationInvokerTest. - * @param name - */ - public CMSSignatureVerificationInvokerTest(String name) { - super(name); - } - - protected void setUp() throws Exception { - setUpTransactionContext(); - setUpLoggingContext(); - setUpIaikConfiguration(); - } - - public void testVerifyCMSSignature() throws Exception { - try { - CMSSignatureVerificationInvoker invoker = - CMSSignatureVerificationInvoker.getInstance(); - VerifyCMSSignatureRequestParser requestParser = - new VerifyCMSSignatureRequestParser(); - Document doc = - SPSSTestCase.parseXmlValidating( - TESTDATA_BASE + "TestGeneratorVC0.001.Req.xml"); - VerifyCMSSignatureRequest request = - requestParser.parse(doc.getDocumentElement()); - VerifyCMSSignatureResponse response = invoker.verifyCMSSignature(request); - VerifyCMSSignatureResponseBuilder responseBuilder = - new VerifyCMSSignatureResponseBuilder(); - Element result = responseBuilder.build(response).getDocumentElement(); - - System.out.println(DOMUtils.serializeNode(result)); - } catch (Exception e) { - e.printStackTrace(); - fail(); - } - } - -} diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java deleted file mode 100644 index 7de2add33..000000000 --- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java +++ /dev/null @@ -1,180 +0,0 @@ -package test.at.gv.egovernment.moa.spss.server.invoke; - -import java.io.InputStream; -import java.security.Security; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import test.at.gv.egovernment.moa.spss.SPSSTestCase; - -import iaik.server.modules.xml.BinaryDataObject; -import iaik.server.modules.xml.DataObject; -import iaik.server.modules.xml.XMLDataObject; - -import at.gv.egovernment.moa.util.Base64Utils; - -import at.gv.egovernment.moa.spss.MOAException; -import at.gv.egovernment.moa.spss.api.SPSSFactory; -import at.gv.egovernment.moa.spss.api.common.Content; -import at.gv.egovernment.moa.spss.server.iaik.xml.ByteArrayDataObjectImpl; -import at.gv.egovernment.moa.spss.server.iaik.xml.ByteStreamDataObjectImpl; -import at.gv.egovernment.moa.spss.server.iaik.xml.XMLDataObjectImpl; -import at.gv.egovernment.moa.spss.server.iaik.xml.XMLNodeListDataObjectImpl; -import at.gv.egovernment.moa.spss.server.invoke.DataObjectFactory; - -/** - * Test cases for the DataObjectFactory class. - * - * @author Patrick Peck - * @version $Id$ - */ -public class DataObjectFactoryTest extends SPSSTestCase { - - private static final String HTTP_BINARY_CONTENT_URL = "http://www.google.com"; - private static final String HTTP_XML_CONTENT_URL = - "http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"; - private static final String HTTPS_BINARY_CONTENT_URL = - "https://businessnet.ba-ca.com"; - private static final String HTTPS_UNTRUSTED_URL = - "https://heribert.anecon.com"; - private static final String HTTP_UNKNOWN_HOST_URL = "http://uurjmjmruuw.com"; - private static final String MALFORMED_URL = "//hsld///ddd"; - private static final String FILE_BINARY_CONTENT_URL = "file:/C:/boot.ini"; - private static final String XML_CONTENT = - "" - + " " - + " " - + ""; - private static final String BASE64_CONTENT = "U3Zlbg=="; - - private SPSSFactory spssFactory = SPSSFactory.getInstance(); - private DataObjectFactory factory; - - /** - * Constructor for DataObjectFactoryTest. - * @param name - */ - public DataObjectFactoryTest(String name) { - super(name); - } - - protected void setUp() throws Exception { - factory = DataObjectFactory.getInstance(); - - // set up SSL - Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); - System.setProperty( - "java.protocol.handler.pkgs", - "com.sun.net.ssl.internal.www.protocol"); - /* - System.setProperty( - "javax.net.ssl.keyStore", - "data/test/security/client.keystore"); - System.setProperty("javax.net.ssl.keyStorePassword", "changeit"); - System.setProperty( - "javax.net.ssl.trustStore", - "data/test/security/client.keystore"); - System.setProperty("javax.net.ssl.trustStorePassword", "changeit"); - */ - } - - public void testCreateFromURIWithBinaryHttp() throws Exception { - DataObject dataObject = - factory.createFromURI(HTTP_BINARY_CONTENT_URL, false); - - assertNotNull(dataObject); - assertTrue(dataObject instanceof ByteStreamDataObjectImpl); - assertNotNull(((BinaryDataObject) dataObject).getInputStream()); - } - - public void testCreateFromURIWithXmlHttp() throws Exception { - DataObject dataObject = factory.createFromURI(HTTP_XML_CONTENT_URL, false); - Element element; - - assertNotNull(dataObject); - assertTrue(dataObject instanceof XMLDataObjectImpl); - element = ((XMLDataObject) dataObject).getElement(); - assertNotNull(element); - assertEquals("schema", element.getTagName()); - } - - public void testCreateFromURIWithMalformedURI() throws Exception { - try { - factory.createFromURI(MALFORMED_URL, false); - fail(); - } catch (MOAException e) { - } - } - - public void testCreateFromURIWithNonExistingHttpURL() throws Exception { - try { - factory.createFromURI(HTTP_UNKNOWN_HOST_URL, false); - fail(); - } catch (MOAException e) { - } - } - - public void testCreateFromURIWithHttps() throws Exception { - DataObject dataObject = - factory.createFromURI(HTTPS_BINARY_CONTENT_URL, false); - assertNotNull(dataObject); - assertTrue(dataObject instanceof BinaryDataObject); - } - - public void testCreateFromURIWithUntrustedHttps() throws Exception { - try { - factory.createFromURI(HTTPS_UNTRUSTED_URL, false); - fail(); - } catch (MOAException e) { - - } - } - - public void testCreateFromURIWithFile() throws Exception { - try { - factory.createFromURI(FILE_BINARY_CONTENT_URL, false); - fail(); - } catch (MOAException e) { - } - } - - public void testCreateFromContentOptionalRefTypeWithXmlContent() - throws Exception { - Document doc = parseXmlString(XML_CONTENT); - Content content = - spssFactory.createContent( - doc.getDocumentElement().getChildNodes(), - "http://data"); - DataObject dataObject = - factory.createFromContentOptionalRefType( - content, - null, - null, - true, - false, - true, - false); - - assertTrue(dataObject instanceof XMLNodeListDataObjectImpl); - } - - public void testCreateFromContentOptionalRefTypeWithBase64Content() - throws Exception { - InputStream is = Base64Utils.decodeToStream(BASE64_CONTENT, true); - Content content = spssFactory.createContent(is, "http://data"); - DataObject dataObject = - factory.createFromContentOptionalRefType( - content, - null, - null, - false, - false, - true, - false); - - assertNotNull(dataObject); - assertTrue(dataObject instanceof ByteArrayDataObjectImpl); - } - -} diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java deleted file mode 100644 index 13a80cbf1..000000000 --- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java +++ /dev/null @@ -1,201 +0,0 @@ -package test.at.gv.egovernment.moa.spss.server.invoke; - -import java.util.List; -import java.util.Map; - -import org.w3c.dom.Document; - -import test.at.gv.egovernment.moa.spss.SPSSTestCase; - -import iaik.ixsil.init.IXSILInit; -import iaik.ixsil.util.URI; -import iaik.server.modules.xml.Base64Transformation; -import iaik.server.modules.xml.Canonicalization; -import iaik.server.modules.xml.EnvelopedSignatureTransformation; -import iaik.server.modules.xml.Transformation; -import iaik.server.modules.xml.XPath2Transformation; -import iaik.server.modules.xml.XPathTransformation; -import iaik.server.modules.xml.XSLTTransformation; - -import at.gv.egovernment.moa.util.Constants; - -import at.gv.egovernment.moa.spss.MOAApplicationException; -import at.gv.egovernment.moa.spss.api.common.Transform; -import at.gv.egovernment.moa.spss.api.xmlbind.TransformParser; -import at.gv.egovernment.moa.spss.server.invoke.TransformationFactory; - -/** - * Test cases for the TransformationFactory class. - * - * @author Patrick Peck - * @version $Id$ - */ -public class TransformationFactoryTest extends SPSSTestCase { - - private static final String TESTDATA_BASE = - TESTDATA_ROOT + "xml/dsigTransform/"; - private TransformationFactory factory = TransformationFactory.getInstance(); - private TransformParser transformParser = new TransformParser(); - - /** - * Constructor for TransformationFactoryTest. - * @param name - */ - public TransformationFactoryTest(String name) { - super(name); - } - - protected void setUp() throws Exception { - IXSILInit.init(new URI("init/properties/init.properties")); - //IXSILInit.init(new URI("file:data/deploy/ixsil/init/properties/init.properties")); - - } - - public void testCreateCanonicalization() throws Exception { - Document transform = parseXml(TESTDATA_BASE + "canonicalization.xml"); - Transform tr = - transformParser.parseTransform(transform.getDocumentElement()); - Transformation t = factory.createTransformation(tr); - - assertTrue(t instanceof Canonicalization); - assertEquals( - "http://www.w3.org/TR/2001/REC-xml-c14n-20010315", - t.getAlgorithmURI()); - } - - public void testCreateCanonicalizationWithComments() throws Exception { - Document transform = - parseXml(TESTDATA_BASE + "canonicalizationWithComments.xml"); - Transform tr = - transformParser.parseTransform(transform.getDocumentElement()); - Transformation t = factory.createTransformation(tr); - - assertTrue(t instanceof Canonicalization); - assertEquals( - "http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments", - t.getAlgorithmURI()); - } - - public void testCreateBase64Decode() throws Exception { - Document transform = parseXml(TESTDATA_BASE + "base64.xml"); - Transform tr = - transformParser.parseTransform(transform.getDocumentElement()); - Transformation t = factory.createTransformation(tr); - assertTrue(t instanceof Base64Transformation); - } - - public void testCreateEnvelopedSignature() throws Exception { - Document transform = parseXml(TESTDATA_BASE + "enveloped.xml"); - Transform tr = - transformParser.parseTransform(transform.getDocumentElement()); - Transformation t = factory.createTransformation(tr); - assertTrue(t instanceof EnvelopedSignatureTransformation); - } - - public void testXPathTransformation() throws Exception { - Document transform = parseXml(TESTDATA_BASE + "xpath.xml"); - Transform tr = - transformParser.parseTransform(transform.getDocumentElement()); - Transformation t = factory.createTransformation(tr); - Map nsDecls; - - assertTrue(t instanceof XPathTransformation); - nsDecls = ((XPathTransformation) t).getNamespaceDeclarations(); - assertEquals(1, nsDecls.size()); - assertEquals(Constants.DSIG_NS_URI, nsDecls.get("dsig")); - } - - public void testCreateXPath2Transformation() throws Exception { - Document transform = parseXml(TESTDATA_BASE + "xpath2.xml"); - Transform tr = - transformParser.parseTransform(transform.getDocumentElement()); - Transformation t = factory.createTransformation(tr); - assertTrue(t instanceof XPath2Transformation); - } - - public void testCreateXSLTTransformation() throws Exception { - Document transform = parseXml(TESTDATA_BASE + "xslt.xml"); - Transform tr = - transformParser.parseTransform(transform.getDocumentElement()); - XSLTTransformation t = - (XSLTTransformation) factory.createTransformation(tr); - assertNotNull(t.getStylesheetElement()); - } - - public void testCreateWithIllegalAlgorithm() throws Exception { - try { - Document transform = parseXml(TESTDATA_BASE + "illegalAlgorithm.xml"); - Transform tr = - transformParser.parseTransform(transform.getDocumentElement()); - factory.createTransformation(tr); - fail(); - } catch (MOAApplicationException e) { - } - } - - public void testEqualsXslt() throws Exception { - Document xslt = parseXml(TESTDATA_BASE + "xslt.xml"); - Transform tr = transformParser.parseTransform(xslt.getDocumentElement()); - Transformation trXslt = factory.createTransformation(tr); - - Document xsltEqu = parseXml(TESTDATA_BASE + "xsltEqual.xml"); - tr = transformParser.parseTransform(xsltEqu.getDocumentElement()); - Transformation trXsltEqu = factory.createTransformation(tr); - - Document xsltDiff = parseXml(TESTDATA_BASE + "xsltDifferent.xml"); - tr = transformParser.parseTransform(xsltDiff.getDocumentElement()); - Transformation trXsltDiff = factory.createTransformation(tr); - - Document canonicalization = - parseXml(TESTDATA_BASE + "canonicalization.xml"); - - assertTrue(trXslt.equals(trXsltEqu)); - assertFalse(trXslt.equals(trXsltDiff)); - assertFalse(trXsltEqu.equals(trXsltDiff)); - assertEquals(trXslt.hashCode(), trXsltEqu.hashCode()); - assertFalse(trXslt.hashCode() == trXsltDiff.hashCode()); - assertFalse(trXsltEqu.hashCode() == trXsltDiff.hashCode()); - assertFalse(trXslt.equals(canonicalization)); - } - - public void testEqualsXPath() throws Exception { - Document xpath = parseXml(TESTDATA_BASE + "xpath.xml"); - Transform tr = transformParser.parseTransform(xpath.getDocumentElement()); - Transformation trXpath = factory.createTransformation(tr); - Transformation trXpathEqu = factory.createTransformation(tr); - - Document xpathDiff = parseXml(TESTDATA_BASE + "xpathDifferent.xml"); - tr = transformParser.parseTransform(xpathDiff.getDocumentElement()); - Transformation trXpathDiff = factory.createTransformation(tr); - - assertTrue(trXpath.equals(trXpathEqu)); - assertEquals(trXpath.hashCode(), trXpathEqu.hashCode()); - assertFalse(trXpath.equals(trXpathDiff)); - assertFalse(trXpath.hashCode() == trXpathDiff.hashCode()); - } - - public void testEqualsXPath2() throws Exception { - Document xpath2 = parseXml(TESTDATA_BASE + "xpath2.xml"); - Transform tr = transformParser.parseTransform(xpath2.getDocumentElement()); - Transformation trXpath2 = factory.createTransformation(tr); - Transformation trXpath2Equ = factory.createTransformation(tr); - - Document xpath2Diff = parseXml(TESTDATA_BASE + "xpath2Different.xml"); - tr = transformParser.parseTransform(xpath2Diff.getDocumentElement()); - Transformation trXpath2Diff = factory.createTransformation(tr); - - assertTrue(trXpath2.equals(trXpath2Equ)); - assertEquals(trXpath2.hashCode(), trXpath2Equ.hashCode()); - assertFalse(trXpath2.equals(trXpath2Diff)); - assertFalse(trXpath2.hashCode() == trXpath2Diff.hashCode()); - } - - public void testCreateTransformationList() throws Exception { - Document transforms = parseXml(TESTDATA_BASE + "transforms.xml"); - List trs = transformParser.parseTransforms(transforms.getDocumentElement()); - List transformationList = factory.createTransformationList(trs); - - assertEquals(3, transformationList.size()); - } - -} diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java deleted file mode 100644 index 28cd3805a..000000000 --- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java +++ /dev/null @@ -1,63 +0,0 @@ -package test.at.gv.egovernment.moa.spss.server.invoke; - -import java.util.Collections; - -import org.w3c.dom.Document; -import org.w3c.dom.Element; - -import test.at.gv.egovernment.moa.spss.SPSSTestCase; - -import at.gv.egovernment.moa.util.DOMUtils; - -import at.gv.egovernment.moa.spss.api.xmlbind.CreateXMLSignatureRequestParser; -import at.gv.egovernment.moa.spss.api.xmlbind.CreateXMLSignatureResponseBuilder; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest; -import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse; -import at.gv.egovernment.moa.spss.server.invoke.XMLSignatureCreationInvoker; - -/** - * Mainly a smoke test for debugging the XMLSignatureCreationInvoker. - * - * @author Patrick Peck - * @version $Id$ - */ -public class XMLSignatureCreationInvokerTest extends SPSSTestCase { - private static final String TESTDATA_BASE = - TESTDATA_ROOT + "xml/CreateXMLSignature/"; - - public XMLSignatureCreationInvokerTest(String name) { - super(name); - } - - protected void setUp() throws Exception { - setUpTransactionContext(); - setUpLoggingContext(); - setUpIaikConfiguration(); - setUpSSL(); - } - - public void testCreateXMLSignature() throws Exception { - try { - XMLSignatureCreationInvoker invoker = - XMLSignatureCreationInvoker.getInstance(); - CreateXMLSignatureRequestParser requestParser = - new CreateXMLSignatureRequestParser(); - Document doc = - SPSSTestCase.parseXmlValidating( - TESTDATA_BASE + "TestGeneratorCX2.004.Req.xml"); - CreateXMLSignatureRequest request = - requestParser.parse(doc.getDocumentElement()); - CreateXMLSignatureResponse response = - invoker.createXMLSignature(request, Collections.EMPTY_SET); - CreateXMLSignatureResponseBuilder responseBuilder = - new CreateXMLSignatureResponseBuilder(); - Element result = responseBuilder.build(response).getDocumentElement(); - - System.out.println(DOMUtils.serializeNode(result)); - } catch (Exception e) { - e.printStackTrace(); - fail(); - } - } - -} diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java deleted file mode 100644 index 56e3d541b..000000000 --- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java +++ /dev/null @@ -1,61 +0,0 @@ -package test.at.gv.egovernment.moa.spss.server.invoke; - -import org.w3c.dom.Document; - -import test.at.gv.egovernment.moa.spss.SPSSTestCase; - -import at.gv.egovernment.moa.util.DOMUtils; - -import at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureRequestParser; -import at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureResponseBuilder; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; -import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse; -import at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationInvoker; - -/** - * Mainly a smoke test for debugging the XMLSignatureVerificationInvoker. - * - * @author Patrick Peck - * @version $Id$ - */ -public class XMLSignatureVerificationInvokerTest extends SPSSTestCase { - private static final String TESTDATA_BASE = - TESTDATA_ROOT + "xml/VerifyXMLSignature/"; - - public XMLSignatureVerificationInvokerTest(String name) { - super(name); - } - - protected void setUp() throws Exception { - setUpTransactionContext(); - setUpLoggingContext(); - setUpIaikConfiguration(); - } - - public void testVerifyXMLSignature() throws Exception { - try { - XMLSignatureVerificationInvoker invoker = - XMLSignatureVerificationInvoker.getInstance(); - VerifyXMLSignatureRequestParser requestParser = - new VerifyXMLSignatureRequestParser(); - VerifyXMLSignatureResponseBuilder responseBuilder = - new VerifyXMLSignatureResponseBuilder(); - Document doc = - SPSSTestCase.parseXmlValidating( - TESTDATA_BASE + "TestGeneratorVX.201.Req.xml"); - - VerifyXMLSignatureRequest request = - requestParser.parse(doc.getDocumentElement()); - VerifyXMLSignatureResponse response; - - response = invoker.verifyXMLSignature(request); - System.out.println( - DOMUtils.serializeNode(responseBuilder.build(response))); - } catch (Exception e) { - e.printStackTrace(); - fail(); - } - } - - -} diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java deleted file mode 100644 index b46c20086..000000000 --- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java +++ /dev/null @@ -1,50 +0,0 @@ -package test.at.gv.egovernment.moa.spss.server.tools; - -import java.io.ByteArrayOutputStream; -import java.io.PrintStream; - -import at.gv.egovernment.moa.spss.server.tools.CertTool; - -import test.at.gv.egovernment.moa.MOATestCase; - -/** - * Tests for the CertTool. - * - * @author Patrick Peck - * @version $Id$ - */ -public class CertToolTest extends MOATestCase { - - private static final String EXPECTED_RESULT = - "SubjectDN (RFC2253):" - + " CN=Patrick Peck,OU=MOA Team,O=BRZ,L=Vienna,ST=Vienna,C=AT\r\n" - + "IssuerDN (RFC2253) :" - + " CN=Patrick Peck,OU=MOA Team,O=BRZ,L=Vienna,ST=Vienna,C=AT\r\n" - + "Serial Number :" - + " 1047548672\r\n"; - private CertTool certTool; - - /** - * Constructor for CertToolTest. - * @param name - */ - public CertToolTest(String name) { - super(name); - } - - protected void setUp() { - certTool = new CertTool(); - } - - public void testPrintCertInfo() { - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - PrintStream ps = new PrintStream(bos); - String result; - - certTool.printCertInfo(TESTDATA_ROOT + "security/server.cer", ps); - result = new String(bos.toByteArray()); - System.out.println(result); - assertEquals(EXPECTED_RESULT, result); - } - -} diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/AllTests.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/AllTests.java new file mode 100644 index 000000000..c670b5e55 --- /dev/null +++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/AllTests.java @@ -0,0 +1,40 @@ +package test.at.gv.egovernment.moa.spss; + +import test.at.gv.egovernment.moa.spss.server.iaik.config.ConfigurationDataImplTest; +import test.at.gv.egovernment.moa.spss.server.iaik.config.IaikConfiguratorTest; +import test.at.gv.egovernment.moa.spss.server.tools.CertToolTest; + +import junit.awtui.TestRunner; +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * Test suite for all unit tests. + * + * @author Patrick Peck + * @version $Id$ + */ +public class AllTests { + + public static Test suite() { + TestSuite suite = new TestSuite(); + + suite.addTestSuite(test.at.gv.egovernment.moa.spss.server.config.AllTests.class); + suite.addTestSuite(ConfigurationDataImplTest.class); + suite.addTestSuite(IaikConfiguratorTest.class); + suite.addTest( + test.at.gv.egovernment.moa.spss.server.invoke.AllTests.suite()); + suite.addTest(test.at.gv.egovernment.moa.spss.api.xmlbind.AllTests.suite()); + suite.addTestSuite(CertToolTest.class); + + return suite; + } + + public static void main(String[] args) { + try { + TestRunner.run(AllTests.class); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/SPSSTestCase.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/SPSSTestCase.java new file mode 100644 index 000000000..a585e30a0 --- /dev/null +++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/SPSSTestCase.java @@ -0,0 +1,82 @@ +package test.at.gv.egovernment.moa.spss; + +import java.security.Security; + +import test.at.gv.egovernment.moa.MOATestCase; + +import at.gv.egovernment.moa.logging.Logger; +import at.gv.egovernment.moa.logging.LoggingContext; +import at.gv.egovernment.moa.logging.LoggingContextManager; +import at.gv.egovernment.moa.util.MessageProvider; + +import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; +import at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator; +import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; +import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; + +/** + * Base class for MOA test cases. + * + * Provides some utility functions. + * + * @author Patrick Peck + * @version $Id$ + */ +public class SPSSTestCase extends MOATestCase { + + protected static final String TESTDATA_ROOT = "data/test/"; + + /** + * Constructor for MOATestCase. + * @param arg0 + */ + public SPSSTestCase(String name) { + super(name); + } + + /** + * Set up a transaction context with a test configuration. + */ + protected void setUpTransactionContext() throws Exception { + System.setProperty( + ConfigurationProvider.CONFIG_PROPERTY_NAME, + "data/test/conf/moa-spss/MOA-SPSSConfiguration.xml"); + ConfigurationProvider config = ConfigurationProvider.getInstance(); + TransactionContext context = new TransactionContext("test", null, config); + TransactionContextManager.getInstance().setTransactionContext(context); + } + + protected void setUpLoggingContext() throws Exception { + LoggingContext context = new LoggingContext("test"); + LoggingContextManager.getInstance().setLoggingContext(context); + } + + /** + * Configure the IAIK modules with the current configuration. + * + * A TransactionContext must have been set up before. + */ + protected void setUpIaikConfiguration() throws Exception { + TransactionContext context = + TransactionContextManager.getInstance().getTransactionContext(); + ClassLoader cl = getClass().getClassLoader(); + MessageProvider msg = MessageProvider.getInstance(); + + try { + cl.loadClass("javax.security.cert.Certificate"); // from jcert.jar + } catch (ClassNotFoundException e) { + Logger.warn(msg.getMessage("init.03", null), e); + } + + new IaikConfigurator().configure(context.getConfiguration()); + } + + protected void setUpSSL() throws Exception { + //System.setProperty("javax.net.debug", "all"); + Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); + System.setProperty( + "java.protocol.handler.pkgs", + "com.sun.net.ssl.internal.www.protocol"); + } + +} diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java new file mode 100644 index 000000000..28f79729e --- /dev/null +++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java @@ -0,0 +1,24 @@ +package test.at.gv.egovernment.moa.spss.api.xmlbind; + +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * Runs all tests in this package. + * + * @author Patrick Peck + * @version $Id$ + */ +public class AllTests { + public static Test suite() { + TestSuite suite = new TestSuite(); + + suite.addTestSuite(CreateXMLSignatureRequestParserTest.class); + suite.addTestSuite(TransformParserTest.class); + suite.addTestSuite(VerifyCMSSignatureRequestParserTest.class); + suite.addTestSuite(VerifyXMLSignatureRequestParserTest.class); + + return suite; + } + +} diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java new file mode 100644 index 000000000..7ce705b01 --- /dev/null +++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java @@ -0,0 +1,71 @@ +package test.at.gv.egovernment.moa.spss.api.xmlbind; + +import org.w3c.dom.Element; + +import test.at.gv.egovernment.moa.spss.SPSSTestCase; + +import at.gv.egovernment.moa.spss.api.xmlbind.CreateXMLSignatureRequestParser; +import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfileExplicit; +import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileExplicit; +import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest; +import at.gv.egovernment.moa.spss.api.xmlsign.DataObjectInfo; +import at.gv.egovernment.moa.spss.api.xmlsign.SingleSignatureInfo; + +/** + * Test the CreateXMLSignatureRequestParser. + * + * @author Patrick Peck + * @version $Id$ + */ +public class CreateXMLSignatureRequestParserTest extends SPSSTestCase { + private static final String TESTDATA_BASE = + TESTDATA_ROOT + "xml/CreateXMLSignature/"; + + private CreateXMLSignatureRequestParser requestParser; + + public CreateXMLSignatureRequestParserTest(String name) { + super(name); + } + + protected void setUp() throws Exception { + requestParser = new CreateXMLSignatureRequestParser(); + } + + public void testParse() throws Exception { + Element requestElem = + parseXml(TESTDATA_BASE + "TestGeneratorCX2.001.Req.xml") + .getDocumentElement(); + CreateXMLSignatureRequest request = requestParser.parse(requestElem); + SingleSignatureInfo sigInfo; + DataObjectInfo dataObjInfo; + CreateTransformsInfoProfileExplicit transProfile; + CreateSignatureEnvironmentProfileExplicit envProfile; + + assertNotNull(request); + assertEquals("PKCS12RSAKey1", request.getKeyIdentifier()); + assertEquals(1, request.getSingleSignatureInfos().size()); + + sigInfo = (SingleSignatureInfo) request.getSingleSignatureInfos().get(0); + assertEquals(1, sigInfo.getDataObjectInfos().size()); + assertFalse(sigInfo.isSecurityLayerConform()); + + dataObjInfo = (DataObjectInfo) sigInfo.getDataObjectInfos().get(0); + assertNotNull(dataObjInfo.getDataObject()); + + transProfile = + (CreateTransformsInfoProfileExplicit) dataObjInfo + .getCreateTransformsInfoProfile(); + assertNotNull( + transProfile.getCreateTransformsInfo().getFinalDataMetaInfo()); + + envProfile = + (CreateSignatureEnvironmentProfileExplicit) sigInfo + .getCreateSignatureInfo() + .getCreateSignatureEnvironmentProfile(); + assertEquals( + "//data:Document", + envProfile.getCreateSignatureLocation().getXPathExpression()); + assertEquals(0, envProfile.getCreateSignatureLocation().getIndex()); + } + +} diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java new file mode 100644 index 000000000..f580f86bc --- /dev/null +++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java @@ -0,0 +1,113 @@ +package test.at.gv.egovernment.moa.spss.api.xmlbind; + +import java.util.List; + +import org.w3c.dom.Element; + +import test.at.gv.egovernment.moa.spss.SPSSTestCase; + +import at.gv.egovernment.moa.spss.api.common.CanonicalizationTransform; +import at.gv.egovernment.moa.spss.api.common.EnvelopedSignatureTransform; +import at.gv.egovernment.moa.spss.api.common.ExclusiveCanonicalizationTransform; +import at.gv.egovernment.moa.spss.api.common.XPathFilter2Transform; +import at.gv.egovernment.moa.spss.api.common.XPathTransform; +import at.gv.egovernment.moa.spss.api.common.XSLTTransform; +import at.gv.egovernment.moa.spss.api.xmlbind.TransformParser; + +/** + * Test the TransformParser. + * + * @author Patrick Peck + * @version $Id$ + */ +public class TransformParserTest extends SPSSTestCase { + private static String TESTDATA_BASE = TESTDATA_ROOT + "xml/dsigTransform/"; + + private TransformParser transformParser; + + public TransformParserTest(String name) { + super(name); + } + + protected void setUp() { + transformParser = new TransformParser(); + } + + public void testParseTransforms() throws Exception { + Element transformsElem = + parseXml(TESTDATA_BASE + "transforms.xml").getDocumentElement(); + List transforms = transformParser.parseTransforms(transformsElem); + + assertNotNull(transforms); + assertEquals(3, transforms.size()); + + } + + public void testParseCanonicalizationTransform() throws Exception { + Element transformElem = + parseXml(TESTDATA_BASE + "canonicalization.xml").getDocumentElement(); + CanonicalizationTransform transform = + (CanonicalizationTransform) transformParser.parseTransform(transformElem); + + assertNotNull(transform); + assertEquals( + CanonicalizationTransform.CANONICAL_XML, + transform.getAlgorithmURI()); + } + + public void testParseExclCanonicalizationTransform() throws Exception { + Element transformElem = + parseXml(TESTDATA_BASE + "exclusiveCanonicalization.xml") + .getDocumentElement(); + ExclusiveCanonicalizationTransform transform = + (ExclusiveCanonicalizationTransform) transformParser.parseTransform( + transformElem); + + assertNotNull(transform); + assertEquals( + ExclusiveCanonicalizationTransform.EXCLUSIVE_CANONICAL_XML, + transform.getAlgorithmURI()); + assertEquals(3, transform.getInclusiveNamespacePrefixes().size()); + } + + public void testParseEnvelopedTransform() throws Exception { + Element transformElem = + parseXml(TESTDATA_BASE + "enveloped.xml").getDocumentElement(); + EnvelopedSignatureTransform transform = + (EnvelopedSignatureTransform) transformParser.parseTransform( + transformElem); + + assertNotNull(transform); + } + + public void testParseXPathTransform() throws Exception { + Element transformElem = + parseXml(TESTDATA_BASE + "xpath.xml").getDocumentElement(); + XPathTransform transform = + (XPathTransform) transformParser.parseTransform(transformElem); + + assertNotNull(transform); + assertEquals("//ToBeSigned/Data", transform.getXPathExpression()); + assertEquals(1, transform.getNamespaceDeclarations().size()); + } + + public void testParseXPathFilter2Transform() throws Exception { + Element transformElem = + parseXml(TESTDATA_BASE + "xpath2.xml").getDocumentElement(); + XPathFilter2Transform transform = + (XPathFilter2Transform) transformParser.parseTransform(transformElem); + + assertNotNull(transform); + assertEquals(3, transform.getFilters().size()); + } + + public void testParseXSLTTransform() throws Exception { + Element transformElem = + parseXml(TESTDATA_BASE + "xslt.xml").getDocumentElement(); + XSLTTransform transform = + (XSLTTransform) transformParser.parseTransform(transformElem); + + assertNotNull(transform); + } + +} diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java new file mode 100644 index 000000000..4be7667eb --- /dev/null +++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java @@ -0,0 +1,61 @@ +package test.at.gv.egovernment.moa.spss.api.xmlbind; + +import org.w3c.dom.Element; + +import at.gv.egovernment.moa.util.DateTimeUtils; + +import test.at.gv.egovernment.moa.spss.SPSSTestCase; + +import at.gv.egovernment.moa.spss.api.cmsverify.CMSContentExcplicit; +import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest; +import at.gv.egovernment.moa.spss.api.common.MetaInfo; +import at.gv.egovernment.moa.spss.api.xmlbind.VerifyCMSSignatureRequestParser; + +/** + * Test the VerifyCMSSignatureRequestParserTest. + * + * @author Patrick Peck + * @version $Id$ + */ +public class VerifyCMSSignatureRequestParserTest extends SPSSTestCase { + private static String TESTDATA_BASE = + TESTDATA_ROOT + "xml/VerifyCMSSignature/"; + + private VerifyCMSSignatureRequestParser requestParser; + + public VerifyCMSSignatureRequestParserTest(String name) { + super(name); + } + + protected void setUp() throws Exception { + requestParser = new VerifyCMSSignatureRequestParser(); + } + + public void testParse() throws Exception { + Element requestElem = + parseXml(TESTDATA_BASE + "TestGeneratorVC0.001.Req.xml") + .getDocumentElement(); + VerifyCMSSignatureRequest request = requestParser.parse(requestElem); + MetaInfo metaInfo; + CMSContentExcplicit content; + + assertNotNull(request); + assertEquals(1, request.getSignatories()[0]); + assertEquals( + DateTimeUtils.parseDateTime("2003-04-04T09:30:47-05:00"), + request.getDateTime()); + assertNotNull(request.getCMSSignature()); + assertNotNull(request.getDataObject()); + assertEquals("TrustProfile1", request.getTrustProfileId()); + + metaInfo = request.getDataObject().getMetaInfo(); + assertNotNull(metaInfo); + assertEquals("text/plain", metaInfo.getMimeType()); + assertEquals("http://10.16.46.109/TestDatenGenerator/resources/testDaten.txt", metaInfo.getDescription()); + + content = (CMSContentExcplicit) request.getDataObject().getContent(); + assertNotNull(content.getBinaryContent()); + + } + +} diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java new file mode 100644 index 000000000..3b8e8b00e --- /dev/null +++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java @@ -0,0 +1,81 @@ +package test.at.gv.egovernment.moa.spss.api.xmlbind; + +import org.w3c.dom.Element; + +import test.at.gv.egovernment.moa.spss.SPSSTestCase; + +import at.gv.egovernment.moa.util.DateTimeUtils; + +import at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureRequestParser; +import at.gv.egovernment.moa.spss.api.xmlverify.ReferenceInfo; +import at.gv.egovernment.moa.spss.api.xmlverify.SignatureManifestCheckParams; +import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureInfo; +import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation; +import at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfileExplicit; +import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; + +/** + * Test the VerifyXMLSignatureRequestParserTest. + * + * @author Patrick Peck + * @version $Id$ + */ +public class VerifyXMLSignatureRequestParserTest extends SPSSTestCase { + private static String TESTDATA_BASE = + TESTDATA_ROOT + "xml/VerifyXMLSignature/"; + + private VerifyXMLSignatureRequestParser parser; + + public VerifyXMLSignatureRequestParserTest(String name) { + super(name); + } + + protected void setUp() throws Exception { + parser = new VerifyXMLSignatureRequestParser(); + } + + public void testParse() throws Exception { + Element requestElem = + parseXml(TESTDATA_BASE + "TestGeneratorVX.201.Req.xml") + .getDocumentElement(); + VerifyXMLSignatureRequest request = parser.parse(requestElem); + VerifySignatureInfo verifySignatureInfo; + VerifySignatureLocation verifyLocation; + SignatureManifestCheckParams checkParams; + ReferenceInfo refInfo; + VerifyTransformsInfoProfileExplicit transformsProfile; + + assertNotNull(request); + assertEquals( + DateTimeUtils.parseDateTime("2003-04-01T12:53:57+01:00"), + request.getDateTime()); + assertFalse(request.getReturnHashInputData()); + assertEquals("TrustProfile1", request.getTrustProfileId()); + + verifySignatureInfo = request.getSignatureInfo(); + assertNotNull(verifySignatureInfo); + assertNotNull(verifySignatureInfo.getVerifySignatureEnvironment()); + + verifyLocation = verifySignatureInfo.getVerifySignatureLocation(); + assertNotNull(verifyLocation); + assertEquals("//dsig:Signature", verifyLocation.getXPathExpression()); + assertEquals(3, verifyLocation.getNamespaceDeclarations().size()); + + checkParams = request.getSignatureManifestCheckParams(); + assertNotNull(checkParams); + assertEquals(true, checkParams.getReturnReferenceInputData()); + assertEquals(1, checkParams.getReferenceInfos().size()); + + refInfo = (ReferenceInfo) checkParams.getReferenceInfos().get(0); + assertEquals(1, refInfo.getVerifyTransformsInfoProfiles().size()); + + transformsProfile = + (VerifyTransformsInfoProfileExplicit) refInfo + .getVerifyTransformsInfoProfiles() + .get(0); + assertEquals(1, transformsProfile.getTransforms().size()); + assertEquals(1, transformsProfile.getTransformParameters().size()); + + } + +} diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/AllTests.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/AllTests.java new file mode 100644 index 000000000..131f38c19 --- /dev/null +++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/AllTests.java @@ -0,0 +1,20 @@ +package test.at.gv.egovernment.moa.spss.server.config; + +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * @author Gregor Karlinger + * @version $Id$ + */ +public class AllTests +{ + public static Test suite() + { + TestSuite suite = new TestSuite(); + suite.addTestSuite(ConfigurationProviderTest1.class); + suite.addTestSuite(ConfigurationProviderTest2.class); + suite.addTestSuite(ConfigurationProviderTest3.class); + return suite; + } +} diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest1.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest1.java new file mode 100644 index 000000000..474a387ad --- /dev/null +++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest1.java @@ -0,0 +1,377 @@ +package test.at.gv.egovernment.moa.spss.server.config; + +import iaik.asn1.structures.Name; +import iaik.pki.pathvalidation.ChainingModes; +import iaik.utils.RFC2253NameParser; +import iaik.utils.RFC2253NameParserException; +import iaik.x509.X509Certificate; + +import java.math.BigInteger; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import junit.framework.TestCase; + +import org.w3c.dom.Element; + +import at.gv.egovernment.moa.spss.MOAException; +import at.gv.egovernment.moa.spss.server.config.CRLDistributionPoint; +import at.gv.egovernment.moa.spss.server.config.ConfigurationException; +import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; +import at.gv.egovernment.moa.spss.server.config.HardwareCryptoModule; +import at.gv.egovernment.moa.spss.server.config.HardwareKeyModule; +import at.gv.egovernment.moa.spss.server.config.KeyGroup; +import at.gv.egovernment.moa.spss.server.config.KeyGroupEntry; +import at.gv.egovernment.moa.spss.server.config.OCSPDistributionPoint; +import at.gv.egovernment.moa.spss.server.config.SoftwareKeyModule; +import at.gv.egovernment.moa.spss.server.config.TrustProfile; +import at.gv.egovernment.moa.util.Constants; + +/** + * @author Gregor Karlinger + * @version $Id$ + */ +public class ConfigurationProviderTest1 extends TestCase +{ + private static final String CONFIG_BASE_ = + "e:/cio/projekte/basismodule/wartung/projekt/spss.server/res/test/resources/config/"; + + static at.gv.egovernment.moa.spss.server.config.ConfigurationProvider provider_; + + static + { + System.setProperty( + "log4j.configuration", + "file:/" + CONFIG_BASE_ + "log4j.properties"); + System.setProperty( + at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.CONFIG_PROPERTY_NAME, + CONFIG_BASE_ + "moa.spss.complete-config.xml"); + try + { + ConfigurationProvider.reload(); + provider_ = at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.getInstance(); + } + catch (ConfigurationException e) + { + throw new RuntimeException("Fehler beim Setup des Tests: " + e.getMessage()); + } + } + + /** + * Constructor for ConfigurationProvider. + * @param arg0 + */ + public ConfigurationProviderTest1() throws MOAException + { + super("ConfigurationProvider"); + } + + public void testGetWarnings() + { + assertEquals(0, provider_.getWarnings().size()); + } + + public void testGetDigestMethodAlgorithmName() + { + assertEquals( + Constants.SHA1_URI, + provider_.getDigestMethodAlgorithmName()); + } + + public void testGetCanonicalizationAlgorithmName() + { + assertEquals( + Constants.C14N_WITH_COMMENTS_URI, + provider_.getCanonicalizationAlgorithmName()); + } + + public void testGetHardwareCryptoModules() + { + List hwcms = provider_.getHardwareCryptoModules(); + assertEquals(2, hwcms.size()); + + HardwareCryptoModule hwc1 = (HardwareCryptoModule) hwcms.get(0); + assertEquals("HWC1_Name", hwc1.getName()); + assertEquals("HWC1_SlotId", hwc1.getSlotID()); + assertEquals("HWC1_UserPIN", hwc1.getUserPIN()); + + HardwareCryptoModule hwc2 = (HardwareCryptoModule) hwcms.get(1); + assertEquals("HWC2_Name", hwc2.getName()); + assertNull(hwc2.getSlotID()); + assertEquals("HWC2_UserPIN", hwc2.getUserPIN()); + } + + public void testGetHardwareKeyModules() + { + List hwkms = provider_.getHardwareKeyModules(); + assertEquals(2, hwkms.size()); + + HardwareKeyModule hwk1 = (HardwareKeyModule) hwkms.get(0); + assertEquals("HWK1_Id", hwk1.getId()); + assertEquals("HWK1_Name", hwk1.getName()); + assertEquals("HWK1_SlotId", hwk1.getSlotID()); + assertEquals("HWK1_UserPIN", hwk1.getUserPIN()); + + HardwareKeyModule hwk2 = (HardwareKeyModule) hwkms.get(1); + assertEquals("HWK2_Id", hwk2.getId()); + assertEquals("HWK2_Name", hwk2.getName()); + assertNull(hwk2.getSlotID()); + assertEquals("HWK2_UserPIN", hwk2.getUserPIN()); + } + + public void testGetSoftwareKeyModules() + { + List swkms = provider_.getSoftwareKeyModules(); + assertEquals(2, swkms.size()); + + SoftwareKeyModule swk1 = (SoftwareKeyModule) swkms.get(0); + assertEquals("SWK1_Id", swk1.getId()); + assertEquals(CONFIG_BASE_ + "swk/SWK1_FileName.txt", swk1.getFileName().replace('\\', '/')); + assertEquals("SWK1_Password", swk1.getPassWord()); + + SoftwareKeyModule swk2 = (SoftwareKeyModule) swkms.get(1); + assertEquals("SWK2_Id", swk2.getId()); + assertEquals(CONFIG_BASE_ + "swk/SWK2_FileName.txt", swk2.getFileName().replace('\\', '/')); + assertNull(swk2.getPassWord()); + } + + public void testGetKeyGroups() + { + Map keyGroups = provider_.getKeyGroups(); + assertEquals(2, keyGroups.size()); + + KeyGroup kg1 = (KeyGroup) keyGroups.get("KG1_Id"); + assertNotNull(kg1); + assertEquals("KG1_Id", kg1.getId()); + + Set kg1Entries = kg1.getKeyGroupEntries(); + assertEquals(2, kg1Entries.size()); + + Iterator kg1EntriesIt = kg1Entries.iterator(); + while(kg1EntriesIt.hasNext()) + { + KeyGroupEntry currentEntry = (KeyGroupEntry)kg1EntriesIt.next(); + if ("HWK1_Id".equals(currentEntry.getModuleID())) + { + assertEquals("CN=HWK1_Issuer", currentEntry.getIssuerDN()); + assertEquals(0, currentEntry.getSerialNumber().intValue()); + } + else if ("HWK2_Id".equals(currentEntry.getModuleID())) + { + assertEquals("CN=HWK2_Issuer", currentEntry.getIssuerDN()); + assertEquals(1, currentEntry.getSerialNumber().intValue()); + } + else fail("Invalid module identifer found."); + } + + KeyGroup kg2 = (KeyGroup) keyGroups.get("KG2_Id"); + assertNotNull(kg2); + assertEquals("KG2_Id", kg2.getId()); + + Set kg2Entries = kg2.getKeyGroupEntries(); + assertEquals(2, kg2Entries.size()); + + Iterator kg2EntriesIt = kg1Entries.iterator(); + while(kg1EntriesIt.hasNext()) + { + KeyGroupEntry currentEntry = (KeyGroupEntry)kg2EntriesIt.next(); + if ("SWK1_Id".equals(currentEntry.getModuleID())) + { + assertEquals("CN=CN=SWK1_Issuer", currentEntry.getIssuerDN()); + assertEquals(2, currentEntry.getSerialNumber().intValue()); + } + else if ("SWK2_Id".equals(currentEntry.getModuleID())) + { + assertEquals("CN=SWK2_Issuer", currentEntry.getIssuerDN()); + assertEquals(3, currentEntry.getSerialNumber().intValue()); + } + else fail("Invalid module identifer found."); + } + } + + public void testGetKeyGroupEntries() throws RFC2253NameParserException + { + RFC2253NameParser parser = new RFC2253NameParser("CN=Customer1_Issuer"); + Name name = parser.parse(); + Set kgEntries = provider_.getKeyGroupEntries(name, BigInteger.valueOf(4), "KG1_Id"); + assertEquals(2, kgEntries.size()); + + Iterator kgEntriesIt = kgEntries.iterator(); + while (kgEntriesIt.hasNext()) + { + KeyGroupEntry currentEntry = (KeyGroupEntry) kgEntriesIt.next(); + if (!"HWK1_Id".equals(currentEntry.getModuleID()) && !"HWK2_Id".equals(currentEntry.getModuleID())) + { + fail("Invalid module identifier found."); + } + } + } + + public void testGetChainingMode() throws RFC2253NameParserException + { + X509Certificate cert = new X509Certificate(); + RFC2253NameParser parser = new RFC2253NameParser("CN=Unknown"); + Name name = parser.parse(); + cert.setIssuerDN(name); + cert.setSerialNumber(BigInteger.valueOf(0)); + assertEquals(ChainingModes.PKIX_MODE, provider_.getChainingMode(cert)); // Default chaining mode + + parser = new RFC2253NameParser("CN=TA1_Issuer"); + name = parser.parse(); + cert.setIssuerDN(name); + cert.setSerialNumber(BigInteger.valueOf(5)); + assertEquals(ChainingModes.CHAIN_MODE, provider_.getChainingMode(cert)); + } + + public void testGetDistributionPoints() throws RFC2253NameParserException + { + X509Certificate cert = new X509Certificate(); + RFC2253NameParser parser = new RFC2253NameParser("CN=DP1_Issuer"); + Name name = parser.parse(); + cert.setIssuerDN(name); + + Set dps = provider_.getDistributionPoints(cert); + assertEquals(2, dps.size()); + + Iterator dpIt = dps.iterator(); + while (dpIt.hasNext()) + { + CRLDistributionPoint currentDP = (CRLDistributionPoint)dpIt.next(); + if ("http://crl.myca.org".equals(currentDP.getUri())) + { + int reasonCodes = + iaik.asn1.structures.DistributionPoint.unused | + iaik.asn1.structures.DistributionPoint.keyCompromise | + iaik.asn1.structures.DistributionPoint.cACompromise | + iaik.asn1.structures.DistributionPoint.affiliationChanged | + iaik.asn1.structures.DistributionPoint.superseded | + iaik.asn1.structures.DistributionPoint.cessationOfOperation | + iaik.asn1.structures.DistributionPoint.certificateHold | + iaik.asn1.structures.DistributionPoint.privilegeWithdrawn | + iaik.asn1.structures.DistributionPoint.aACompromise; + assertEquals(reasonCodes, currentDP.getReasonCodes()); + } + else if ("http://crl.myotherca.org".equals(currentDP.getUri())) + { + int reasonCodes = + iaik.asn1.structures.DistributionPoint.aACompromise | + iaik.asn1.structures.DistributionPoint.affiliationChanged; + assertEquals(reasonCodes, currentDP.getReasonCodes()); + } + else fail("Invalid CRL DP URI found: " + currentDP.getUri()); + } + + parser = new RFC2253NameParser("CN=DP2_Issuer"); + name = parser.parse(); + cert.setIssuerDN(name); + + dps = provider_.getDistributionPoints(cert); + assertEquals(1, dps.size()); + + OCSPDistributionPoint dpo = (OCSPDistributionPoint) dps.toArray()[0]; + assertEquals("http://crl.yetanotherca.org", dpo.getUri()); + } + + public void testGetCRLArchiveDuration() + { + assertEquals(730, provider_.getCRLArchiveDuration()); + } + + public void testGetEnableRevocationArchiving() + { + assertFalse(provider_.getEnableRevocationArchiving()); + } + + public void testGetCertStoreLocation() + { + assertEquals( + CONFIG_BASE_ + "certstore_test", + provider_.getCertStoreLocation().replace('\\', '/')); + } + + public void testGetCreateTransformsInfoProfile() + { + Element ctip1 = provider_.getCreateTransformsInfoProfile("CTIP_1"); + assertEquals("CreateTransformsInfoProfile", ctip1.getLocalName()); + + Element ctip2 = provider_.getCreateTransformsInfoProfile("CTIP_2"); + assertEquals("CreateTransformsInfoProfile", ctip2.getLocalName()); + } + + public void testGetCreateSignatureEnvironmentProfile() + { + Element csep = provider_.getCreateSignatureEnvironmentProfile("CSEP_1"); + assertEquals("CreateSignatureEnvironmentProfile", csep.getLocalName()); + } + + public void testGetVerifyTransformsInfoProfile() + { + Element vtip = provider_.getVerifyTransformsInfoProfile("VTIP_1"); + assertEquals("VerifyTransformsInfoProfile", vtip.getLocalName()); + } + + public void testGetSupplementProfile() + { + Element sp = provider_.getSupplementProfile("SP_1"); + assertEquals("SupplementProfile", sp.getLocalName()); + } + + public void testGetTrustProfile() + { + TrustProfile tp1 = provider_.getTrustProfile("TP1_Id"); + assertEquals( + "file:/" + CONFIG_BASE_ + "trustprofiles/tp1/anchors", + tp1.getUri()); + assertEquals( + "file:/" + CONFIG_BASE_ + "trustprofiles/tp1/signercerts", + tp1.getSignerCertsUri()); + + TrustProfile tp2 = provider_.getTrustProfile("TP2_Id"); + assertEquals( + "file:" + CONFIG_BASE_ + "trustprofiles/tp2/anchors", + tp2.getUri()); + assertEquals( + "file:" + CONFIG_BASE_ + "trustprofiles/tp2/signercerts", + tp2.getSignerCertsUri()); + } + + public void testGetRevocationArchiveJDBCURL() + { + assertEquals("jdbc://dummy", provider_.getRevocationArchiveJDBCURL()); + } + + public void testGetRevocationArchiveJDBCDriverClass() + { + assertEquals("fully.qualified.classname", provider_.getRevocationArchiveJDBCDriverClass()); + } + + public void testGetEnableRevocationChecking() + { + assertFalse(provider_.getEnableRevocationChecking()); + } + + public void testGetMaxRevocationAge() + { + assertEquals(10000, provider_.getMaxRevocationAge()); + } + + public void testGetServiceOrder() + { + String[] serviceOrder = provider_.getServiceOrder(); + assertEquals(2, serviceOrder.length); + assertEquals("crl", serviceOrder[0]); + assertEquals("ocsp", serviceOrder[1]); + } + + public void testGetAutoAddCertificates() + { + assertFalse(provider_.getAutoAddCertificates()); + } + + public void testGetUseAuthorityInfoAccess() + { + assertFalse(provider_.getUseAuthorityInfoAccess()); + } +} diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest2.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest2.java new file mode 100644 index 000000000..adf02809b --- /dev/null +++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest2.java @@ -0,0 +1,225 @@ +package test.at.gv.egovernment.moa.spss.server.config; + +import iaik.asn1.structures.Name; +import iaik.pki.pathvalidation.ChainingModes; +import iaik.utils.RFC2253NameParser; +import iaik.utils.RFC2253NameParserException; +import iaik.x509.X509Certificate; + +import java.math.BigInteger; +import java.util.List; +import java.util.Set; + +import junit.framework.TestCase; + +import org.w3c.dom.Element; + +import at.gv.egovernment.moa.spss.MOAException; +import at.gv.egovernment.moa.spss.server.config.ConfigurationException; +import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; +import at.gv.egovernment.moa.spss.server.config.TrustProfile; +import at.gv.egovernment.moa.util.Constants; + +/** + * @author Gregor Karlinger + * @version $Id$ + */ +public class ConfigurationProviderTest2 extends TestCase +{ + private static final String CONFIG_BASE_ = + "e:/cio/projekte/basismodule/wartung/projekt/spss.server/res/test/resources/config/"; + + static at.gv.egovernment.moa.spss.server.config.ConfigurationProvider provider_; + + static + { + System.setProperty( + "log4j.configuration", + "file:/" + CONFIG_BASE_ + "log4j.properties"); + System.setProperty( + at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.CONFIG_PROPERTY_NAME, + CONFIG_BASE_ + "moa.ss.noopts-config.xml"); + try + { + ConfigurationProvider.reload(); + provider_ = at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.getInstance(); + } + catch (ConfigurationException e) + { + throw new RuntimeException("Fehler beim Setup des Tests: " + e.getMessage()); + } + } + + + /** + * Constructor for ConfigurationProvider. + * @param arg0 + */ + public ConfigurationProviderTest2() throws MOAException + { + super("ConfigurationProvider"); + } + + public void testGetWarnings() + { + // 3 Warnings should be collected: C14N not found, DigestMethod not found, ArchiveDuration not found + assertEquals(3, provider_.getWarnings().size()); + } + + public void testGetDigestMethodAlgorithmName() + { + // Element is missing in config file, check if default value is returned + assertEquals( + Constants.SHA1_URI, + provider_.getDigestMethodAlgorithmName()); + } + + public void testGetCanonicalizationAlgorithmName() + { + // Element is missing in config file, check if default value is returned + assertEquals( + Constants.C14N_URI, + provider_.getCanonicalizationAlgorithmName()); + } + + public void testGetHardwareCryptoModules() + { + // No hardware crypto modules in config file, check for empty list + List hwcms = provider_.getHardwareCryptoModules(); + assertEquals(0, hwcms.size()); + } + + public void testGetHardwareKeyModules() + { + List hwkms = provider_.getHardwareKeyModules(); + assertEquals(1, hwkms.size()); + } + + public void testGetSoftwareKeyModules() + { + // No software key modules in config file, check for empty list + List swkms = provider_.getSoftwareKeyModules(); + assertEquals(0, swkms.size()); + } + + public void testGetChainingMode() throws RFC2253NameParserException + { + // Default Chaining Mode not set in configuration, check for default value + X509Certificate cert = new X509Certificate(); + RFC2253NameParser parser = new RFC2253NameParser("CN=Unknown"); + Name name = parser.parse(); + cert.setIssuerDN(name); + cert.setSerialNumber(BigInteger.valueOf(0)); + assertEquals(ChainingModes.PKIX_MODE, provider_.getChainingMode(cert)); + } + + public void testGetDistributionPoints() throws RFC2253NameParserException + { + // Element is missing in config file, check if emty list is returned + X509Certificate cert = new X509Certificate(); + RFC2253NameParser parser = new RFC2253NameParser("CN=DP1_Issuer"); + Name name = parser.parse(); + cert.setIssuerDN(name); + + Set dps = provider_.getDistributionPoints(cert); + assertEquals(0, dps.size()); + } + + public void testGetCRLArchiveDuration() + { + // Element is missing in config file, check if default value is returned + assertEquals(0, provider_.getCRLArchiveDuration()); + } + + public void testGetEnableRevocationArchiving() + { + // Element is missing in config file, check if default value is returned + assertFalse(provider_.getEnableRevocationArchiving()); + } + + public void testGetCertStoreLocation() + { + // Element is missing in config file, check if default value is returned + assertEquals( + CONFIG_BASE_ + "certstore", + provider_.getCertStoreLocation().replace('\\', '/')); + } + + public void testGetCreateTransformsInfoProfile() + { + // No profile in config file, check for null + Element ctip1 = provider_.getCreateTransformsInfoProfile("CTIP_1"); + assertNull(ctip1); + } + + public void testGetCreateSignatureEnvironmentProfile() + { + // No profile in config file, check for null + Element csep = provider_.getCreateSignatureEnvironmentProfile("CSEP_1"); + assertNull(csep); + } + + public void testGetVerifyTransformsInfoProfile() + { + // No profile in config file, check for null + Element vtip = provider_.getVerifyTransformsInfoProfile("VTIP_1"); + assertNull(vtip); + } + + public void testGetSupplementProfile() + { + // No profile in config file, check for null + Element sp = provider_.getSupplementProfile("SP_1"); + assertNull(sp); + } + + public void testGetTrustProfile() + { + // No trust profiles config file, check for null + TrustProfile tp1 = provider_.getTrustProfile("TP1_Id"); + assertNull(tp1); + } + + public void testGetRevocationArchiveJDBCURL() + { + // Element is missing in config file, check for null + assertNull(provider_.getRevocationArchiveJDBCURL()); + } + + public void testGetRevocationArchiveJDBCDriverClass() + { + // Element is missing in config file, check for null + assertNull(provider_.getRevocationArchiveJDBCDriverClass()); + } + + public void testGetEnableRevocationChecking() + { + // Element is missing in config file, check for default value + assertFalse(provider_.getEnableRevocationChecking()); + } + + public void testGetMaxRevocationAge() + { + // Element is missing in config file, check for default value + assertEquals(0, provider_.getMaxRevocationAge()); + } + + public void testGetServiceOrder() + { + // Element is missing in config file, check for empty array + String[] serviceOrder = provider_.getServiceOrder(); + assertEquals(0, serviceOrder.length); + } + + public void testGetAutoAddCertificates() + { + // Element is missing in config file, check for default value + assertFalse(provider_.getAutoAddCertificates()); + } + + public void testGetUseAuthorityInfoAccess() + { + // Element is missing in config file, check for default value + assertFalse(provider_.getUseAuthorityInfoAccess()); + } +} diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest3.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest3.java new file mode 100644 index 000000000..7da2165cb --- /dev/null +++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest3.java @@ -0,0 +1,166 @@ +package test.at.gv.egovernment.moa.spss.server.config; + +import iaik.asn1.structures.Name; +import iaik.utils.RFC2253NameParser; +import iaik.utils.RFC2253NameParserException; +import iaik.x509.X509Certificate; + +import java.util.List; +import java.util.Set; + +import junit.framework.TestCase; + +import org.w3c.dom.Element; + +import at.gv.egovernment.moa.spss.MOAException; +import at.gv.egovernment.moa.spss.server.config.ConfigurationException; +import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; +import at.gv.egovernment.moa.util.Constants; + +/** + * @author Gregor Karlinger + * @version $Id$ + */ +public class ConfigurationProviderTest3 extends TestCase +{ + private static final String CONFIG_BASE_ = + "e:/cio/projekte/basismodule/wartung/projekt/spss.server/res/test/resources/config/"; + + static at.gv.egovernment.moa.spss.server.config.ConfigurationProvider provider_; + + static + { + System.setProperty( + "log4j.configuration", + "file:/" + CONFIG_BASE_ + "log4j.properties"); + System.setProperty( + at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.CONFIG_PROPERTY_NAME, + CONFIG_BASE_ + "moa.sp.noopts-config.xml"); + try + { + ConfigurationProvider.reload(); + provider_ = at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.getInstance(); + } + catch (ConfigurationException e) + { + throw new RuntimeException("Fehler beim Setup des Tests: " + e.getMessage()); + } + } + + /** + * Constructor for ConfigurationProvider. + * @param arg0 + */ + public ConfigurationProviderTest3() throws MOAException + { + super("ConfigurationProvider"); + } + + public void testGetWarnings() + { + // 3 Warnings should be collected: C14N not found, DigestMethod not found, ArchiveDuration not found + assertEquals(3, provider_.getWarnings().size()); + } + + public void testGetDigestMethodAlgorithmName() + { + // Element is missing in config file, check if default value is returned + assertEquals( + Constants.SHA1_URI, + provider_.getDigestMethodAlgorithmName()); + } + + public void testGetCanonicalizationAlgorithmName() + { + // Element is missing in config file, check if default value is returned + assertEquals( + Constants.C14N_URI, + provider_.getCanonicalizationAlgorithmName()); + } + + public void testGetHardwareCryptoModules() + { + // No hardware crypto modules in config file, check for empty list + List hwcms = provider_.getHardwareCryptoModules(); + assertEquals(0, hwcms.size()); + } + + public void testGetHardwareKeyModules() + { + // No hardware key modules in config file, check for empty list + List hwkms = provider_.getHardwareKeyModules(); + assertEquals(0, hwkms.size()); + } + + public void testGetSoftwareKeyModules() + { + // No software key modules in config file, check for empty list + List swkms = provider_.getSoftwareKeyModules(); + assertEquals(0, swkms.size()); + } + + public void testGetDistributionPoints() throws RFC2253NameParserException + { + // No distribution points in config file, check for emtpy set + X509Certificate cert = new X509Certificate(); + RFC2253NameParser parser = new RFC2253NameParser("CN=DP1_Issuer"); + Name name = parser.parse(); + cert.setIssuerDN(name); + + Set dps = provider_.getDistributionPoints(cert); + assertEquals(0, dps.size()); + } + + public void testGetCRLArchiveDuration() + { + // No archive duration in config file, check for default value + assertEquals(0, provider_.getCRLArchiveDuration()); + } + + public void testGetCreateTransformsInfoProfile() + { + // No profile in config file, check for null + Element ctip1 = provider_.getCreateTransformsInfoProfile("CTIP_1"); + assertNull(ctip1); + } + + public void testGetCreateSignatureEnvironmentProfile() + { + // No profile in config file, check for null + Element csep = provider_.getCreateSignatureEnvironmentProfile("CSEP_1"); + assertNull(csep); + } + + public void testGetVerifyTransformsInfoProfile() + { + // No profile in config file, check for null + Element vtip = provider_.getVerifyTransformsInfoProfile("VTIP_1"); + assertNull(vtip); + } + + public void testGetSupplementProfile() + { + // No profile in config file, check for null + Element sp = provider_.getSupplementProfile("SP_1"); + assertNull(sp); + } + + public void testGetRevocationArchiveJDBCURL() + { + // No archive in config file, check for null + assertNull(provider_.getRevocationArchiveJDBCURL()); + } + + public void testGetRevocationArchiveJDBCDriverClass() + { + // No archive in config file, check for null + assertNull(provider_.getRevocationArchiveJDBCDriverClass()); + } + + public void testGetServiceOrder() + { + // Element is missing in config file, check for empty array + String[] serviceOrder = provider_.getServiceOrder(); + assertEquals(0, serviceOrder.length); + } +} diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java new file mode 100644 index 000000000..be1090e4a --- /dev/null +++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java @@ -0,0 +1,149 @@ +package test.at.gv.egovernment.moa.spss.server.iaik.config; + +import java.io.FileInputStream; +import java.security.KeyStore; +import java.security.cert.CertificateFactory; +import java.security.cert.X509Certificate; +import java.util.Collection; +import java.util.Date; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +import test.at.gv.egovernment.moa.spss.SPSSTestCase; + +import iaik.asn1.structures.DistributionPoint; +import iaik.pki.PKIConfiguration; +import iaik.pki.pathvalidation.ChainingModes; +import iaik.pki.pathvalidation.ValidationConfiguration; +import iaik.pki.revocation.CRLDistributionPoint; +import iaik.pki.revocation.RevocationConfiguration; +import iaik.pki.store.certstore.CertStoreConfiguration; +import iaik.pki.store.certstore.CertStoreTypes; +import iaik.pki.store.revocation.archive.ArchiveConfiguration; +import iaik.pki.store.revocation.archive.db.DataBaseArchiveParameter; +import iaik.server.ConfigurationData; +import iaik.server.modules.keys.HardwareKeyModuleConfiguration; +import iaik.server.modules.keys.SoftwareKeyModuleConfiguration; + +import at.gv.egovernment.moa.spss.server.iaik.config.ConfigurationDataImpl; +import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; +import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; + +/** + * Tests the ConfigurationDataImpl. + * + * @author Patrick Peck + * @version $Id$ + */ +public class ConfigurationDataImplTest extends SPSSTestCase { + + private ConfigurationData config; + private X509Certificate iaikCert; + + public ConfigurationDataImplTest(String name) { + super(name); + } + + protected void setUp() throws Exception { + TransactionContext context; + + setUpTransactionContext(); + context = TransactionContextManager.getInstance().getTransactionContext(); + + config = new ConfigurationDataImpl(context.getConfiguration()); + + KeyStore ks = KeyStore.getInstance("JKS", "SUN"); + ks.load( + new FileInputStream(TESTDATA_ROOT + "security/server.keystore"), + "changeit".toCharArray()); + + CertificateFactory certFactory = CertificateFactory.getInstance("X.509"); + Collection certs = + certFactory.generateCertificates( + new FileInputStream( + TESTDATA_ROOT + + "conf/moa-spss/trustprofiles/TrustProfile1/IAIKRoot.cer")); + iaikCert = (X509Certificate) certs.toArray()[0]; + + } + + public void testGetPKIConfiguration() { + PKIConfiguration pkiConfig = config.getPKIConfiguration(); + ArchiveConfiguration archiveConfig = pkiConfig.getArchiveConfiguration(); + CertStoreConfiguration certStoreConfig = + pkiConfig.getCertStoreConfiguration(); + RevocationConfiguration revocationConfig = + pkiConfig.getRevocationConfiguration(); + ValidationConfiguration validationConfig = + pkiConfig.getValidationConfiguration(); + DataBaseArchiveParameter archiveParam; + Set distributionPoints; + Iterator iter; + boolean found; + + // test archive parameters + archiveParam = + (DataBaseArchiveParameter) archiveConfig.getArchiveParameters(); + assertEquals( + archiveParam.getJDBCUrl(), + "jdbc:postgresql://10.16.46.108/moa?user=moa&password=moatest"); + + // test cert store configuration + assertEquals(1, certStoreConfig.getParameters().length); + assertEquals( + CertStoreTypes.DIRECTORY, + certStoreConfig.getParameters()[0].getType()); + + // test revocation configuration + distributionPoints = + revocationConfig.getAlternativeDistributionPoints(iaikCert, null, new Date()); + assertEquals(3, distributionPoints.size()); + found = false; + for (iter = distributionPoints.iterator(); iter.hasNext();) { + CRLDistributionPoint dp = (CRLDistributionPoint) iter.next(); + if (dp.getUri().equals("http://www.iaik.at/testCA/iaik_test_sig.crl")) { + found = + dp.getReasonCodes() + == (DistributionPoint.keyCompromise + | DistributionPoint.affiliationChanged); + } + } + assertTrue(found); + + // test validation configuration + assertEquals( + ChainingModes.PKIX_MODE, + validationConfig.getChainingMode(iaikCert)); + } + + /* + public void testGetCryptoModuleConfigurations() { + List cryptoConfigs = config.getCryptoModuleConfigurations(); + HardwareCryptoModuleConfiguration moduleConfig; + + assertEquals(2, cryptoConfigs.size()); + moduleConfig = (HardwareCryptoModuleConfiguration) cryptoConfigs.get(0); + assertEquals("Module1", moduleConfig.getModuleName()); + assertEquals("Slot1", moduleConfig.getSlotID()); + assertEquals("PIN1", new String(moduleConfig.getUserPIN())); + } + */ + + public void testGetKeyModuleConfigurations() { + List keyConfigs = config.getKeyModuleConfigurations(); + HardwareKeyModuleConfiguration hwKey; + SoftwareKeyModuleConfiguration swKey; + + assertEquals(7, keyConfigs.size()); + hwKey = (HardwareKeyModuleConfiguration) keyConfigs.get(0); + assertEquals("cryptoki.dll", hwKey.getModuleName()); + assertEquals("0", hwKey.getSlotID()); + assertEquals("0000", new String(hwKey.getUserPIN())); + swKey = (SoftwareKeyModuleConfiguration) keyConfigs.get(1); + assertEquals( + "buergerkarte", + new String(swKey.getKeyStoreAuthenticationData())); + } + +} diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java new file mode 100644 index 000000000..3b403dc19 --- /dev/null +++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java @@ -0,0 +1,36 @@ +package test.at.gv.egovernment.moa.spss.server.iaik.config; + +import test.at.gv.egovernment.moa.spss.SPSSTestCase; + +import at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator; +import at.gv.egovernment.moa.spss.server.transaction.TransactionContext; +import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager; + +/** + * Tests the IaikConfigurator. + * + * @author Patrick Peck + * @version $Id$ + */ +public class IaikConfiguratorTest extends SPSSTestCase { + + public IaikConfiguratorTest(String name) { + super(name); + } + + /** + * @see TestCase#setUp() + */ + protected void setUp() throws Exception { + super.setUpTransactionContext(); + } + + public void testConfigure() throws Exception { + IaikConfigurator configurator = new IaikConfigurator(); + TransactionContext context = + TransactionContextManager.getInstance().getTransactionContext(); + + configurator.configure(context.getConfiguration()); + } + +} diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/AllTests.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/AllTests.java new file mode 100644 index 000000000..65fa2bf72 --- /dev/null +++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/AllTests.java @@ -0,0 +1,25 @@ +package test.at.gv.egovernment.moa.spss.server.invoke; + +import junit.framework.Test; +import junit.framework.TestSuite; + +/** + * Runs all tests in this package. + * + * @author Patrick Peck + * @version $Id$ + */ +public class AllTests { + public static Test suite() { + TestSuite suite = new TestSuite(); + + suite.addTestSuite(DataObjectFactoryTest.class); + suite.addTestSuite(TransformationFactoryTest.class); + suite.addTestSuite(XMLSignatureCreationInvokerTest.class); + suite.addTestSuite(CMSSignatureVerificationInvokerTest.class); + suite.addTestSuite(XMLSignatureVerificationInvokerTest.class); + + return suite; + } + +} diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java new file mode 100644 index 000000000..3024730f4 --- /dev/null +++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java @@ -0,0 +1,63 @@ +package test.at.gv.egovernment.moa.spss.server.invoke; + +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +import test.at.gv.egovernment.moa.spss.SPSSTestCase; + +import at.gv.egovernment.moa.util.DOMUtils; + +import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest; +import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse; +import at.gv.egovernment.moa.spss.api.xmlbind.VerifyCMSSignatureRequestParser; +import at.gv.egovernment.moa.spss.api.xmlbind.VerifyCMSSignatureResponseBuilder; +import at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker; + +/** + * Mainly a smoke test for debugging the CMSSignatureVerificationInvoker. + * + * @author Patrick Peck + * @version $Id$ + */ +public class CMSSignatureVerificationInvokerTest extends SPSSTestCase { + private static final String TESTDATA_BASE = + TESTDATA_ROOT + "xml/VerifyCMSSignature/"; + + /** + * Constructor for CMSSignatureVerificationInvokerTest. + * @param name + */ + public CMSSignatureVerificationInvokerTest(String name) { + super(name); + } + + protected void setUp() throws Exception { + setUpTransactionContext(); + setUpLoggingContext(); + setUpIaikConfiguration(); + } + + public void testVerifyCMSSignature() throws Exception { + try { + CMSSignatureVerificationInvoker invoker = + CMSSignatureVerificationInvoker.getInstance(); + VerifyCMSSignatureRequestParser requestParser = + new VerifyCMSSignatureRequestParser(); + Document doc = + SPSSTestCase.parseXmlValidating( + TESTDATA_BASE + "TestGeneratorVC0.001.Req.xml"); + VerifyCMSSignatureRequest request = + requestParser.parse(doc.getDocumentElement()); + VerifyCMSSignatureResponse response = invoker.verifyCMSSignature(request); + VerifyCMSSignatureResponseBuilder responseBuilder = + new VerifyCMSSignatureResponseBuilder(); + Element result = responseBuilder.build(response).getDocumentElement(); + + System.out.println(DOMUtils.serializeNode(result)); + } catch (Exception e) { + e.printStackTrace(); + fail(); + } + } + +} diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java new file mode 100644 index 000000000..7de2add33 --- /dev/null +++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java @@ -0,0 +1,180 @@ +package test.at.gv.egovernment.moa.spss.server.invoke; + +import java.io.InputStream; +import java.security.Security; + +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +import test.at.gv.egovernment.moa.spss.SPSSTestCase; + +import iaik.server.modules.xml.BinaryDataObject; +import iaik.server.modules.xml.DataObject; +import iaik.server.modules.xml.XMLDataObject; + +import at.gv.egovernment.moa.util.Base64Utils; + +import at.gv.egovernment.moa.spss.MOAException; +import at.gv.egovernment.moa.spss.api.SPSSFactory; +import at.gv.egovernment.moa.spss.api.common.Content; +import at.gv.egovernment.moa.spss.server.iaik.xml.ByteArrayDataObjectImpl; +import at.gv.egovernment.moa.spss.server.iaik.xml.ByteStreamDataObjectImpl; +import at.gv.egovernment.moa.spss.server.iaik.xml.XMLDataObjectImpl; +import at.gv.egovernment.moa.spss.server.iaik.xml.XMLNodeListDataObjectImpl; +import at.gv.egovernment.moa.spss.server.invoke.DataObjectFactory; + +/** + * Test cases for the DataObjectFactory class. + * + * @author Patrick Peck + * @version $Id$ + */ +public class DataObjectFactoryTest extends SPSSTestCase { + + private static final String HTTP_BINARY_CONTENT_URL = "http://www.google.com"; + private static final String HTTP_XML_CONTENT_URL = + "http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"; + private static final String HTTPS_BINARY_CONTENT_URL = + "https://businessnet.ba-ca.com"; + private static final String HTTPS_UNTRUSTED_URL = + "https://heribert.anecon.com"; + private static final String HTTP_UNKNOWN_HOST_URL = "http://uurjmjmruuw.com"; + private static final String MALFORMED_URL = "//hsld///ddd"; + private static final String FILE_BINARY_CONTENT_URL = "file:/C:/boot.ini"; + private static final String XML_CONTENT = + "" + + " " + + " " + + ""; + private static final String BASE64_CONTENT = "U3Zlbg=="; + + private SPSSFactory spssFactory = SPSSFactory.getInstance(); + private DataObjectFactory factory; + + /** + * Constructor for DataObjectFactoryTest. + * @param name + */ + public DataObjectFactoryTest(String name) { + super(name); + } + + protected void setUp() throws Exception { + factory = DataObjectFactory.getInstance(); + + // set up SSL + Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); + System.setProperty( + "java.protocol.handler.pkgs", + "com.sun.net.ssl.internal.www.protocol"); + /* + System.setProperty( + "javax.net.ssl.keyStore", + "data/test/security/client.keystore"); + System.setProperty("javax.net.ssl.keyStorePassword", "changeit"); + System.setProperty( + "javax.net.ssl.trustStore", + "data/test/security/client.keystore"); + System.setProperty("javax.net.ssl.trustStorePassword", "changeit"); + */ + } + + public void testCreateFromURIWithBinaryHttp() throws Exception { + DataObject dataObject = + factory.createFromURI(HTTP_BINARY_CONTENT_URL, false); + + assertNotNull(dataObject); + assertTrue(dataObject instanceof ByteStreamDataObjectImpl); + assertNotNull(((BinaryDataObject) dataObject).getInputStream()); + } + + public void testCreateFromURIWithXmlHttp() throws Exception { + DataObject dataObject = factory.createFromURI(HTTP_XML_CONTENT_URL, false); + Element element; + + assertNotNull(dataObject); + assertTrue(dataObject instanceof XMLDataObjectImpl); + element = ((XMLDataObject) dataObject).getElement(); + assertNotNull(element); + assertEquals("schema", element.getTagName()); + } + + public void testCreateFromURIWithMalformedURI() throws Exception { + try { + factory.createFromURI(MALFORMED_URL, false); + fail(); + } catch (MOAException e) { + } + } + + public void testCreateFromURIWithNonExistingHttpURL() throws Exception { + try { + factory.createFromURI(HTTP_UNKNOWN_HOST_URL, false); + fail(); + } catch (MOAException e) { + } + } + + public void testCreateFromURIWithHttps() throws Exception { + DataObject dataObject = + factory.createFromURI(HTTPS_BINARY_CONTENT_URL, false); + assertNotNull(dataObject); + assertTrue(dataObject instanceof BinaryDataObject); + } + + public void testCreateFromURIWithUntrustedHttps() throws Exception { + try { + factory.createFromURI(HTTPS_UNTRUSTED_URL, false); + fail(); + } catch (MOAException e) { + + } + } + + public void testCreateFromURIWithFile() throws Exception { + try { + factory.createFromURI(FILE_BINARY_CONTENT_URL, false); + fail(); + } catch (MOAException e) { + } + } + + public void testCreateFromContentOptionalRefTypeWithXmlContent() + throws Exception { + Document doc = parseXmlString(XML_CONTENT); + Content content = + spssFactory.createContent( + doc.getDocumentElement().getChildNodes(), + "http://data"); + DataObject dataObject = + factory.createFromContentOptionalRefType( + content, + null, + null, + true, + false, + true, + false); + + assertTrue(dataObject instanceof XMLNodeListDataObjectImpl); + } + + public void testCreateFromContentOptionalRefTypeWithBase64Content() + throws Exception { + InputStream is = Base64Utils.decodeToStream(BASE64_CONTENT, true); + Content content = spssFactory.createContent(is, "http://data"); + DataObject dataObject = + factory.createFromContentOptionalRefType( + content, + null, + null, + false, + false, + true, + false); + + assertNotNull(dataObject); + assertTrue(dataObject instanceof ByteArrayDataObjectImpl); + } + +} diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java new file mode 100644 index 000000000..13a80cbf1 --- /dev/null +++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java @@ -0,0 +1,201 @@ +package test.at.gv.egovernment.moa.spss.server.invoke; + +import java.util.List; +import java.util.Map; + +import org.w3c.dom.Document; + +import test.at.gv.egovernment.moa.spss.SPSSTestCase; + +import iaik.ixsil.init.IXSILInit; +import iaik.ixsil.util.URI; +import iaik.server.modules.xml.Base64Transformation; +import iaik.server.modules.xml.Canonicalization; +import iaik.server.modules.xml.EnvelopedSignatureTransformation; +import iaik.server.modules.xml.Transformation; +import iaik.server.modules.xml.XPath2Transformation; +import iaik.server.modules.xml.XPathTransformation; +import iaik.server.modules.xml.XSLTTransformation; + +import at.gv.egovernment.moa.util.Constants; + +import at.gv.egovernment.moa.spss.MOAApplicationException; +import at.gv.egovernment.moa.spss.api.common.Transform; +import at.gv.egovernment.moa.spss.api.xmlbind.TransformParser; +import at.gv.egovernment.moa.spss.server.invoke.TransformationFactory; + +/** + * Test cases for the TransformationFactory class. + * + * @author Patrick Peck + * @version $Id$ + */ +public class TransformationFactoryTest extends SPSSTestCase { + + private static final String TESTDATA_BASE = + TESTDATA_ROOT + "xml/dsigTransform/"; + private TransformationFactory factory = TransformationFactory.getInstance(); + private TransformParser transformParser = new TransformParser(); + + /** + * Constructor for TransformationFactoryTest. + * @param name + */ + public TransformationFactoryTest(String name) { + super(name); + } + + protected void setUp() throws Exception { + IXSILInit.init(new URI("init/properties/init.properties")); + //IXSILInit.init(new URI("file:data/deploy/ixsil/init/properties/init.properties")); + + } + + public void testCreateCanonicalization() throws Exception { + Document transform = parseXml(TESTDATA_BASE + "canonicalization.xml"); + Transform tr = + transformParser.parseTransform(transform.getDocumentElement()); + Transformation t = factory.createTransformation(tr); + + assertTrue(t instanceof Canonicalization); + assertEquals( + "http://www.w3.org/TR/2001/REC-xml-c14n-20010315", + t.getAlgorithmURI()); + } + + public void testCreateCanonicalizationWithComments() throws Exception { + Document transform = + parseXml(TESTDATA_BASE + "canonicalizationWithComments.xml"); + Transform tr = + transformParser.parseTransform(transform.getDocumentElement()); + Transformation t = factory.createTransformation(tr); + + assertTrue(t instanceof Canonicalization); + assertEquals( + "http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments", + t.getAlgorithmURI()); + } + + public void testCreateBase64Decode() throws Exception { + Document transform = parseXml(TESTDATA_BASE + "base64.xml"); + Transform tr = + transformParser.parseTransform(transform.getDocumentElement()); + Transformation t = factory.createTransformation(tr); + assertTrue(t instanceof Base64Transformation); + } + + public void testCreateEnvelopedSignature() throws Exception { + Document transform = parseXml(TESTDATA_BASE + "enveloped.xml"); + Transform tr = + transformParser.parseTransform(transform.getDocumentElement()); + Transformation t = factory.createTransformation(tr); + assertTrue(t instanceof EnvelopedSignatureTransformation); + } + + public void testXPathTransformation() throws Exception { + Document transform = parseXml(TESTDATA_BASE + "xpath.xml"); + Transform tr = + transformParser.parseTransform(transform.getDocumentElement()); + Transformation t = factory.createTransformation(tr); + Map nsDecls; + + assertTrue(t instanceof XPathTransformation); + nsDecls = ((XPathTransformation) t).getNamespaceDeclarations(); + assertEquals(1, nsDecls.size()); + assertEquals(Constants.DSIG_NS_URI, nsDecls.get("dsig")); + } + + public void testCreateXPath2Transformation() throws Exception { + Document transform = parseXml(TESTDATA_BASE + "xpath2.xml"); + Transform tr = + transformParser.parseTransform(transform.getDocumentElement()); + Transformation t = factory.createTransformation(tr); + assertTrue(t instanceof XPath2Transformation); + } + + public void testCreateXSLTTransformation() throws Exception { + Document transform = parseXml(TESTDATA_BASE + "xslt.xml"); + Transform tr = + transformParser.parseTransform(transform.getDocumentElement()); + XSLTTransformation t = + (XSLTTransformation) factory.createTransformation(tr); + assertNotNull(t.getStylesheetElement()); + } + + public void testCreateWithIllegalAlgorithm() throws Exception { + try { + Document transform = parseXml(TESTDATA_BASE + "illegalAlgorithm.xml"); + Transform tr = + transformParser.parseTransform(transform.getDocumentElement()); + factory.createTransformation(tr); + fail(); + } catch (MOAApplicationException e) { + } + } + + public void testEqualsXslt() throws Exception { + Document xslt = parseXml(TESTDATA_BASE + "xslt.xml"); + Transform tr = transformParser.parseTransform(xslt.getDocumentElement()); + Transformation trXslt = factory.createTransformation(tr); + + Document xsltEqu = parseXml(TESTDATA_BASE + "xsltEqual.xml"); + tr = transformParser.parseTransform(xsltEqu.getDocumentElement()); + Transformation trXsltEqu = factory.createTransformation(tr); + + Document xsltDiff = parseXml(TESTDATA_BASE + "xsltDifferent.xml"); + tr = transformParser.parseTransform(xsltDiff.getDocumentElement()); + Transformation trXsltDiff = factory.createTransformation(tr); + + Document canonicalization = + parseXml(TESTDATA_BASE + "canonicalization.xml"); + + assertTrue(trXslt.equals(trXsltEqu)); + assertFalse(trXslt.equals(trXsltDiff)); + assertFalse(trXsltEqu.equals(trXsltDiff)); + assertEquals(trXslt.hashCode(), trXsltEqu.hashCode()); + assertFalse(trXslt.hashCode() == trXsltDiff.hashCode()); + assertFalse(trXsltEqu.hashCode() == trXsltDiff.hashCode()); + assertFalse(trXslt.equals(canonicalization)); + } + + public void testEqualsXPath() throws Exception { + Document xpath = parseXml(TESTDATA_BASE + "xpath.xml"); + Transform tr = transformParser.parseTransform(xpath.getDocumentElement()); + Transformation trXpath = factory.createTransformation(tr); + Transformation trXpathEqu = factory.createTransformation(tr); + + Document xpathDiff = parseXml(TESTDATA_BASE + "xpathDifferent.xml"); + tr = transformParser.parseTransform(xpathDiff.getDocumentElement()); + Transformation trXpathDiff = factory.createTransformation(tr); + + assertTrue(trXpath.equals(trXpathEqu)); + assertEquals(trXpath.hashCode(), trXpathEqu.hashCode()); + assertFalse(trXpath.equals(trXpathDiff)); + assertFalse(trXpath.hashCode() == trXpathDiff.hashCode()); + } + + public void testEqualsXPath2() throws Exception { + Document xpath2 = parseXml(TESTDATA_BASE + "xpath2.xml"); + Transform tr = transformParser.parseTransform(xpath2.getDocumentElement()); + Transformation trXpath2 = factory.createTransformation(tr); + Transformation trXpath2Equ = factory.createTransformation(tr); + + Document xpath2Diff = parseXml(TESTDATA_BASE + "xpath2Different.xml"); + tr = transformParser.parseTransform(xpath2Diff.getDocumentElement()); + Transformation trXpath2Diff = factory.createTransformation(tr); + + assertTrue(trXpath2.equals(trXpath2Equ)); + assertEquals(trXpath2.hashCode(), trXpath2Equ.hashCode()); + assertFalse(trXpath2.equals(trXpath2Diff)); + assertFalse(trXpath2.hashCode() == trXpath2Diff.hashCode()); + } + + public void testCreateTransformationList() throws Exception { + Document transforms = parseXml(TESTDATA_BASE + "transforms.xml"); + List trs = transformParser.parseTransforms(transforms.getDocumentElement()); + List transformationList = factory.createTransformationList(trs); + + assertEquals(3, transformationList.size()); + } + +} diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java new file mode 100644 index 000000000..28cd3805a --- /dev/null +++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java @@ -0,0 +1,63 @@ +package test.at.gv.egovernment.moa.spss.server.invoke; + +import java.util.Collections; + +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +import test.at.gv.egovernment.moa.spss.SPSSTestCase; + +import at.gv.egovernment.moa.util.DOMUtils; + +import at.gv.egovernment.moa.spss.api.xmlbind.CreateXMLSignatureRequestParser; +import at.gv.egovernment.moa.spss.api.xmlbind.CreateXMLSignatureResponseBuilder; +import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest; +import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse; +import at.gv.egovernment.moa.spss.server.invoke.XMLSignatureCreationInvoker; + +/** + * Mainly a smoke test for debugging the XMLSignatureCreationInvoker. + * + * @author Patrick Peck + * @version $Id$ + */ +public class XMLSignatureCreationInvokerTest extends SPSSTestCase { + private static final String TESTDATA_BASE = + TESTDATA_ROOT + "xml/CreateXMLSignature/"; + + public XMLSignatureCreationInvokerTest(String name) { + super(name); + } + + protected void setUp() throws Exception { + setUpTransactionContext(); + setUpLoggingContext(); + setUpIaikConfiguration(); + setUpSSL(); + } + + public void testCreateXMLSignature() throws Exception { + try { + XMLSignatureCreationInvoker invoker = + XMLSignatureCreationInvoker.getInstance(); + CreateXMLSignatureRequestParser requestParser = + new CreateXMLSignatureRequestParser(); + Document doc = + SPSSTestCase.parseXmlValidating( + TESTDATA_BASE + "TestGeneratorCX2.004.Req.xml"); + CreateXMLSignatureRequest request = + requestParser.parse(doc.getDocumentElement()); + CreateXMLSignatureResponse response = + invoker.createXMLSignature(request, Collections.EMPTY_SET); + CreateXMLSignatureResponseBuilder responseBuilder = + new CreateXMLSignatureResponseBuilder(); + Element result = responseBuilder.build(response).getDocumentElement(); + + System.out.println(DOMUtils.serializeNode(result)); + } catch (Exception e) { + e.printStackTrace(); + fail(); + } + } + +} diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java new file mode 100644 index 000000000..56e3d541b --- /dev/null +++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java @@ -0,0 +1,61 @@ +package test.at.gv.egovernment.moa.spss.server.invoke; + +import org.w3c.dom.Document; + +import test.at.gv.egovernment.moa.spss.SPSSTestCase; + +import at.gv.egovernment.moa.util.DOMUtils; + +import at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureRequestParser; +import at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureResponseBuilder; +import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest; +import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse; +import at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationInvoker; + +/** + * Mainly a smoke test for debugging the XMLSignatureVerificationInvoker. + * + * @author Patrick Peck + * @version $Id$ + */ +public class XMLSignatureVerificationInvokerTest extends SPSSTestCase { + private static final String TESTDATA_BASE = + TESTDATA_ROOT + "xml/VerifyXMLSignature/"; + + public XMLSignatureVerificationInvokerTest(String name) { + super(name); + } + + protected void setUp() throws Exception { + setUpTransactionContext(); + setUpLoggingContext(); + setUpIaikConfiguration(); + } + + public void testVerifyXMLSignature() throws Exception { + try { + XMLSignatureVerificationInvoker invoker = + XMLSignatureVerificationInvoker.getInstance(); + VerifyXMLSignatureRequestParser requestParser = + new VerifyXMLSignatureRequestParser(); + VerifyXMLSignatureResponseBuilder responseBuilder = + new VerifyXMLSignatureResponseBuilder(); + Document doc = + SPSSTestCase.parseXmlValidating( + TESTDATA_BASE + "TestGeneratorVX.201.Req.xml"); + + VerifyXMLSignatureRequest request = + requestParser.parse(doc.getDocumentElement()); + VerifyXMLSignatureResponse response; + + response = invoker.verifyXMLSignature(request); + System.out.println( + DOMUtils.serializeNode(responseBuilder.build(response))); + } catch (Exception e) { + e.printStackTrace(); + fail(); + } + } + + +} diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java new file mode 100644 index 000000000..b46c20086 --- /dev/null +++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java @@ -0,0 +1,50 @@ +package test.at.gv.egovernment.moa.spss.server.tools; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import at.gv.egovernment.moa.spss.server.tools.CertTool; + +import test.at.gv.egovernment.moa.MOATestCase; + +/** + * Tests for the CertTool. + * + * @author Patrick Peck + * @version $Id$ + */ +public class CertToolTest extends MOATestCase { + + private static final String EXPECTED_RESULT = + "SubjectDN (RFC2253):" + + " CN=Patrick Peck,OU=MOA Team,O=BRZ,L=Vienna,ST=Vienna,C=AT\r\n" + + "IssuerDN (RFC2253) :" + + " CN=Patrick Peck,OU=MOA Team,O=BRZ,L=Vienna,ST=Vienna,C=AT\r\n" + + "Serial Number :" + + " 1047548672\r\n"; + private CertTool certTool; + + /** + * Constructor for CertToolTest. + * @param name + */ + public CertToolTest(String name) { + super(name); + } + + protected void setUp() { + certTool = new CertTool(); + } + + public void testPrintCertInfo() { + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + PrintStream ps = new PrintStream(bos); + String result; + + certTool.printCertInfo(TESTDATA_ROOT + "security/server.cer", ps); + result = new String(bos.toByteArray()); + System.out.println(result); + assertEquals(EXPECTED_RESULT, result); + } + +} diff --git a/spss/server/serverws/pom.xml b/spss/server/serverws/pom.xml index de0f511c2..88b3345d6 100644 --- a/spss/server/serverws/pom.xml +++ b/spss/server/serverws/pom.xml @@ -3,14 +3,14 @@ MOA.spss moa-spss - 1.4.1 + 1.4.x 4.0.0 MOA.spss.server moa-spss-ws war - 1.4.1 + 1.4.2 MOA SP/SS WebService @@ -57,7 +57,7 @@ MOA.spss.server moa-spss-lib - ${project.version} + ${pom.version} MOA diff --git a/spss/server/tools/pom.xml b/spss/server/tools/pom.xml index 3bfb747f8..3a3cde79c 100644 --- a/spss/server/tools/pom.xml +++ b/spss/server/tools/pom.xml @@ -3,14 +3,14 @@ MOA.spss moa-spss - 1.4.1 + 1.4.x 4.0.0 MOA.spss.server moa-spss-tools jar - 1.4.1 + 1.4.2 MOA SP/SS Tools @@ -21,7 +21,7 @@ MOA.spss.server moa-spss-lib - ${project.version} + ${pom.version} iaik.prod -- cgit v1.2.3 From 18222e4c26ece81621f04ba090b0345da5dcac2a Mon Sep 17 00:00:00 2001 From: pdanner Date: Fri, 14 Sep 2007 12:44:18 +0000 Subject: documented changes git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@1009 d688527b-c9ab-4aba-bd8d-4036d912da1d --- id/history.txt | 6 ++++++ id/oa/pom.xml | 2 +- id/server/auth/pom.xml | 25 +++++++++++++------------ spss/server/history.txt | 11 +++++++++-- 4 files changed, 29 insertions(+), 15 deletions(-) (limited to 'id/oa') diff --git a/id/history.txt b/id/history.txt index 7ecc0d34d..f53f1a0b4 100644 --- a/id/history.txt +++ b/id/history.txt @@ -3,6 +3,12 @@ von MOA-ID auf. History MOA-ID: +===== +Version MOA-ID 1.4.2 beta1: Änderungen seit Version MOA-ID 1.4.1: + +Verbesserungen/Erweiterungen: +- Das Lesen von Streams wurde beschleunigt + ===== Version MOA-ID 1.4.1: Änderungen seit Version MOA-ID 1.4.0: diff --git a/id/oa/pom.xml b/id/oa/pom.xml index bfd4a2931..c7fe67540 100644 --- a/id/oa/pom.xml +++ b/id/oa/pom.xml @@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 MOA - oa + moa-id-oa war 1.0 MOA Sample OA diff --git a/id/server/auth/pom.xml b/id/server/auth/pom.xml index 5c2d64192..9870c7ef6 100644 --- a/id/server/auth/pom.xml +++ b/id/server/auth/pom.xml @@ -17,6 +17,8 @@ + + org.apache.maven.plugins @@ -30,17 +32,16 @@ false - + + @@ -62,7 +63,7 @@ MOA.id.server moa-id-lib - + diff --git a/spss/server/history.txt b/spss/server/history.txt index 3cbb39f06..8e81af838 100644 --- a/spss/server/history.txt +++ b/spss/server/history.txt @@ -1,8 +1,15 @@ ############## -1.4.2 +1.4.2 beta 1 ############## -- Performance-Verbesserungen bei der Verwendnung von externen Referenzen. +- Performance-Verbesserungen bei der Verwendnung von externen Referenzen. Diese + werden nur mehr einmal gelesen und dann gecashed + +- Das Lesen von Streams wurde beschleunigt + +- Axis wird wieder in Version 1.0 eingesetzt, da es sonst bei Verwendung von + eingebetteten Dokumenten (Stylesheets usf.) zu Verlusten von Namespace- + Deklarationen kommt (dsig, xsi). ############## 1.4.1 -- cgit v1.2.3 From 83f01ddf24d98dbb5df41fb627a14edee2d57df7 Mon Sep 17 00:00:00 2001 From: pdanner Date: Wed, 17 Oct 2007 16:18:44 +0000 Subject: Implemented and integrated party representation and integrated mandates as per default available Now Eclipse projects are available. The Web Tools Platform can be used to run the web applications git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@1014 d688527b-c9ab-4aba-bd8d-4036d912da1d --- common/.classpath | 9 + common/.project | 23 + common/.settings/org.eclipse.jdt.core.prefs | 5 + common/pom.xml | 4 +- .../java/at/gv/egovernment/moa/util/Constants.java | 7 +- .../at/gv/egovernment/moa/util/StringUtils.java | 6 +- .../schemas/MOA-ID-Configuration-1.4.2.xsd | 506 ++++++++++++++ id/oa/.classpath | 4 + id/oa/.project | 14 + id/pom.xml | 4 +- id/server/auth/.classpath | 7 + id/server/auth/.project | 44 ++ .../auth/.settings/org.eclipse.jdt.core.prefs | 7 + .../.settings/org.eclipse.wst.common.component | 16 + .../org.eclipse.wst.common.project.facet.core.xml | 5 + id/server/auth/pom.xml | 12 +- .../main/resources/resources/wsdl/MOA-ID-1.0.wsdl | 40 -- .../main/resources/resources/wsdl/MOA-ID-1.x.wsdl | 40 -- .../main/resources/resources/wsdl/MOA-SPSS-1.2.xsd | 454 ------------- .../auth/src/main/webapp/META-INF/MANIFEST.MF | 2 + id/server/auth/src/main/webapp/WEB-INF/web.xml | 18 +- id/server/auth/src/main/webapp/css/mandates.css | 57 ++ id/server/auth/src/main/webapp/css/styles.css | 741 +++++++++++++++++++++ .../auth/src/main/webapp/css/styles_opera.css | 11 + .../auth/src/main/webapp/img/egov_schrift.gif | Bin 0 -> 1843 bytes id/server/auth/src/main/webapp/img/info.gif | Bin 0 -> 892 bytes id/server/auth/src/main/webapp/img/rufezeichen.gif | Bin 0 -> 844 bytes id/server/auth/src/main/webapp/img/stern.gif | Bin 0 -> 856 bytes id/server/auth/src/main/webapp/javascript/fa.js | 8 + .../auth/src/main/webapp/javascript/formallg.js | 315 +++++++++ id/server/auth/src/main/wsdl/MOA-ID-1.0.wsdl | 40 ++ id/server/auth/src/main/wsdl/MOA-ID-1.x.wsdl | 40 ++ id/server/auth/src/main/wsdl/MOA-SPSS-1.2.xsd | 454 +++++++++++++ id/server/component-idlibs.xml | 39 ++ .../conf/moa-id/SampleMOAIDConfiguration.xml | 241 ++++--- .../conf/moa-id/SampleMOAIDConfigurationProxy.xml | 283 ++++---- .../SampleMOAIDConfiguration_withTestBKs.xml | 251 ++++--- .../SampleMOAIDConfiguration_withTestBKsProxy.xml | 293 ++++---- .../conf/moa-id/SampleMOAWIDConfiguration.xml | 262 +++++--- .../conf/moa-id/SampleMOAWIDConfigurationProxy.xml | 305 +++++---- .../SampleMOAWIDConfiguration_withTestBKs.xml | 264 +++++--- .../SampleMOAWIDConfiguration_withTestBKsProxy.xml | 303 +++++---- .../moa-id/sampleTemplates/LIESMICH_TEMPLATES.txt | 7 +- .../ParepInputProcessorSignTemplate.html | 61 ++ .../SampleInputProcessorSignTemplate.html | 39 ++ .../moa-id/transforms/TransformsInfoAuthBlock.xml | 98 ++- .../transforms/TransformsInfoAuthBlockText.xml | 66 +- .../TransformsInfoAuthBlockText_deprecated.xml | 61 +- .../TransformsInfoAuthBlock_deprecated.xml | 88 ++- .../moa-spss/profiles/MOAIDTransformAuthBlock.xml | 98 ++- .../profiles/MOAIDTransformAuthBlockText.xml | 66 +- .../MOAIDTransformAuthBlockText_deprecated.xml | 61 +- .../MOAIDTransformAuthBlock_deprecated.xml | 88 ++- ...m-Test-Sig-02.20041227-20141201.SerNo00b5ac.cer | Bin 0 -> 1028 bytes ...TEST-Qual-01a.20041117-20141117.SerNo00da88.cer | Bin 0 -> 991 bytes ...EST-nQual-01a.20041117-20080630.SerNo00da8b.cer | Bin 0 -> 995 bytes id/server/data/deploy/tomcat/server.mod_jk.xml | 162 ----- id/server/data/deploy/tomcat/server.xml | 171 ----- .../deploy/tomcat/tomcat-4.1.x/server.mod_jk.xml | 162 +++++ .../data/deploy/tomcat/tomcat-4.1.x/server.xml | 171 +++++ .../deploy/tomcat/tomcat-5.0.x/server.mod_jk.xml | 386 +++++++++++ .../data/deploy/tomcat/tomcat-5.0.x/server.xml | 388 +++++++++++ id/server/doc/MOA-ID-Configuration-1.4.2.xsd | 506 ++++++++++++++ id/server/doc/MOA-Testzertifikate.vsd | Bin 0 -> 316416 bytes id/server/doc/moa_id/id-admin_1.htm | 4 +- id/server/idserverlib/.classpath | 9 + id/server/idserverlib/.project | 36 + id/server/idserverlib/pom.xml | 364 +++++----- .../idserverlib/src/main/java/META-INF/MANIFEST.MF | 3 + .../moa/id/auth/AuthenticationServer.java | 435 +++++++++--- .../moa/id/auth/MOAIDAuthConstants.java | 12 +- .../AuthenticationDataAssertionBuilder.java | 1 + .../moa/id/auth/builder/BPKBuilder.java | 32 +- .../builder/GetVerifyAuthBlockFormBuilder.java | 86 +++ .../builder/InfoboxValidatorParamsBuilder.java | 10 +- .../moa/id/auth/data/AuthenticationSession.java | 199 +++++- .../moa/id/auth/data/InfoboxValidatorParams.java | 8 + .../id/auth/data/InfoboxValidatorParamsImpl.java | 21 + .../auth/servlet/ProcessValidatorInputServlet.java | 175 +++++ .../moa/id/auth/servlet/SelectBKUServlet.java | 10 +- .../auth/servlet/StartAuthenticationServlet.java | 10 +- .../servlet/VerifyAuthenticationBlockServlet.java | 26 +- .../id/auth/servlet/VerifyIdentityLinkServlet.java | 25 +- .../CreateXMLSignatureResponseValidator.java | 2 +- .../moa/id/auth/validator/InfoboxValidator.java | 52 +- .../auth/validator/parep/ParepInputProcessor.java | 68 ++ .../validator/parep/ParepInputProcessorImpl.java | 298 +++++++++ .../moa/id/auth/validator/parep/ParepUtils.java | 708 ++++++++++++++++++++ .../id/auth/validator/parep/ParepValidator.java | 576 ++++++++++++++++ .../auth/validator/parep/PartyRepresentative.java | 159 +++++ .../parep/client/szrgw/CreateMandateRequest.java | 235 +++++++ .../parep/client/szrgw/CreateMandateResponse.java | 130 ++++ .../parep/client/szrgw/SOAPConstants.java | 23 + .../validator/parep/client/szrgw/SZRGWClient.java | 144 ++++ .../parep/client/szrgw/SZRGWClientException.java | 37 + .../parep/client/szrgw/SZRGWConstants.java | 51 ++ .../client/szrgw/SZRGWSecureSocketFactory.java | 94 +++ .../validator/parep/config/ParepConfiguration.java | 411 ++++++++++++ .../moa/id/config/ConfigurationBuilder.java | 8 +- .../moa/id/config/auth/OAAuthParameter.java | 24 + .../gv/egovernment/moa/id/util/ServletUtils.java | 63 ++ .../resources/properties/id_messages_de.properties | 7 + .../resources/templates/ParepMinTemplate.html | 134 ++++ .../resources/templates/ParepTemplate.html | 171 +++++ id/server/pom.xml | 4 +- id/server/proxy/.classpath | 4 + id/server/proxy/.project | 14 + .../proxy/.settings/org.eclipse.jdt.core.prefs | 5 + id/server/proxy/pom.xml | 4 +- id/templates/.classpath | 4 + id/templates/.project | 14 + id/templates/.settings/org.eclipse.jdt.core.prefs | 5 + id/templates/pom.xml | 4 +- .../webapp/SampleInputProcessorSignTemplate.html | 45 ++ id/templates/src/main/webapp/SampleTemplate.html | 39 +- pom.xml | 15 +- .../mandate-validate/1.0/mandate-validate-1.0.jar | Bin 0 -> 24256 bytes .../1.0/mandate-validate-1.0.jar.md5 | 1 + .../1.0/mandate-validate-1.0.jar.sha1 | 1 + .../mandate-validate/1.0/mandate-validate-1.0.pom | 7 + .../1.0/mandate-validate-1.0.pom.md5 | 1 + .../1.0/mandate-validate-1.0.pom.sha1 | 1 + spss/handbook/.settings/org.eclipse.jdt.core.prefs | 5 + spss/handbook/clients/api/.classpath | 6 + spss/handbook/clients/api/.project | 23 + spss/handbook/clients/referencedData/.classpath | 6 + spss/handbook/clients/referencedData/.project | 23 + spss/handbook/clients/webservice/.classpath | 7 + spss/handbook/clients/webservice/.project | 23 + .../.settings/org.eclipse.jdt.core.prefs | 5 + .../CreateXMLSignatureRequest.Simple.response.xml | 24 + ...ateXMLSignatureRequest.Supplements.response.xml | 2 + .../08CAE18D8CFF86144CB8FFD671B916CAAB8BD4E9 | Bin 0 -> 991 bytes .../BE9D654B0DE0F3CC53CA36703DD9D9049A5F9330 | Bin 0 -> 995 bytes .../069519EC949AC6B91D4C33A3F3665441F0220D20 | Bin 0 -> 1313 bytes .../2F5EBA5055E9F7444852ADCEEB769E5DE157A03D | Bin 0 -> 1352 bytes .../A149EE01A250491C07D5A279D3B58A646288DA22 | Bin 0 -> 1185 bytes .../AD8ECBB67B9DC59406F92A296A38192297A4F169 | Bin 0 -> 1191 bytes .../7AC3EFA52DE27A930EC8754DB5E061476948E914 | Bin 0 -> 1028 bytes ...EST-nQual-01a.20041117-20080630.SerNo00da8b.cer | Bin 0 -> 995 bytes ...TEST-Qual-01a.20041117-20141117.SerNo00da88.cer | Bin 0 -> 991 bytes spss/pom.xml | 2 +- spss/server/history.txt | 2 +- spss/server/serverlib/.classpath | 9 + spss/server/serverlib/.project | 36 + .../serverlib/.settings/org.eclipse.jdt.core.prefs | 7 + .../.settings/org.eclipse.wst.common.component | 8 + .../org.eclipse.wst.common.project.facet.core.xml | 7 + spss/server/serverlib/pom.xml | 2 +- .../serverlib/src/main/java/META-INF/MANIFEST.MF | 3 + spss/server/serverws/.classpath | 8 + spss/server/serverws/.project | 36 + .../serverws/.settings/org.eclipse.jdt.core.prefs | 7 + .../.settings/org.eclipse.wst.common.component | 8 + .../org.eclipse.wst.common.project.facet.core.xml | 5 + .../serverws/WebContent/META-INF/MANIFEST.MF | 3 + spss/server/serverws/WebContent/WEB-INF/web.xml | 13 + spss/server/serverws/pom.xml | 2 +- spss/server/tools/.classpath | 8 + spss/server/tools/.project | 23 + .../tools/.settings/org.eclipse.jdt.core.prefs | 5 + 161 files changed, 10917 insertions(+), 2243 deletions(-) create mode 100644 common/.classpath create mode 100644 common/.project create mode 100644 common/.settings/org.eclipse.jdt.core.prefs create mode 100644 common/src/main/resources/resources/schemas/MOA-ID-Configuration-1.4.2.xsd create mode 100644 id/oa/.classpath create mode 100644 id/oa/.project create mode 100644 id/server/auth/.classpath create mode 100644 id/server/auth/.project create mode 100644 id/server/auth/.settings/org.eclipse.jdt.core.prefs create mode 100644 id/server/auth/.settings/org.eclipse.wst.common.component create mode 100644 id/server/auth/.settings/org.eclipse.wst.common.project.facet.core.xml delete mode 100644 id/server/auth/src/main/resources/resources/wsdl/MOA-ID-1.0.wsdl delete mode 100644 id/server/auth/src/main/resources/resources/wsdl/MOA-ID-1.x.wsdl delete mode 100644 id/server/auth/src/main/resources/resources/wsdl/MOA-SPSS-1.2.xsd create mode 100644 id/server/auth/src/main/webapp/META-INF/MANIFEST.MF create mode 100644 id/server/auth/src/main/webapp/css/mandates.css create mode 100644 id/server/auth/src/main/webapp/css/styles.css create mode 100644 id/server/auth/src/main/webapp/css/styles_opera.css create mode 100644 id/server/auth/src/main/webapp/img/egov_schrift.gif create mode 100644 id/server/auth/src/main/webapp/img/info.gif create mode 100644 id/server/auth/src/main/webapp/img/rufezeichen.gif create mode 100644 id/server/auth/src/main/webapp/img/stern.gif create mode 100644 id/server/auth/src/main/webapp/javascript/fa.js create mode 100644 id/server/auth/src/main/webapp/javascript/formallg.js create mode 100644 id/server/auth/src/main/wsdl/MOA-ID-1.0.wsdl create mode 100644 id/server/auth/src/main/wsdl/MOA-ID-1.x.wsdl create mode 100644 id/server/auth/src/main/wsdl/MOA-SPSS-1.2.xsd create mode 100644 id/server/component-idlibs.xml create mode 100644 id/server/data/deploy/conf/moa-id/sampleTemplates/ParepInputProcessorSignTemplate.html create mode 100644 id/server/data/deploy/conf/moa-id/sampleTemplates/SampleInputProcessorSignTemplate.html create mode 100644 id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Test-Sig-02.20041227-20141201.SerNo00b5ac.cer create mode 100644 id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-TEST-Qual-01a.20041117-20141117.SerNo00da88.cer create mode 100644 id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-TEST-nQual-01a.20041117-20080630.SerNo00da8b.cer delete mode 100644 id/server/data/deploy/tomcat/server.mod_jk.xml delete mode 100644 id/server/data/deploy/tomcat/server.xml create mode 100644 id/server/data/deploy/tomcat/tomcat-4.1.x/server.mod_jk.xml create mode 100644 id/server/data/deploy/tomcat/tomcat-4.1.x/server.xml create mode 100644 id/server/data/deploy/tomcat/tomcat-5.0.x/server.mod_jk.xml create mode 100644 id/server/data/deploy/tomcat/tomcat-5.0.x/server.xml create mode 100644 id/server/doc/MOA-ID-Configuration-1.4.2.xsd create mode 100644 id/server/doc/MOA-Testzertifikate.vsd create mode 100644 id/server/idserverlib/.classpath create mode 100644 id/server/idserverlib/.project create mode 100644 id/server/idserverlib/src/main/java/META-INF/MANIFEST.MF create mode 100644 id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/GetVerifyAuthBlockFormBuilder.java create mode 100644 id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/ProcessValidatorInputServlet.java create mode 100644 id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/ParepInputProcessor.java create mode 100644 id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/ParepInputProcessorImpl.java create mode 100644 id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/ParepUtils.java create mode 100644 id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/ParepValidator.java create mode 100644 id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/PartyRepresentative.java create mode 100644 id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/CreateMandateRequest.java create mode 100644 id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/CreateMandateResponse.java create mode 100644 id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SOAPConstants.java create mode 100644 id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWClient.java create mode 100644 id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWClientException.java create mode 100644 id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWConstants.java create mode 100644 id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWSecureSocketFactory.java create mode 100644 id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/config/ParepConfiguration.java create mode 100644 id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/ServletUtils.java create mode 100644 id/server/idserverlib/src/main/resources/resources/templates/ParepMinTemplate.html create mode 100644 id/server/idserverlib/src/main/resources/resources/templates/ParepTemplate.html create mode 100644 id/server/proxy/.classpath create mode 100644 id/server/proxy/.project create mode 100644 id/server/proxy/.settings/org.eclipse.jdt.core.prefs create mode 100644 id/templates/.classpath create mode 100644 id/templates/.project create mode 100644 id/templates/.settings/org.eclipse.jdt.core.prefs create mode 100644 id/templates/src/main/webapp/SampleInputProcessorSignTemplate.html create mode 100644 repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.jar create mode 100644 repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.jar.md5 create mode 100644 repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.jar.sha1 create mode 100644 repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.pom create mode 100644 repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.pom.md5 create mode 100644 repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.pom.sha1 create mode 100644 spss/handbook/.settings/org.eclipse.jdt.core.prefs create mode 100644 spss/handbook/clients/api/.classpath create mode 100644 spss/handbook/clients/api/.project create mode 100644 spss/handbook/clients/referencedData/.classpath create mode 100644 spss/handbook/clients/referencedData/.project create mode 100644 spss/handbook/clients/webservice/.classpath create mode 100644 spss/handbook/clients/webservice/.project create mode 100644 spss/handbook/clients/webservice/.settings/org.eclipse.jdt.core.prefs create mode 100644 spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.response.xml create mode 100644 spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.response.xml create mode 100644 spss/handbook/conf/moa-spss/certstore/0A5C2C9276B649D088A86BD9FD97E2B95658481D/08CAE18D8CFF86144CB8FFD671B916CAAB8BD4E9 create mode 100644 spss/handbook/conf/moa-spss/certstore/10D143E18C03A4A29F783D26F2F67E3B64C35CB0/BE9D654B0DE0F3CC53CA36703DD9D9049A5F9330 create mode 100644 spss/handbook/conf/moa-spss/certstore/5E043AA9A832C33C7065B7633F4C007E0394BA19/069519EC949AC6B91D4C33A3F3665441F0220D20 create mode 100644 spss/handbook/conf/moa-spss/certstore/5E043AA9A832C33C7065B7633F4C007E0394BA19/2F5EBA5055E9F7444852ADCEEB769E5DE157A03D create mode 100644 spss/handbook/conf/moa-spss/certstore/92E5C38466AECA677325C25C3C3011C97D24CCF6/A149EE01A250491C07D5A279D3B58A646288DA22 create mode 100644 spss/handbook/conf/moa-spss/certstore/92E5C38466AECA677325C25C3C3011C97D24CCF6/AD8ECBB67B9DC59406F92A296A38192297A4F169 create mode 100644 spss/handbook/conf/moa-spss/certstore/AF03510E8BCAE72BB7C4E9D1910B4E12057075A4/7AC3EFA52DE27A930EC8754DB5E061476948E914 create mode 100644 spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/a-sign-TEST-nQual-01a.20041117-20080630.SerNo00da8b.cer create mode 100644 spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-TEST-Qual-01a.20041117-20141117.SerNo00da88.cer create mode 100644 spss/server/serverlib/.classpath create mode 100644 spss/server/serverlib/.project create mode 100644 spss/server/serverlib/.settings/org.eclipse.jdt.core.prefs create mode 100644 spss/server/serverlib/.settings/org.eclipse.wst.common.component create mode 100644 spss/server/serverlib/.settings/org.eclipse.wst.common.project.facet.core.xml create mode 100644 spss/server/serverlib/src/main/java/META-INF/MANIFEST.MF create mode 100644 spss/server/serverws/.classpath create mode 100644 spss/server/serverws/.project create mode 100644 spss/server/serverws/.settings/org.eclipse.jdt.core.prefs create mode 100644 spss/server/serverws/.settings/org.eclipse.wst.common.component create mode 100644 spss/server/serverws/.settings/org.eclipse.wst.common.project.facet.core.xml create mode 100644 spss/server/serverws/WebContent/META-INF/MANIFEST.MF create mode 100644 spss/server/serverws/WebContent/WEB-INF/web.xml create mode 100644 spss/server/tools/.classpath create mode 100644 spss/server/tools/.project create mode 100644 spss/server/tools/.settings/org.eclipse.jdt.core.prefs (limited to 'id/oa') diff --git a/common/.classpath b/common/.classpath new file mode 100644 index 000000000..01edb156d --- /dev/null +++ b/common/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/common/.project b/common/.project new file mode 100644 index 000000000..d8e7fc611 --- /dev/null +++ b/common/.project @@ -0,0 +1,23 @@ + + + moa-common + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.maven.ide.eclipse.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.maven.ide.eclipse.maven2Nature + + diff --git a/common/.settings/org.eclipse.jdt.core.prefs b/common/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..99f54a8bf --- /dev/null +++ b/common/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,5 @@ +#Wed Sep 12 10:16:21 CEST 2007 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.source=1.4 diff --git a/common/pom.xml b/common/pom.xml index e8110385a..850613e97 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -2,12 +2,12 @@ MOA MOA - 1.4.2beta1 + 1.4.2beta2 4.0.0 MOA moa-common - 1.4.2beta1 + 1.4.2beta2 jar MOA common library diff --git a/common/src/main/java/at/gv/egovernment/moa/util/Constants.java b/common/src/main/java/at/gv/egovernment/moa/util/Constants.java index 5c1314296..d1edbc38d 100644 --- a/common/src/main/java/at/gv/egovernment/moa/util/Constants.java +++ b/common/src/main/java/at/gv/egovernment/moa/util/Constants.java @@ -23,13 +23,16 @@ public interface Constants { public static final String STB_NS_URI = "http://reference.e-government.gv.at/namespace/standardtextblock/20041105#"; - /** Prefix used for the Mandate XML namespace */ + /** Prefix used for the standard text block XML namespace */ public static final String STB_PREFIX = "stb"; /** URI of the MOA XML namespace. */ public static final String MOA_NS_URI = "http://reference.e-government.gv.at/namespace/moa/20020822#"; + /** Name of the mandates infobox */ + public static final String INFOBOXIDENTIFIER_MANDATES = "Mandates"; + /** Prefix used for the Mandate XML namespace */ public static final String MD_PREFIX = "md"; @@ -78,7 +81,7 @@ public interface Constants { /** Local location of the MOA ID configuration XML schema definition. */ public static final String MOA_ID_CONFIG_SCHEMA_LOCATION = - SCHEMA_ROOT + "MOA-ID-Configuration-1.4.xsd"; + SCHEMA_ROOT + "MOA-ID-Configuration-1.4.2.xsd"; /** URI of the Security Layer 1.0 namespace. */ public static final String SL10_NS_URI = diff --git a/common/src/main/java/at/gv/egovernment/moa/util/StringUtils.java b/common/src/main/java/at/gv/egovernment/moa/util/StringUtils.java index 61b1a18ea..82c10d90f 100644 --- a/common/src/main/java/at/gv/egovernment/moa/util/StringUtils.java +++ b/common/src/main/java/at/gv/egovernment/moa/util/StringUtils.java @@ -87,11 +87,11 @@ public class StringUtils { * Replaces each substring of string s that matches the given * search string by the given replace string. * - * @param s The string where the replacment should take place. + * @param s The string where the replacement should take place. * @param search The pattern that should be replaced. * @param replace The string that should replace all each search * string within s. - * @return A string whrer all occurrence of search are + * @return A string where all occurrence of search are * replaced with replace. */ public static String replaceAll (String s, String search, String replace) @@ -153,7 +153,7 @@ public class StringUtils { * @return XML expression, XML declaration removed */ public static String removeXMLDeclaration(String xmlString) { - if (xmlString.startsWith(" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + enthält Parameter der + Authentisierungs-Komponente + + + + + enthält Konfigurationsparameter der + Proxy-Komponente + + + + + + enthält Parameter für die Kommunikation zw. + Proxykomponente und Authenttisierungskomponente + + + + + + enthält Parameter für die SOAP-Verbindung von der + Proxy-Komponente zur Auth-Komponente (vgl. + AuthComponent/MOA-SP/ConnectionParameter) + + + + + + + + + + + enthält Parameter für die OA + + + + + + + + + + + + + + + + + + + + + + spezifiziert den Algorithmus ("pkix" oder "chaining") für die + Zertifikatspfadvalidierung + + + + + + ein vom SystemDefaultMode abweichender ChiningMode kann + für jeden TrustAnchor gesetzt werden + + + + + + + + + + + + + + + + verweist auf ein Verzeichnis, das vertrauenswürdige CA + (Zwischen-CA, Wurzel-CA) Zertifikate enthält. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + enthält Parameter für die Kommunikation mit dem + Security-Layer + + + + + + + + + + enthält Konfiguratiosnparameter für die Kommunikation mit dem MOA + SP Modul + + + + + + enthält Parameter für die SOAP-Verbindung von der + AUTH-Komponente zu MOA-SP; das Attribut URL enthält den Endpunkt des Server; + wird das Schema "https" verwendet müssen die Kind-Elemente angegeben werden; + wird das Schema "http" verwendet dürfen keine Kind-Elemente angegeben + werden; wird das Element nicht verwendet dann wird MOA-SP über das API + aufgerufen + + + + + enthält Parameter für die Überprüfung der + Personenbindung + + + + + + + + + + enthält Parameter für die Überprüfung des + AUTH-Blocks + + + + + + + + + + + + + + enthält Informationen über akzeptierte Signers des + IdentityLinks + + + + + + akzeptierte Signer des IdentityLinks werden per + X509SubjectName (Kodierung nach RFC 2253) identifiziert + + + + + + + + enthält Defaultparameter für die Überprüfung weiterer Infoboxen + + + + + + + das Attribut filename verweist auf eine Datei mit globalem + Element TransformsInfo vom Typ sl10:TransformsInfo; diese TransformsInfo + werden in den CreateXMLSignatureRequest für die Signatur des AUTH-Blocks + inkludiert + + + + + + + + + + + + + das Attribut URL spezifiziert die Lage des Templates + + + + + + Verifikation zusätzlicher Infoboxen + + + + + Optionales DefaultTrustprofil für die Überprüfung aller weiteren Infoboxen + + + + + + + + + + Parameter für Überprüfung weiterer Infoboxen + + + + + + optionalervName, der für Fehlermeldungen verwendet werden soll; + z.B.: "Stellvertretungen" für "Mandates"; fehlt dieser Parameter, dann wird + das Identifier-Attribut verwendet + + + + + TrustProfil, das für die Überprüfung der Infobox + verwendet werden soll + + + + + Validatorklasse, die für die Prüfung der Infobox + verwendet werden soll; muss gesetzt werden, wenn Package- und Klassenname + vom Default Package- und Klassennamen abweichen + + + + + + Infobox spezifische Parameter, die der jeweiligen Prüfapplikation + übergeben werden + + + + + + + + + + + + + + + + + + + Spezifiziert die Lage von XML Schemas + + + + + + + + + + + + + + + + enthält Parameter über die OA, die die + Authentisierungs-Komponente betreffen + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + enthält Parameter über die OA, die die Proxy-Komponente + betreffen + + + + + + enthält Parameter über die OA, die die Proxy-Komponente + betreffen + + + + + + + + + + + + + + + + + + URL zu einem Verzeichnis, das akzeptierte Server-Zertifikate der + TLS-Verbindung enthält (keine CA-Zertifikate) + + + + + + + + + + + + URL zu einem KeyStore, der den privaten Schlüssel, der für + die TLS-Client-Authentisierung verwendetwird, enthält + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/id/oa/.classpath b/id/oa/.classpath new file mode 100644 index 000000000..5d93de69c --- /dev/null +++ b/id/oa/.classpath @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/id/oa/.project b/id/oa/.project new file mode 100644 index 000000000..cf4d83eff --- /dev/null +++ b/id/oa/.project @@ -0,0 +1,14 @@ + + moa-id-oa + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.jdt.core.javanature + + diff --git a/id/pom.xml b/id/pom.xml index ab3b59e7d..1d93d087c 100644 --- a/id/pom.xml +++ b/id/pom.xml @@ -3,14 +3,14 @@ MOA MOA - 1.4.2beta1 + 1.4.2beta2 4.0.0 MOA id pom - 1.4.2beta1 + 1.4.2beta2 MOA ID diff --git a/id/server/auth/.classpath b/id/server/auth/.classpath new file mode 100644 index 000000000..46c5c5ab0 --- /dev/null +++ b/id/server/auth/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/id/server/auth/.project b/id/server/auth/.project new file mode 100644 index 000000000..a8a455ff2 --- /dev/null +++ b/id/server/auth/.project @@ -0,0 +1,44 @@ + + + moa-id-auth + + + moa-id-lib + moa-spss-lib + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.wst.validation.validationbuilder + + + + + org.maven.ide.eclipse.maven2Builder + + + + + kr.javanese.devtools.m2wtp.wtpDepBuilder + + + + + + org.eclipse.jdt.core.javanature + org.maven.ide.eclipse.maven2Nature + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.eclipse.jem.workbench.JavaEMFNature + kr.javanese.devtools.m2wtp.m2wtpNature + + diff --git a/id/server/auth/.settings/org.eclipse.jdt.core.prefs b/id/server/auth/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..1b042e027 --- /dev/null +++ b/id/server/auth/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +#Fri Sep 14 14:27:19 CEST 2007 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.source=1.4 diff --git a/id/server/auth/.settings/org.eclipse.wst.common.component b/id/server/auth/.settings/org.eclipse.wst.common.component new file mode 100644 index 000000000..f256fdc92 --- /dev/null +++ b/id/server/auth/.settings/org.eclipse.wst.common.component @@ -0,0 +1,16 @@ + + + + + + +uses + + +uses + + + + + + diff --git a/id/server/auth/.settings/org.eclipse.wst.common.project.facet.core.xml b/id/server/auth/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 000000000..d0145894a --- /dev/null +++ b/id/server/auth/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/id/server/auth/pom.xml b/id/server/auth/pom.xml index 9870c7ef6..2c123a8ec 100644 --- a/id/server/auth/pom.xml +++ b/id/server/auth/pom.xml @@ -2,14 +2,14 @@ MOA.id moa-id - 1.4.2beta1 + 1.4.2beta2 4.0.0 MOA.id.server moa-id-auth war - 1.4.2beta1 + 1.4.2beta2 MOA ID-Auth WebService @@ -35,14 +35,18 @@ - + diff --git a/id/server/auth/src/main/resources/resources/wsdl/MOA-ID-1.0.wsdl b/id/server/auth/src/main/resources/resources/wsdl/MOA-ID-1.0.wsdl deleted file mode 100644 index 5751b3e58..000000000 --- a/id/server/auth/src/main/resources/resources/wsdl/MOA-ID-1.0.wsdl +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/id/server/auth/src/main/resources/resources/wsdl/MOA-ID-1.x.wsdl b/id/server/auth/src/main/resources/resources/wsdl/MOA-ID-1.x.wsdl deleted file mode 100644 index 45152cb38..000000000 --- a/id/server/auth/src/main/resources/resources/wsdl/MOA-ID-1.x.wsdl +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/id/server/auth/src/main/resources/resources/wsdl/MOA-SPSS-1.2.xsd b/id/server/auth/src/main/resources/resources/wsdl/MOA-SPSS-1.2.xsd deleted file mode 100644 index d7a06d6e7..000000000 --- a/id/server/auth/src/main/resources/resources/wsdl/MOA-SPSS-1.2.xsd +++ /dev/null @@ -1,454 +0,0 @@ - - - - - - - - - - - - - - - - - - - - Ermöglichung der Stapelsignatur durch wiederholte Angabe dieses Elements - - - - - - - - - - - - - - - - - - - Auswahl: Entweder explizite Angabe des Signaturorts sowie ggf. sinnvoller Supplements im Zshg. mit der Signaturumgebung, oder Verweis auf ein benanntes Profil - - - - - - - - - - - - - - - - - - Kardinalität 1..oo erlaubt die Antwort auf eine Stapelsignatur-Anfrage - - - - Resultat, falls die Signaturerstellung erfolgreich war - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert - - - - - - - - - - - only ds:X509Data and RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any;publicAuthority is included as X509Data/any - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pro dsig:Reference-Element in der zu überprüfenden XML-Signatur muss hier ein ReferenceInfo-Element erscheinen. Die Reihenfolge der einzelnen ReferenceInfo Elemente entspricht jener der dsig:Reference Elemente in der XML-Signatur. - - - - - - - - - - mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert - - - - - - - - - - - only ds:X509Data and ds:RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any; PublicAuthority is included as X509Data/any - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Auswahl: Entweder explizite Angabe EINER Transformationskette inklusive ggf. sinnvoller Supplements oder Verweis auf ein benanntes Profil - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Resultat, falls die Signaturerstellung gescheitert ist - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ein oder mehrere Transformationswege können von der Applikation an MOA mitgeteilt werden. Die zu prüfende Signatur hat zumindest einem dieser Transformationswege zu entsprechen. Die Angabe kann explizit oder als Profilbezeichner erfolgen. - - - - - Profilbezeichner für einen Transformationsweg - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Die Angabe des Transformationsparameters (explizit oder als Hashwert) kann unterlassen werden, wenn die Applikation von der Unveränderlichkeit des Inhalts der in "Transformationsparamter", Attribut "URI" angegebenen URI ausgehen kann. - - - - Der Transformationsparameter explizit angegeben. - - - - - Der Hashwert des Transformationsparameters. - - - - - - - - - - - - - - - - - - - - - - Explizite Angabe des Transformationswegs - - - - - - - Alle impliziten Transformationsparameter, die zum Durchlaufen der oben angeführten Transformationskette bekannt sein müssen, müssen hier angeführt werden. Das Attribut "URI" bezeichnet den Transformationsparameter in exakt jener Weise, wie er in der zu überprüfenden Signatur gebraucht wird. - - - - - - - - - - - - - - - - diff --git a/id/server/auth/src/main/webapp/META-INF/MANIFEST.MF b/id/server/auth/src/main/webapp/META-INF/MANIFEST.MF new file mode 100644 index 000000000..58630c02e --- /dev/null +++ b/id/server/auth/src/main/webapp/META-INF/MANIFEST.MF @@ -0,0 +1,2 @@ +Manifest-Version: 1.0 + diff --git a/id/server/auth/src/main/webapp/WEB-INF/web.xml b/id/server/auth/src/main/webapp/WEB-INF/web.xml index 603758fb8..5c729ef19 100644 --- a/id/server/auth/src/main/webapp/WEB-INF/web.xml +++ b/id/server/auth/src/main/webapp/WEB-INF/web.xml @@ -22,6 +22,12 @@ Verify identity link coming from security layer at.gv.egovernment.moa.id.auth.servlet.VerifyIdentityLinkServlet + + ProcessInput + ProcessInput + Process user input needed by infobox validators + at.gv.egovernment.moa.id.auth.servlet.ProcessValidatorInputServlet + VerifyAuthBlock VerifyAuthBlock @@ -37,9 +43,7 @@ AxisServlet Apache-Axis Servlet - - org.apache.axis.transport.http.AxisServlet - + org.apache.axis.transport.http.AxisServlet @@ -73,9 +77,13 @@ /VerifyIdentityLink - VerifyAuthBlock - /VerifyAuthBlock + ProcessInput + /ProcessInput + + VerifyAuthBlock + /VerifyAuthBlock + ConfigurationUpdate /ConfigurationUpdate diff --git a/id/server/auth/src/main/webapp/css/mandates.css b/id/server/auth/src/main/webapp/css/mandates.css new file mode 100644 index 000000000..7b6e550f0 --- /dev/null +++ b/id/server/auth/src/main/webapp/css/mandates.css @@ -0,0 +1,57 @@ +/* CSS Document */ + +.hleft { + float: left; + width: 50%; +} + +.hright { + float: left; + width: 49%; +} + +.htitle { + padding-top: 15px; + clear: both; +} + +.leiste1 { + background-color: #FF0000; + color: #FFFFFF; + font-weight: bold; + width: 15%; + float: left; + clear: left; + height: 20px; + padding-top: 5px; + padding-bottom: 5px; + FONT-SIZE: 0.9em; +} + +.leiste2 { + background-color: #CCCCCC; + color: #000000; + float: left; + height: 20px; + width: 33%; + padding-top: 5px; + padding-bottom: 5px; +} + +a.info { + color: #000000; + text-decoration: underline; +} + + +.leiste3 { + background-color: #CCCCCC; + color: #000000; + height: 20px; + float: left; + width: 17%; + padding-top: 5px; + padding-bottom: 5px; + FONT-SIZE: 0.8em; + +} diff --git a/id/server/auth/src/main/webapp/css/styles.css b/id/server/auth/src/main/webapp/css/styles.css new file mode 100644 index 000000000..d91b993d1 --- /dev/null +++ b/id/server/auth/src/main/webapp/css/styles.css @@ -0,0 +1,741 @@ +/* +|| Groesse der Seite auf A4 setzen +|| Rand auf jeweils 10% der Seite setzen +*/ + +@page { + size: 21cm 29.7cm; + margin: 10%; +} + +/* +|| Font und Farben, die fuer das gesamte Dokument gueltig sind. +*/ + +body { + font-family: arial, helvetica, sans-serif; + background-color: white; + color: black; +} + +/* +|| Eingabefelder verwenden eine Monospace-Font (s. Laenderstyleguide 5.1) +*/ + +input, textarea, select { + font-family: monospace; +} + +/* +|| Schriftgroesse fuer Formulartitel +*/ + +h1 { + font-size: 1.3em; +} + +/* +|| Definitionen fuer die Kategorien (faerbiger Balken) +*/ + +h2 { + width: 98%; + background-color: #A02D2D; + color: white; + font-weight: bold; + font-size: 1em; + padding: 0.3em; + border-width: thin; + margin-bottom: 1em; +} + +/* +|| Subkategorie (zB Adresse innerhalb von Stammgewerbeberechtigung) +*/ + +h3 { + padding: 5px; + margin-bottom: 1px; + font-size: 0.8em; +} + +/* +|| Informationstext zu einer Kategorie +*/ + +h4 { + margin-bottom: 0.5em; + font-size: 0.8em; +} + +fieldset { + border: none; +} + +} + +legend { + display: none; +} + + +/* +|| Informationstext im Info-Kaestchen +*/ + +.infotext { + padding: 0.8em; + float: left; + background-color: #EEEEEE; + color: black; + font-size: 0.8em; +} + +/* +|| Info-Link im Info-Kaestchen +*/ + +.infobutton { + float: left; + width: 2em; + background-color: red; + text-align: center; + font-size: 1.5em; + color: white; + font-weight: bold; + padding: 0.4em; + border-width: 0.25em; + border-style: outset; + border-style: -moz-bg-outset; +} + +/* +|| Info-Link soll weiss sein +*/ + +.infobutton a:link { + background-color: red; + color: white; + text-decoration: none; + +} + +/* +|| Info-Link soll weiss sein, auch wenn Link schon einmal angeklickt wurde +*/ + +.infobutton a:visited { + background-color: red; + color: white; +} + +/* +|| Info-Link-Text soll weiss sein, auch wenn man mit der Maus drueberfaehrt +*/ + +.infobutton a:hover { + background-color: red; + color: white; +} + +/* +|| Begrenzung fuer das Info-Kaestchen +*/ + +.boundinginfobox { + width: 99%; + background-color: #EEEEEE; + color: black; + border-width: thin; +} + +/* +|| Begrenzung fuer Eingabefeldbereiche +*/ + +.boundingbox { + width: 99%; + background-color: #EEEEEE; + color: black; + border-width: thin; + margin-bottom: 1em; +} + +/* +|| Begrenzung, die Leittexte und Formulardaten im statischen Formular +|| zusammenhaelt, sodass es bei einem Seitenumbruch beim Ausdruck +|| nicht zu Verschiebungen kommt +*/ +.printboundingbox { + width: 99%; +} + +/* +|| Bereich fuer die Leittexte +*/ + +.labelarea { + text-align: right; + width: 17%; + float: left; + padding: 5px; + font-size: 0.8em; + vertical-align: middle; +} + +/* +|| Bereich fuer sehr lange Leittexte +*/ + +.labelareawidened { + text-align: right; + width: 50%; + float: left; + padding: 5px; + font-size: 0.8em; + vertical-align: middle; +} + +/* +|| Leittextbereich ohne Angabe einer Breite (z.B. bei Stiege und Tuer; sonst generell (.labelarea) 17% der Gesamtbreite) +*/ + +.labelareanowidth { + float: left; + padding: 5px; + font-size: 0.8em; + vertical-align: middle; +} + +/* +|| Legendenbereich (Icons) +*/ + +.legendarea { + width: 30px; + text-align: left; + float: left; + padding-left: 4px; + padding-top: 5px; + vertical-align: middle; +} + +/* +|| Legendenbereich fuer den Stern (in Kombination mit einem Rufzeichen) +*/ + +.legendareastar { + width: 13px; + float: left; + padding-left: 4px; + padding-top: 5px; + vertical-align: middle; +} + +/* +|| Legendenbereich fuer das Info-Icon +*/ + +.legendareainfo { + width: 17px; + float: left; + padding-top: 5px; + vertical-align: middle; +} + +/* +|| Bereich fuer ein einzelnes Eingabefeld +*/ + +.inputfieldarea { + float: left; + padding: 4px; +} + +/* +|| Bereich fuer das erste Eingabefeld, wenn zwei in einer Zeile +|| = Eingabefeldbereich, dessen Breite auf 26% begrenzt ist (.inputfieldarea hat keine Begrenzung) +*/ + +.inputfieldareafortwo { + width: 26%; + float: left; + padding: 4px; +} + + +/* +|| e-Goverment Schriftzug im Logo +*/ + +.egovlogo { + text-align: center; + background-color: white; + color: #008B8B; + font-weight: bold; + font-style: italic; + font-size: 1.7em; +} + +/* +|| help.gv.at-Schriftzug im Logo +*/ + +.egovtext { + text-align: center; + background-color: white; + color: black; + font-weight: bold; + font-size: 1.2em; +} + +/* +|| Bereich fuer den Titel des Formulars links vom Logo +*/ + +.titlebox { + float: left; + width: 65%; + margin-bottom: 1em; +} + +/* +|| Bereich fuer das Logo +*/ + +.logobox { + float: right; + margin-bottom: 1em; +} + +/* +|| Allgemeiner Informationstext zu einem Formular (zwischen Formulartitel +|| und Info-Kaestchen +*/ + +.introtext { + font-weight: bold; + margin-bottom: 1em; +} + +/* +|| Link "Zum Formularanfang" +*/ + +.formtop { + float: right; +} + +/* +|| Bereich fuer die Steuerungs-Buttons (Senden, Abbrechen, etc.) +*/ + +.buttonarea { + margin-top: 0.5em; + text-align: center; +} + +/* +|| Aussehen der Steuerungs-Buttons +*/ + +.button { + font-family: arial, helvetica, sans-serif; + font-size: 1em; +} + +/* +|| Formularkennung/Fusszeile des Formulars +*/ + +.formid { + float: left; + font-style: italic; + font-size: 0.8em; + background-color: #008B8B; + color: white; + padding: 0.5em; +} + +/* +|| Behoerdenanschrift +*/ + +.organizationaddress { + font-style: italic; + margin-top: 1em; + margin-bottom: 1em; +} + +/* +|| Behoerdenanschrift mit Logo +*/ + +.organizationaddresslogo { + font-style: italic; + margin-top: 1em; + margin-bottom: 1em; + float: left; +} + +/* +|| Beilagen-Tabelle +*/ + +.attachmenttable { + width: 99%; + background-color: #EEEEEE; + color: black; + border-width: thin; + border-collapse: collapse; + margin-bottom: 1em; +} + +/* +|| Spaltenueberschrift "lfd Nr" +*/ + +.attachmenttitlenumber { + border-bottom: thin solid black; + border-right: thin solid black; + padding: 0.3em; + font-size: 0.8em; +} + +/* +|| Spaltenueberschrift "Beilage" +*/ + +.attachmenttitlename { + border-bottom: thin solid black; + border-right: thin solid black; + padding: 0.5em; + text-align: left; + font-size: 0.8em; +} + + +/* +|| Spaltenueberschriften "nachgereicht" und "angefuegt" +*/ + +.attachmenttitleselection { + padding: 0.3em; + text-align: center; + border-left: thin solid black; + border-bottom: thin solid black; + font-size: 0.8em; +} + +/* +|| Spaltenueberschrift "Datei" +*/ + +.attachmenttitlefile { + padding: 0.3em; + text-align: left; + border-bottom: thin solid black; + font-size: 0.8em; +} + +/* +|| Zellen der Spalte "lfd Nr" +*/ + +.attachmentnumber { + text-align: center; + border-left: thin solid #EEEEEE; + border-right: thin solid black; + padding: 0.3em; + font-size: 0.8em; +} + +/* +|| Zellen der Spalte "Beilage" +*/ + +.attachmentname { + text-align: left; + border-left: thin solid black; + border-right: thin solid black; + padding: 0.5em; + font-size: 0.8em; +} + +/* +|| Zellen der Spalte "Datei" +*/ + +.attachmentfile { + text-align: left; + border-right: thin solid #EEEEEE; + padding: 0.3em; +} + +/* +|| Zellen der Spalte "angefuegt" +*/ + +.attachmentselectiononline { + text-align: center; + padding: 0.3em; + border-left: solid black thin; +} + +/* +|| Zellen der Spalte "nachgereicht" +*/ + +.attachmentselectionpost { + text-align: center; + border-left: solid black thin; + padding: 0.3em; +} + +/* +|| unsichtbarer Bereich +*/ + +.hide { + visibility: hidden; + display: none; +} + +/* +|| sichtbarer Bereich +*/ + +.show { + visibility: visible; + display: block; +} + +/* +|| readonly-Felder +*/ + +.deactive { + background-color: #D3D3D3; + color: gray; +} + +/* +|| Fehlertexte (bei fehlerhaften Eingaben) +*/ + +.errortext { + color: red; + background-color: white; + font-size: 1em; + border: solid red 2px; + padding: 0.5em; + width: 97%; +} + +.errortext a:visited , .errortext a:link, .errortext a:hover { + color: red; +} + +/* +|| simuliertes Readonly-Eingabefeld, das in Wirklichkeit +|| Text mit einem Rahmen ist +*/ + +.readonlybutton { + width: 20em; + background-color: #D3D3D3; + color: gray; + border-color: gray; + border-width: thin; + border-style: inset; + font-family: monospace; +} + +/* +|| Vertikale Ausrichtung des Info-Icons im Beilagenbereich +*/ + +.imagevertalign { + vertical-align: middle; +} + +/* +|| Unterbindet Rahmen bei Bildern mit hinterlegtem Link +*/ + +a img { + border: none; +} + +/* +|| MOA-Ergebnis-Tabelle +*/ + +.MOA-SP-ergebnis-tabelle { + width: 100%; + border: thin solid black; + border-collapse: collapse; + margin-bottom: 1em; +} + +/* +|| MOA-Ergebnis-Tabellenemelemente +*/ + +.MOA-SP-ergebnis-zelle, .MOA-SP-ergebnis-header { + border: thin solid black; + text-align: left; + padding: 0.3em; + background-color: #EEEEEE; +} + +/* +|| MOA-Ergebnis-Tabelle Fehlermeldungen +*/ + +.moa-sp-error { + color: red; + font-weight: bold; +} + +/* +|| Signaturblock-Tabelle +*/ + +.sigblock-tabelle { + width: 100%; + border: thin solid black; + border-collapse: collapse; + margin-bottom: 1em; +} + +/* +|| Signaturblock-Tabellenelemente +*/ + +.sigblock-zelle, .sigblock-header { + border: thin solid black; + text-align: left; + padding: 0.3em; + background-color: #EEEEEE; +} + +/* +|| Formular mit mehreren Seiten, Angabe der aktuellen Seite +*/ + +.steps { + text-align: right; + font-weight: bold; + padding: 0.3em; + margin-right: 0.3em; + font-style: italic; +} + +/* +|| Bereich fuer Formularliste +*/ + +.labelareaform { + text-align: left; + width: 50%; + float: left; + padding: 5px; + font-size: 0.8em; + font-weight: bold; + vertical-align: middle; +} + +/* +|| Bereich fuer Bestellung und Details bei Formularbestellungen +*/ + +.labelareaorderdetail { + text-align: center; + width: 17%; + float: left; + padding: 5px; + font-size: 0.8em; + vertical-align: middle; + font-weight: bold; +} + +/* +|| Farbe der Verfahrens-Tabellenzeilen mit geradem Index +*/ + +.evenformrow { + background-color: #EEEEEE; +} + +/* +|| Farbe der Verfahrens-Tabellenzeilen mit ungeradem Index +*/ + +.oddformrow { + background-color: lightgrey; +} + +/* +|| Sicherheitsabfrage in der Verfahrensverwaltung +*/ + +.checktext { + color: red; + padding: 0.5em; + border: solid 2px red; + margin: 1em; +} + +/* +|| Buttons der Eingangsstelle +*/ + +.eingang_button { + line-height: 2em; + border-width: 2px; + border-color: grey; + padding: 4px; + background-color: lightgrey; + border-style: outset; + border-style: -moz-bg-outset; +} + +/* +|| Buttonlinks der Eingangsstelle +*/ + +.eingang_button_link { + color: black; + text-decoration: none; +} + +/* +|| Für den Farbenwechsel bei den Beilagen-Tabellen +*/ + +table.attachmenttable tr.s +{ + background-color: lightgrey; +} + +/* +|| Farbe der Titelzeile bei den Beilagen-Tabellen +*/ + +table.attachmenttable thead +{ + background-color: #aaaaaa; +} + +/* +|| Aktuell fokussiertes Eingabefeld visuell hervorheben (Styleguide Anforderung) +*/ + +input:focus, input.field:focus, select:focus, textarea:focus { + border: 2px solid black; +} + +select:focus { + background-color: #FFFFFE; +} \ No newline at end of file diff --git a/id/server/auth/src/main/webapp/css/styles_opera.css b/id/server/auth/src/main/webapp/css/styles_opera.css new file mode 100644 index 000000000..a2ea527bf --- /dev/null +++ b/id/server/auth/src/main/webapp/css/styles_opera.css @@ -0,0 +1,11 @@ +/* +|| In Opera funktioniert das Aus- und Einblenden von HTML-Bloecken +|| mittels JavaScript-Zugriff auf DOM-Objekte nicht, daher muss +|| die Definition der Klasse .hide in diesem Browser durch eine +|| "sichtbare" Definition ueberlagert werden +*/ + +.hide { + visibility: visible; + display: block; +} \ No newline at end of file diff --git a/id/server/auth/src/main/webapp/img/egov_schrift.gif b/id/server/auth/src/main/webapp/img/egov_schrift.gif new file mode 100644 index 000000000..aea64ef5e Binary files /dev/null and b/id/server/auth/src/main/webapp/img/egov_schrift.gif differ diff --git a/id/server/auth/src/main/webapp/img/info.gif b/id/server/auth/src/main/webapp/img/info.gif new file mode 100644 index 000000000..f9e1bb00f Binary files /dev/null and b/id/server/auth/src/main/webapp/img/info.gif differ diff --git a/id/server/auth/src/main/webapp/img/rufezeichen.gif b/id/server/auth/src/main/webapp/img/rufezeichen.gif new file mode 100644 index 000000000..fbad8d758 Binary files /dev/null and b/id/server/auth/src/main/webapp/img/rufezeichen.gif differ diff --git a/id/server/auth/src/main/webapp/img/stern.gif b/id/server/auth/src/main/webapp/img/stern.gif new file mode 100644 index 000000000..77c53d1c3 Binary files /dev/null and b/id/server/auth/src/main/webapp/img/stern.gif differ diff --git a/id/server/auth/src/main/webapp/javascript/fa.js b/id/server/auth/src/main/webapp/javascript/fa.js new file mode 100644 index 000000000..ffa4031b1 --- /dev/null +++ b/id/server/auth/src/main/webapp/javascript/fa.js @@ -0,0 +1,8 @@ +function deactivateApplicant( ) { + if ( document.formular.familienname.value != '' ) + toggleActive( document.formular.familienname, 'deactive' ); + if ( document.formular.vorname.value != '' ) + toggleActive( document.formular.vorname, 'deactive' ); + if ( document.formular.geburtsdatum.value != '' && document.formular.geburtsdatum.value != 'JJJJ-MM-TT' ) + toggleActive( document.formular.geburtsdatum, 'deactive' ); +} diff --git a/id/server/auth/src/main/webapp/javascript/formallg.js b/id/server/auth/src/main/webapp/javascript/formallg.js new file mode 100644 index 000000000..65d7bbedf --- /dev/null +++ b/id/server/auth/src/main/webapp/javascript/formallg.js @@ -0,0 +1,315 @@ +/* +|| Die Funktion displayElement() macht ein verstecktes HTML-Element sichtbar. +|| Das HTML-Element ist in aller Regel ein mit
...
umspannter +|| HTML-Abschnitt. +|| +|| IN-Parameter: element_id ... ID des sichtbarzumachenden HTML-Elements +|| +*/ + +function displayElement( element_id ) { + if ( notNN4( ) ) + { + var elementToDisplay = document.getElementById( element_id ); + elementToDisplay.className = 'show'; + } +} + + + +/* +|| Die Funktion hideElement() macht ein HTML-Element unsichtbar. +|| Das HTML-Element ist in aller Regel ein mit
...
umspannter +|| HTML-Abschnitt. +|| +|| IN-Parameter: element_id ... ID des zu versteckenden HTML-Elements +|| +*/ + +function hideElement( element_id ) { + if ( notNN4( ) ) + { + var elementToHide = document.getElementById( element_id ); + elementToHide.className = 'hide'; + } +} + + + +/* +|| Die Funktion resetValue() setzt Radiobuttons, Dropdown-Menues und Checkboxes auf ihre +|| Ausgangswerte (beim Laden des Formulars) zurueck. +|| +|| IN-Parameter: element ... Radiobutton-, Dropdown- oder Checkbox-Element +|| +*/ + +function resetValue( element ) { + for ( var i = 0; i < element.length; i++ ) + { + element[i].checked = element[i].defaultChecked; + element[i].selected = element[i].defaultSelected; + } +} + + + +/* +|| Die Funktion toggleDisplay() invertiert die Sichtbarkeit eines +|| HTML-Elements. +|| Das HTML-Element ist in aller Regel ein mit
...
umspannter +|| HTML-Abschnitt. +|| +|| IN-Parameter: element_id ... ID des zu invertierenden HTML-Elements +|| +*/ + +function toggleDisplay( element_id ) { + if ( notNN4( ) ) + { + var elementToToggle = document.getElementById( element_id ); + var elementClass = elementToToggle.className; + if ( elementClass == 'hide' ) + elementToToggle.className = "display"; + else + elementToToggle.className = "hide"; + } +} + +/* +|| Die Funktion toggleActive() setzt das Attribut 'readonly' eines +|| HTML-Eingabeelements. +|| +|| IN-Parameter: element ... HTML-Eingabeelement +|| IN-Parameter: status ... entweder 'active' oder 'deactive' +|| +*/ + +function toggleActive( element, status ) { + + if ( notNN4( ) ) + { + var elementToToggle = document.getElementById( element.id ); + + if ( status == 'active' ) + { + element.readOnly = false; + elementToToggle.className = "active"; + } + else + { + element.readOnly = true; + elementToToggle.className = "deactive"; + } + } +} + + + +/* +|| Die Funktion changeActivity() setzt das Attribut 'readonly' eines +|| HTML-Eingabeelements in Abhaengigkeit des Uebergabeparameters 'value'. +|| +|| IN-Parameter: value ... Wert eines HTML-Eingabelements +|| IN-Parameter: element ... HTML-Eingabeelement +|| +*/ + +function changeActivity( value, element ) { + if ( value == null || value == '' ) + toggleActive( element, 'active' ); + else + toggleActive( element, 'deactive' ); +} + + + +/* +|| Die Funktion pasteValueAndDeactivate() setzt den Wert eines HTML-Eingabeelements +|| und setzt das Attribut 'readonly', je nachdem ob der uebergebene Wert ungleich +|| dem Leerstring ist oder nicht. +|| +|| IN-Parameter: value ... zu setzender Wert +|| IN-Parameter: element ... HTML-Eingabeelement +|| +*/ + +function pasteValueAndDeactivate( value, element ) { + if ( notNN4( ) ) + { + var elementToSet = document.getElementById( element.id ); + elementToSet.value = value; + if ( value != null && value != '' ) + { + element.readOnly = true; + elementToSet.className = "deactive"; + } + else + { + element.readOnly = false; + elementToSet.className = "active"; + } + } +} + + + +/* +|| Die Funktion popitup() oeffnet im Browser links oben ein Fenster +|| mit bestimmten Eigenschaften (keine Statuszeile, kein Browsermenue, etc.). +|| URL und Groesse des Fensters werden als Parameter uebergeben. +|| +|| IN-Parameter: url ... in dem Fenster zu oeffnende URL +|| IN-Parameter: win_width ... Breite des zu oeffnenden Fensters +|| IN-Parameter: win_height ... Hoehe des zu oeffnenden Fensters +|| +*/ + +function popitup( url, win_width, win_height ) { + var features = "resizable, scrollbars=yes,status=no, menubar=no, toolbar=no, screenX=20, screenY=20, width=" + win_width + ", height=" + win_height; + newwindow=window.open( url, 'Info', features ); + /* die folgende Anweisung verursacht im IE eine Zugriffsverletzung, daher auskommentiert! */ + // newwindow.moveTo( 20, 20); + if ( window.focus ) + newwindow.focus( ); +} + + + +/* +|| Die Funktion initialize() deaktiviert das StyleSheet styles_opera.css (ausser fuer Opera). +|| Ausserdem werden in Browsern, die JavaScript aktiviert haben, die Icon-Info-Links durch href-Werte ersetzt, +|| die kein neues Browser-Fenster, sondern ein kleines Fenster oeffnen (s. Funktion javascriptWindows). +|| Der Parameter url hat entweder den Wert http://www.help.gv.at/formulare/infotexte/ oder +|| http://e-www.help.gv.at/linkdb/formulare/infotexte/, je nachdem in welcher Umgebung man sich befindet +*/ + +function initialize( url ) { + if ( notNN4( ) ) { + if (document.getElementsByTagName) { + if ( document.getElementsByTagName('link').length > 1 ) + { + document.getElementsByTagName('link')[1].disabled = true; + javascriptWindows( url ); + } + schattieren( ); + } + } +} + + +/* +|| Die Funktion javascriptWindows() ersetzt in den Formularen bei aktiviertem JavaScript +|| die Links bei den Infobuttons durch window.open-Befehle, so dass diese Infotexte in +|| einem kleinen Fenster im Browser links oben geoeffnet werden. +|| Der Parameter url hat entweder den Wert http://www.help.gv.at/formulare/infotexte/ oder +|| http://e-www.help.gv.at/linkdb/formulare/infotexte/, je nachdem in welcher Umgebung man sich befindet. +*/ + +function javascriptWindows( url ) { + var aElement, + href, + newHref, + lastIndex; + if ( notNN4( ) ) + { + for ( var i = 0; i < document.getElementsByTagName( 'a' ).length; i++ ) + { + aElement = document.getElementsByTagName( 'a' )[i]; + href = aElement.href; + if ( href.indexOf( 'info_' ) != -1 ) + { + lastIndex = href.lastIndexOf( '/' ); + newHref = href.substring( lastIndex + 1 ); + newHref = "javascript:popitup('" + url + newHref + "',660,500);"; + aElement.setAttribute( 'href', newHref ); + aElement.setAttribute( 'target', '_self' ); + } + } + } +} + +/* +|| Die Funktion submitButton() erzeugt einen Submit-Button, der ein automatisches +|| Abschicken verhindert, wenn der User in einem Eingabefeld die Return-Taste +|| betaetigt. +|| Wurde durch die Funktion generateButton() abgeloest. +*/ + +function submitButton( ) { + document.writeln(''); +} + +/* +|| Die Funktion cancelButton() erzeugt einen Abbrechen-Button, der ein automatisches +|| Abschicken verhindert, wenn der User in einem Eingabefeld die Return-Taste +|| betaetigt. +|| Wurde durch die Funktion generateButton() abgeloest. +*/ + +function cancelButton( ) { + document.writeln(''); +} + +/* +|| Die Funktion generateButton() erzeugt einen Button, der ein automatisches +|| Abschicken verhindert, wenn der User in einem Eingabefeld die Return-Taste +|| betaetigt. Die Art des Buttons wird durch den uebergebenen Wert bestimmt. +|| Moegliche Werte: Senden, Abbrechen, Signieren, etc. +*/ + +function generateButton( kind ) { + + document.write(''); + +} + +/* +|| Die Funktion NN4 testet, ob es sich bei dem Browser um einen Netscape +|| Navigator der Version 4 handelt. +*/ + +function notNN4( ) { + return ( ! document.layers ); +} + +/* +|| Die Funktion schattieren setzt in den Beilagen-Tabellen abwechselnd Farben +|| Quelle: Andreas Borutta, http://borumat.de/html/tab-schattieren.php +*/ + + +function schattieren () { +var tabelle=document.getElementsByTagName("table"); + for(i=0; i<=tabelle.length-1; i++) { + var klasse=tabelle[i].className; + var pos1=klasse.indexOf("attachmenttable"); + if (pos1 > -1) { + pos1=klasse.indexOf("ab_"); + if (pos1 > -1 ) var von=parseInt(klasse.substr(pos1+3,2)); + else var von=3; + var pos2=klasse.indexOf("fuss_"); + if (pos2 > -1 ) var fuss=parseInt(klasse.substr(pos2+5,2)); + else var fuss=0; + var reihe=tabelle[i].getElementsByTagName("tr"); + for (j=von -1; j<=reihe.length -fuss -1; j=j+2) + reihe[j].className="s"; + } //endIf + } //endFor +} //endFunc diff --git a/id/server/auth/src/main/wsdl/MOA-ID-1.0.wsdl b/id/server/auth/src/main/wsdl/MOA-ID-1.0.wsdl new file mode 100644 index 000000000..5751b3e58 --- /dev/null +++ b/id/server/auth/src/main/wsdl/MOA-ID-1.0.wsdl @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/id/server/auth/src/main/wsdl/MOA-ID-1.x.wsdl b/id/server/auth/src/main/wsdl/MOA-ID-1.x.wsdl new file mode 100644 index 000000000..5466a0b6f --- /dev/null +++ b/id/server/auth/src/main/wsdl/MOA-ID-1.x.wsdl @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/id/server/auth/src/main/wsdl/MOA-SPSS-1.2.xsd b/id/server/auth/src/main/wsdl/MOA-SPSS-1.2.xsd new file mode 100644 index 000000000..d7a06d6e7 --- /dev/null +++ b/id/server/auth/src/main/wsdl/MOA-SPSS-1.2.xsd @@ -0,0 +1,454 @@ + + + + + + + + + + + + + + + + + + + + Ermöglichung der Stapelsignatur durch wiederholte Angabe dieses Elements + + + + + + + + + + + + + + + + + + + Auswahl: Entweder explizite Angabe des Signaturorts sowie ggf. sinnvoller Supplements im Zshg. mit der Signaturumgebung, oder Verweis auf ein benanntes Profil + + + + + + + + + + + + + + + + + + Kardinalität 1..oo erlaubt die Antwort auf eine Stapelsignatur-Anfrage + + + + Resultat, falls die Signaturerstellung erfolgreich war + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert + + + + + + + + + + + only ds:X509Data and RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any;publicAuthority is included as X509Data/any + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pro dsig:Reference-Element in der zu überprüfenden XML-Signatur muss hier ein ReferenceInfo-Element erscheinen. Die Reihenfolge der einzelnen ReferenceInfo Elemente entspricht jener der dsig:Reference Elemente in der XML-Signatur. + + + + + + + + + + mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert + + + + + + + + + + + only ds:X509Data and ds:RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any; PublicAuthority is included as X509Data/any + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Auswahl: Entweder explizite Angabe EINER Transformationskette inklusive ggf. sinnvoller Supplements oder Verweis auf ein benanntes Profil + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Resultat, falls die Signaturerstellung gescheitert ist + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ein oder mehrere Transformationswege können von der Applikation an MOA mitgeteilt werden. Die zu prüfende Signatur hat zumindest einem dieser Transformationswege zu entsprechen. Die Angabe kann explizit oder als Profilbezeichner erfolgen. + + + + + Profilbezeichner für einen Transformationsweg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Die Angabe des Transformationsparameters (explizit oder als Hashwert) kann unterlassen werden, wenn die Applikation von der Unveränderlichkeit des Inhalts der in "Transformationsparamter", Attribut "URI" angegebenen URI ausgehen kann. + + + + Der Transformationsparameter explizit angegeben. + + + + + Der Hashwert des Transformationsparameters. + + + + + + + + + + + + + + + + + + + + + + Explizite Angabe des Transformationswegs + + + + + + + Alle impliziten Transformationsparameter, die zum Durchlaufen der oben angeführten Transformationskette bekannt sein müssen, müssen hier angeführt werden. Das Attribut "URI" bezeichnet den Transformationsparameter in exakt jener Weise, wie er in der zu überprüfenden Signatur gebraucht wird. + + + + + + + + + + + + + + + + diff --git a/id/server/component-idlibs.xml b/id/server/component-idlibs.xml new file mode 100644 index 000000000..c967690d5 --- /dev/null +++ b/id/server/component-idlibs.xml @@ -0,0 +1,39 @@ + + + + + iaik.prod:iaik_Pkcs11Wrapper:dll:win32 + + /pkcs11/win32 + pkcs11wrapper.${extension} + + + + iaik.prod:iaik_Pkcs11Wrapper:so:linux + + /pkcs11/linux + libpkcs11wrapper.${extension} + + + + iaik.prod:iaik_Pkcs11Wrapper:so:solaris_sparc + + /pkcs11/solaris_sparc + libpkcs11wrapper.${extension} + + + + iaik.prod:iaik_Pkcs11Wrapper:so:solaris_sparcv9 + + /pkcs11/solaris_sparcv9 + libpkcs11wrapper.${extension} + + + + iaik.prod:iaik_Pkcs11Wrapper:dll:wince30arm + + /pkcs11/wince30arm + pkcs11wrapper.${extension} + + + \ No newline at end of file diff --git a/id/server/data/deploy/conf/moa-id/SampleMOAIDConfiguration.xml b/id/server/data/deploy/conf/moa-id/SampleMOAIDConfiguration.xml index 7e22ee05f..0f3f9dbba 100644 --- a/id/server/data/deploy/conf/moa-id/SampleMOAIDConfiguration.xml +++ b/id/server/data/deploy/conf/moa-id/SampleMOAIDConfiguration.xml @@ -1,104 +1,153 @@ - - - - - - - - - Globale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und - "Anmeldung mit Bürgerkarte"<--> - - - - - - - - - - - - - - - - - - - - - - - - MOAIDBuergerkartePersonenbindung - - - - MOAIDBuergerkarteAuthentisierungsDaten + + + + + + + + + Globale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und + "Anmeldung mit Bürgerkarte" sowie des Signaturformulars nach der Abarbeitung der Infobox-Validatoren <--> + + + + + + + + + + + + + + + + + + + + + + + + + + MOAIDBuergerkartePersonenbindung + + + + MOAIDBuergerkarteAuthentisierungsDaten + + MOAIDTransformAuthBlockText + MOAIDTransformAuthBlockText_deprecated + + + Auskommentieren, falls die in der Beispiel-Onlineapplikation definierte Transformationverwendet wird:<--> + + + + + + + Vollmachten + + + true + + + false + + + + + + + + + file_to_clientkeystore + + + + + + + + + + + + + + + - - MOAIDTransformAuthBlockText - MOAIDTransformAuthBlockText_deprecated - - - Auskommentieren, falls die in der Beispiel-Onlineapplikation definierte Transformationverwendet wird:<--> - - - + + + + + + Lokale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und + "Anmeldung mit Bürgerkarte" sowie des Signaturformulars nach der Abarbeitung der Infobox-Validatoren + nur für diese Online Applikation<--> + + + + + + + + + + + + + + + + - - - - - - - - Lokale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und - "Anmeldung mit Bürgerkarte" nur für diese Online Applikation<--> - - - - - - - - - - - - - - - - - - - + + + + - certs/ca-certs - - - - - - - - - - - - - + certs/ca-certs + + + + + + + + + + + + + diff --git a/id/server/data/deploy/conf/moa-id/SampleMOAIDConfigurationProxy.xml b/id/server/data/deploy/conf/moa-id/SampleMOAIDConfigurationProxy.xml index 6dab6911a..ab99176dd 100644 --- a/id/server/data/deploy/conf/moa-id/SampleMOAIDConfigurationProxy.xml +++ b/id/server/data/deploy/conf/moa-id/SampleMOAIDConfigurationProxy.xml @@ -1,126 +1,173 @@ - + - - - - - - - - - Globale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und - "Anmeldung mit Bürgerkarte"<--> - - - - - - - - - - - - - - - - - - - - - - - - MOAIDBuergerkartePersonenbindung - - - - MOAIDBuergerkarteAuthentisierungsDaten + + + + + + + + + Globale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und + "Anmeldung mit Bürgerkarte" sowie des Signaturformulars nach der Abarbeitung der Infobox-Validatoren <--> + + + + + + + + + + + + + + + + + + + + + + + + + + MOAIDBuergerkartePersonenbindung + + + + MOAIDBuergerkarteAuthentisierungsDaten + + MOAIDTransformAuthBlockText + MOAIDTransformAuthBlockText_deprecated + + + Auskommentieren, falls die in der Beispiel-Onlineapplikation definierte Transformationverwendet wird:<--> + + + + + + + Vollmachten + + + true + + + false + + + + + + + + + file_to_clientkeystore + + + + + + + + + + + + + + + - - MOAIDTransformAuthBlockText - MOAIDTransformAuthBlockText_deprecated - - + + + + + + + + + + + + + + + + + + Lokale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und + "Anmeldung mit Bürgerkarte" sowie des Signaturformulars nach der Abarbeitung der Infobox-Validatoren + nur für diese Online Applikation<--> + + + + + + + + + + + + + + + + + + + + + + + + + - Auskommentieren, falls die in der Beispiel-Onlineapplikation definierte Transformationverwendet wird:<--> - - - + + + - - - - - - - - - - - - - - - - - - - Lokale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und - "Anmeldung mit Bürgerkarte" nur für diese Online Applikation<--> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - certs/ca-certs + certs/ca-certs - - - - - - - - - - - - + + + + + + + + + + + diff --git a/id/server/data/deploy/conf/moa-id/SampleMOAIDConfiguration_withTestBKs.xml b/id/server/data/deploy/conf/moa-id/SampleMOAIDConfiguration_withTestBKs.xml index f8dd375d1..25485432d 100644 --- a/id/server/data/deploy/conf/moa-id/SampleMOAIDConfiguration_withTestBKs.xml +++ b/id/server/data/deploy/conf/moa-id/SampleMOAIDConfiguration_withTestBKs.xml @@ -1,113 +1,162 @@ + A-Trust und A1-Signatur, sowie die Testbuergerkarten a.sign test government und SeLaNext +--> - - - - - - - - - Globale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und - "Anmeldung mit Bürgerkarte"<--> - - - - - - - - - - - - - - - - - - - - - - - - MOAIDBuergerkartePersonenbindungMitTestkarten - - - - - MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten + + + + + + + + + Globale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und + "Anmeldung mit Bürgerkarte" sowie des Signaturformulars nach der Abarbeitung der Infobox-Validatoren <--> + + + + + + + + + + + + + + + + + + + + + + + + + + MOAIDBuergerkartePersonenbindungMitTestkarten + + + + + MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten + + MOAIDTransformAuthBlockText + MOAIDTransformAuthBlockText_deprecated + + + Auskommentieren, falls die in der Beispiel-Onlineapplikation definierte Transformationverwendet wird:<--> + + + - - MOAIDTransformAuthBlockText - MOAIDTransformAuthBlockText_deprecated - - + + + + + - Auskommentieren, falls die in der Beispiel-Onlineapplikation definierte Transformationverwendet wird:<--> - - - + + + Vollmachten + + + true + + + false + + + + + + + + + file_to_clientkeystore + + + + + + + + + + + + + - - - - - - + - - - - - - Lokale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und - "Anmeldung mit Bürgerkarte" nur für diese Online Applikation<--> - - - - - - - - - - - - - - - - + + + + + + Lokale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und + "Anmeldung mit Bürgerkarte" sowie des Signaturformulars nach der Abarbeitung der Infobox-Validatoren + nur für diese Online Applikation<--> + + + + + + + + + + + + + + + + + + + - - - certs/ca-certs + certs/ca-certs + + + + + + + + - - - - - - - - - - - - + + + + diff --git a/id/server/data/deploy/conf/moa-id/SampleMOAIDConfiguration_withTestBKsProxy.xml b/id/server/data/deploy/conf/moa-id/SampleMOAIDConfiguration_withTestBKsProxy.xml index c60101e8d..05db0b923 100644 --- a/id/server/data/deploy/conf/moa-id/SampleMOAIDConfiguration_withTestBKsProxy.xml +++ b/id/server/data/deploy/conf/moa-id/SampleMOAIDConfiguration_withTestBKsProxy.xml @@ -1,133 +1,182 @@ + A-Trust und A1-Signatur, sowie die Testbuergerkarten a.sign test government und SeLaNext --> - - - - - - - - - Globale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und - "Anmeldung mit Bürgerkarte"<--> - - - - - - - - - - - - - - - - - - - - - - - - MOAIDBuergerkartePersonenbindungMitTestkarten - - - - - MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten + + + + + + + + + Globale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und + "Anmeldung mit Bürgerkarte" sowie des Signaturformulars nach der Abarbeitung der Infobox-Validatoren <--> + + + + + + + + + + + + + + + + + + + + + + + + + + MOAIDBuergerkartePersonenbindungMitTestkarten + + + + + MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten + + MOAIDTransformAuthBlockText + MOAIDTransformAuthBlockText_deprecated + + + Auskommentieren, falls die in der Beispiel-Onlineapplikation definierte Transformationverwendet wird:<--> + + + - - MOAIDTransformAuthBlockText - MOAIDTransformAuthBlockText_deprecated - - + + + + + - Auskommentieren, falls die in der Beispiel-Onlineapplikation definierte Transformationverwendet wird:<--> - - - + + + Vollmachten + + + true + + + false + + + + + + + + + file_to_clientkeystore + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + - - - - - - Lokale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und - "Anmeldung mit Bürgerkarte" nur für diese Online Applikation<--> - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + Lokale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und + "Anmeldung mit Bürgerkarte" sowie des Signaturformulars nach der Abarbeitung der Infobox-Validatoren + nur für diese Online Applikation<--> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - certs/ca-certs + certs/ca-certs + + + + + + + + - - - - - - - - - - - - + + + + diff --git a/id/server/data/deploy/conf/moa-id/SampleMOAWIDConfiguration.xml b/id/server/data/deploy/conf/moa-id/SampleMOAWIDConfiguration.xml index 9dc42ee2e..0b2fc2189 100644 --- a/id/server/data/deploy/conf/moa-id/SampleMOAWIDConfiguration.xml +++ b/id/server/data/deploy/conf/moa-id/SampleMOAWIDConfiguration.xml @@ -1,112 +1,158 @@ - + - - - - - - - - - Globale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und - "Anmeldung mit Bürgerkarte"<--> - - - - - - - - - - - - - - - - - - - - - - - - MOAIDBuergerkartePersonenbindung - - - - MOAIDBuergerkarteAuthentisierungsDaten - - - MOAIDTransformAuthBlockText - MOAIDTransformAuthBlockText_deprecated - - - - Auskommentieren, falls die in der Beispiel-Onlineapplikation definierte Transformationverwendet wird:<--> - - - - - - - - - - - - - - - 468924i - - Lokale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und - "Anmeldung mit Bürgerkarte" nur für diese Online Applikation<--> - - - - - - - - - - - - - - - - - - - - + + + + + + + + Globale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und + "Anmeldung mit Bürgerkarte" sowie des Signaturformulars nach der Abarbeitung der Infobox-Validatoren <--> + + + + + + + + + + + + + + + + + + + + + + + + + + MOAIDBuergerkartePersonenbindung + + + + MOAIDBuergerkarteAuthentisierungsDaten + + MOAIDTransformAuthBlockText + MOAIDTransformAuthBlockText_deprecated + + + Auskommentieren, falls die in der Beispiel-Onlineapplikation definierte Transformationverwendet wird:<--> + + + + + + + Vollmachten + + + true + + + false + + + + + + + + + file_to_clientkeystore + + + + + + + + + + + + + + + + + + + + + + + + + + 468924i + + Lokale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und + "Anmeldung mit Bürgerkarte" sowie des Signaturformulars nach der Abarbeitung der Infobox-Validatoren + nur für diese Online Applikation<--> + + + + + + + + + + + + + + + + + + + + + + - certs/ca-certs - - - - - - - - - - - - - + certs/ca-certs + + + + + + + + + + + + + diff --git a/id/server/data/deploy/conf/moa-id/SampleMOAWIDConfigurationProxy.xml b/id/server/data/deploy/conf/moa-id/SampleMOAWIDConfigurationProxy.xml index e92678b27..8643998d5 100644 --- a/id/server/data/deploy/conf/moa-id/SampleMOAWIDConfigurationProxy.xml +++ b/id/server/data/deploy/conf/moa-id/SampleMOAWIDConfigurationProxy.xml @@ -1,134 +1,179 @@ - + - - - - - - - - - Globale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und - "Anmeldung mit Bürgerkarte"<--> - - - - - - - - - - - - - - - - - - - - - - - - MOAIDBuergerkartePersonenbindung - - - - MOAIDBuergerkarteAuthentisierungsDaten - - - MOAIDTransformAuthBlockText - MOAIDTransformAuthBlockText_deprecated - - - - Auskommentieren, falls die in der Beispiel-Onlineapplikation definierte Transformationverwendet wird:<--> - - - - - - - - - - - - - - - - - - - - - - - - - - - 468924i - - Lokale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und - "Anmeldung mit Bürgerkarte" nur für diese Online Applikation<--> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + Globale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und + "Anmeldung mit Bürgerkarte" sowie des Signaturformulars nach der Abarbeitung der Infobox-Validatoren <--> + + + + + + + + + + + + + + + + + + + + + + + + + + MOAIDBuergerkartePersonenbindung + + + + MOAIDBuergerkarteAuthentisierungsDaten + + MOAIDTransformAuthBlockText + MOAIDTransformAuthBlockText_deprecated + + + Auskommentieren, falls die in der Beispiel-Onlineapplikation definierte Transformationverwendet wird:<--> + + + + + + + Vollmachten + + + true + + + false + + + + + + + + + file_to_clientkeystore + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 468924i + + Lokale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und + "Anmeldung mit Bürgerkarte" sowie des Signaturformulars nach der Abarbeitung der Infobox-Validatoren + nur für diese Online Applikation<--> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - certs/ca-certs - - - - - - - - - - - - - + certs/ca-certs + + + + + + + + + + + + + diff --git a/id/server/data/deploy/conf/moa-id/SampleMOAWIDConfiguration_withTestBKs.xml b/id/server/data/deploy/conf/moa-id/SampleMOAWIDConfiguration_withTestBKs.xml index 7617737dd..1b21fa767 100644 --- a/id/server/data/deploy/conf/moa-id/SampleMOAWIDConfiguration_withTestBKs.xml +++ b/id/server/data/deploy/conf/moa-id/SampleMOAWIDConfiguration_withTestBKs.xml @@ -1,118 +1,166 @@ + A-Trust und A1-Signatur, sowie die Testbuergerkarten a.sign test government und SeLaNext --> - - - - - - - - - Globale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und - "Anmeldung mit Bürgerkarte"<--> - - - - - - - - - - - - - - - - - - - - - - - - MOAIDBuergerkartePersonenbindungMitTestkarten - - - - - MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten + + + + + + + + + Globale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und + "Anmeldung mit Bürgerkarte" sowie des Signaturformulars nach der Abarbeitung der Infobox-Validatoren <--> + + + + + + + + + + + + + + + + + + + + + + + + + + MOAIDBuergerkartePersonenbindungMitTestkarten + + + + + MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten + + MOAIDTransformAuthBlockText + MOAIDTransformAuthBlockText_deprecated + + + Auskommentieren, falls die in der Beispiel-Onlineapplikation definierte Transformationverwendet wird:<--> + + + - - MOAIDTransformAuthBlockText - MOAIDTransformAuthBlockText_deprecated - - + + + + + - Auskommentieren, falls die in der Beispiel-Onlineapplikation definierte Transformationverwendet wird:<--> - - - + + + Vollmachten + + + true + + + false + + + + + + + + + file_to_clientkeystore + + + + + + + + + + + + + + + + + + + + + + + + + + 468924i + + Lokale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und + "Anmeldung mit Bürgerkarte" sowie des Signaturformulars nach der Abarbeitung der Infobox-Validatoren + nur für diese Online Applikation<--> + + + + + + + + + + + + + + + + - - - - - - + + + - - - - - - - - - 468924i - - Lokale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und - "Anmeldung mit Bürgerkarte" nur für diese Online Applikation<--> - - - - - - - - - - - - - - - - - - - - certs/ca-certs + certs/ca-certs + + + + + + + + - - - - - - - - - - - - + + + + diff --git a/id/server/data/deploy/conf/moa-id/SampleMOAWIDConfiguration_withTestBKsProxy.xml b/id/server/data/deploy/conf/moa-id/SampleMOAWIDConfiguration_withTestBKsProxy.xml index 264f6f6e3..55d1654fe 100644 --- a/id/server/data/deploy/conf/moa-id/SampleMOAWIDConfiguration_withTestBKsProxy.xml +++ b/id/server/data/deploy/conf/moa-id/SampleMOAWIDConfiguration_withTestBKsProxy.xml @@ -1,140 +1,187 @@ + A-Trust und A1-Signatur, sowie die Testbuergerkarten a.sign test government und SeLaNext --> - - - - - - - - - Globale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und - "Anmeldung mit Bürgerkarte"<--> - - - - - - - - - - - - - - - - - - - - - - - - MOAIDBuergerkartePersonenbindungMitTestkarten - - - - - MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten + + + + + + + + + Globale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und + "Anmeldung mit Bürgerkarte" sowie des Signaturformulars nach der Abarbeitung der Infobox-Validatoren <--> + + + + + + + + + + + + + + + + + + + + + + + + + + MOAIDBuergerkartePersonenbindungMitTestkarten + + + + + MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten + + MOAIDTransformAuthBlockText + MOAIDTransformAuthBlockText_deprecated + + + Auskommentieren, falls die in der Beispiel-Onlineapplikation definierte Transformationverwendet wird:<--> + + + - - MOAIDTransformAuthBlockText - MOAIDTransformAuthBlockText_deprecated - - + + + + + - Auskommentieren, falls die in der Beispiel-Onlineapplikation definierte Transformationverwendet wird:<--> - - - + + + Vollmachten + + + true + + + false + + + + + + + + + file_to_clientkeystore + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - 468924i - - Lokale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und - "Anmeldung mit Bürgerkarte" nur für diese Online Applikation<--> - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + 468924i + + Lokale Templates zum Anpassen der Seiten "Auswahl der Bürgerkartenumgebung" und + "Anmeldung mit Bürgerkarte" sowie des Signaturformulars nach der Abarbeitung der Infobox-Validatoren + nur für diese Online Applikation<--> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - certs/ca-certs + certs/ca-certs + + + + + + + + - - - - - - - - - - - - + + + + diff --git a/id/server/data/deploy/conf/moa-id/sampleTemplates/LIESMICH_TEMPLATES.txt b/id/server/data/deploy/conf/moa-id/sampleTemplates/LIESMICH_TEMPLATES.txt index 01f724cc4..04029dc80 100644 --- a/id/server/data/deploy/conf/moa-id/sampleTemplates/LIESMICH_TEMPLATES.txt +++ b/id/server/data/deploy/conf/moa-id/sampleTemplates/LIESMICH_TEMPLATES.txt @@ -2,7 +2,7 @@ TEMPLATES: ========== Zweck: ------ -Mithilfe von Templates können Sie das Aussehen der Seiten +Mithilfe von Templates können Sie beispielsweise das Aussehen der Seiten "Auswahl der Bürgerkartenumgebung" sowie "Anmeldung mit Bürgerkarte" anpassen. Damit können Sie zusätzliche Hintergrundinformationen (Wozu dient die Anmeldung, etc.) zu diesen Seiten hinzufügen und das Layout an @@ -17,5 +17,10 @@ die Konfigurationsdatei steht erst ab Version 1.3.1 zur Verf Etwas aufwendigere Templates (mit CSS) finden Sie als eigene Webapplikation im Verzeichnis "/auth/templates" der entpackten Distribution. +Die Datei ParepInputProcessorSignTemplate.html dient als Template für die +Formulare der beruflichen Parteienvertretung, welche bereits die Styleguide für +das österreichische E-Government erfüllen sollen. + Nähere Informationen zu den Templates finden Sie im MOA-ID-Konfigurationshandbuch. + diff --git a/id/server/data/deploy/conf/moa-id/sampleTemplates/ParepInputProcessorSignTemplate.html b/id/server/data/deploy/conf/moa-id/sampleTemplates/ParepInputProcessorSignTemplate.html new file mode 100644 index 000000000..99bc057ad --- /dev/null +++ b/id/server/data/deploy/conf/moa-id/sampleTemplates/ParepInputProcessorSignTemplate.html @@ -0,0 +1,61 @@ + + + + + + +Berufliche Parteieinvertretung + + + + + + + + + + +
+
+
+ +
+
+
+

Berufliche Parteienvertretung

+
+
+Bitte beachten Sie +
+
+
+
+ Dieses Feld muss ausgefüllt sein!  Feld muss ausgefüllt sein +
+
+ Hilfe zum Ausfüllen   Ausfüllhilfe +
+
+ Angabe bitte ergänzen oder richtig stellen!   Fehlerhinweis
+
 
+ +

Berufliche Parteienvertretung einer natürlichen/juristischen Person +

+
+

+
+ + + +      +
+
+
+ + diff --git a/id/server/data/deploy/conf/moa-id/sampleTemplates/SampleInputProcessorSignTemplate.html b/id/server/data/deploy/conf/moa-id/sampleTemplates/SampleInputProcessorSignTemplate.html new file mode 100644 index 000000000..9c8e67a20 --- /dev/null +++ b/id/server/data/deploy/conf/moa-id/sampleTemplates/SampleInputProcessorSignTemplate.html @@ -0,0 +1,39 @@ + + + +MOA ID - Identifizierter Zugang mit Bürgerkarte + + + + + + + +

Sicherer Zugang zur Online-Anwendung mit Bürgerkarte

+

+ +Der identifizierte Zugang erfolgt über die Module für Online Applikationen (MOA) unter Verwendung einer Bürgerkarte und deren Signaturfunktion. + +

+

Sie werden in kuürze zur Signatur der Anmeldedaten aufgefordert. Wenn sie diese +signieren, so werden sie zur Online-Anwendung weitergeleitet und angemeldet.

+ +
+
+ + + + +
+
+ +

 

+ + + diff --git a/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlock.xml b/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlock.xml index 915a6bf2f..2ee27aae1 100644 --- a/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlock.xml +++ b/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlock.xml @@ -16,7 +16,7 @@ -

Bitte bestätigen Sie mit Ihrer Unterschrift folgende Angaben:

+

Bitte bestätigen Sie mit Ihrer Unterschrift folgende Angaben:

+ + + + + + @@ -73,9 +88,21 @@ Uhrzeit: + + + + + +
@@ -31,9 +31,22 @@ Geburtsdatum: - .. + . + . +
+ Rolle im Gesundheitsbereich: + + + (OID***= ), +
Applikation: @@ -65,7 +78,9 @@ Datum: - .. + . + . +
- :: + : + : +
+ HPI(**): + + +
@@ -87,10 +114,67 @@
+ +

Sie bestätigen weiters, dass sie als ermächtigt sind im Auftrag von

+ + + + + + + + + + + + + + + + + + + + + + +
+ Name: + + +
+ Geburtsdatum: + + . + . + +
+ +
+ wbPK (*): + + +
+

zu handeln.

+
+ +


+


+


+
-

-


-
(*): Das wirtschaftsbereichsspezifische Personenkennzeichen (wbPK) wird aus den jeweiligen Stammzahlen des Bürgers und des Wirtschaftsunternehmens berechnet und ermöglicht eine eindeutige Zuordnung des Bürgers zum Wirtschaftsunternehmen.
+
(*): Das wirtschaftsbereichsspezifische Personenkennzeichen (wbPK) wird aus den + jeweiligen Stammzahlen des Bürgers und des Wirtschaftsunternehmens berechnet und ermöglicht eine eindeutige Zuordnung des Bürgers zum + Wirtschaftsunternehmen.
+
+ +
(**): Der eHealth Professional Identifier (HPI) wird aus den jeweiligen + Stammzahlen der Gesundheitsdiensteanbieterinnen / Gesundheitsdiensteanbieter berechnet und ermöglicht eine eindeutige Zuordnung der + Gesundheitsdiensteanbieterin / des Gesundheitsdiensteanbieters im Gesundheitsbereich.
+
+ +
(***): Object Identifier (OID) sind standardisierte Objekt-Bezeichner und + beschreiben eindeutig die Rollen des GDA-Token Inhabers.
diff --git a/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlockText.xml b/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlockText.xml index 5089140b4..ecc60a481 100644 --- a/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlockText.xml +++ b/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlockText.xml @@ -16,20 +16,68 @@

Signatur der Anmeldedaten

-

Mit meiner elektronischen Signatur beantrage ich, - - , -geboren am -.., den Zugang zur gesicherten Anwendung.

+

Mit meiner elektronischen Signatur beantrage ich, + , geboren am + . + . + , + + in der Rolle als + (OID***= ), + + den Zugang zur gesicherten Anwendung. +

-

Datum und Uhrzeit: .., :: +

Datum und Uhrzeit: + . + . + , + : + : +

+ +

HPI(**):

+
-

wbPK(*): +

wbPK(*):

+ + +
+

Ich bin weiters ermächtigt als + von + , geboren am + . + . + + + , + + , in dessen Auftrag zu handeln. + +

wbPK(*) des Vollmachtgebers:

+

-


-
(*) wbPK: Das wirtschaftsbereichsspezifische Personenkennzeichen wird aus den jeweiligen Stammzahlen des Bürgers und des Wirtschaftsunternehmens berechnet und ermöglicht eine eindeutige Zuordnung des Bürgers zum Wirtschaftsunternehmen.
+
+ +


+


+


+
+ +
(*) wbPK: Das wirtschaftsbereichsspezifische Personenkennzeichen wird aus den + jeweiligen Stammzahlen des Bürgers und des Wirtschaftsunternehmens berechnet und ermöglicht eine eindeutige Zuordnung des Bürgers zum + Wirtschaftsunternehmen.
+
+ +
(**) HPI: Der eHealth Professional Identifier wird aus den jeweiligen + Stammzahlen der Gesundheitsdiensteanbieterinnen / Gesundheitsdiensteanbieter berechnet und ermöglicht eine eindeutige Zuordnung der + Gesundheitsdiensteanbieterin / des Gesundheitsdiensteanbieters im Gesundheitsbereich.
+
+ +
(***) OID: Object Identifier sind standardisierte Objekt-Bezeichner und + beschreiben eindeutig die Rollen des GDA-Token Inhabers.
diff --git a/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlockText_deprecated.xml b/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlockText_deprecated.xml index 07d926d14..894e82ff8 100644 --- a/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlockText_deprecated.xml +++ b/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlockText_deprecated.xml @@ -12,12 +12,17 @@

Signatur der Anmeldedaten

-

Mit meiner elektronischen Signatur beantrage ich, , - geboren am - . - . - , - den Zugang zur gesicherten Anwendung.

+

Mit meiner elektronischen Signatur beantrage ich, + , geboren am + . + . + , + + in der Rolle als + (OID***= ), + + den Zugang zur gesicherten Anwendung. +

Datum und Uhrzeit: . @@ -27,14 +32,48 @@ :

+ +

HPI(**):

+
-

wbPK(*): +

wbPK(*):

+ + +
+

Ich bin weiters ermächtigt als + von + , geboren am + . + . + + + , + + , in dessen Auftrag zu handeln. + +

wbPK(*) des Vollmachtgebers:

+

-


-
(*) wbPK: Das wirtschaftsbereichsspezifische - Personenkennzeichen wird aus den jeweiligen Stammzahlen des Bürgers und des Wirtschaftsunternehmens - berechnet und ermöglicht eine eindeutige Zuordnung des Bürgers zum Wirtschaftsunternehmen.
+
+ +


+


+


+
+ +
(*) wbPK: Das wirtschaftsbereichsspezifische Personenkennzeichen wird aus den + jeweiligen Stammzahlen des Bürgers und des Wirtschaftsunternehmens berechnet und ermöglicht eine eindeutige Zuordnung des Bürgers zum + Wirtschaftsunternehmen.
+
+ +
(**) HPI: Der eHealth Professional Identifier wird aus den jeweiligen + Stammzahlen der Gesundheitsdiensteanbieterinnen / Gesundheitsdiensteanbieter berechnet und ermöglicht eine eindeutige Zuordnung der + Gesundheitsdiensteanbieterin / des Gesundheitsdiensteanbieters im Gesundheitsbereich.
+
+ +
(***) OID: Object Identifier sind standardisierte Objekt-Bezeichner und + beschreiben eindeutig die Rollen des GDA-Token Inhabers.
diff --git a/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlock_deprecated.xml b/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlock_deprecated.xml index 05f91750c..348546f8d 100644 --- a/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlock_deprecated.xml +++ b/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlock_deprecated.xml @@ -10,7 +10,7 @@ Signatur der Anmeldedaten -

Bitte bestätigen Sie mit Ihrer Unterschrift folgende Angaben:

+

Bitte bestätigen Sie mit Ihrer Unterschrift folgende Angaben:

+ + + + + + + + + + + +
@@ -30,6 +30,17 @@
+ Rolle im Gesundheitsbereich: + + + (OID***= ), +
Applikation: @@ -76,6 +87,16 @@
+ HPI(**): + + +
@@ -87,12 +108,67 @@
+ +

Sie bestätigen weiters, dass sie als ermächtigt sind im Auftrag von

+ + + + + + + + + + + + + + + + + + + + + + +
+ Name: + + +
+ Geburtsdatum: + + . + . + +
+ +
+ wbPK (*): + + +
+

zu handeln.

+
+ +


+


+


+
-

-


-
(*): Das wirtschaftsbereichsspezifische Personenkennzeichen (wbPK) wird aus den jeweiligen - Stammzahlen des Bürgers und des Wirtschaftsunternehmens berechnet und ermöglicht eine eindeutige - Zuordnung des Bürgers zum Wirtschaftsunternehmen.
+
(*): Das wirtschaftsbereichsspezifische Personenkennzeichen (wbPK) wird aus den + jeweiligen Stammzahlen des Bürgers und des Wirtschaftsunternehmens berechnet und ermöglicht eine eindeutige Zuordnung des Bürgers zum + Wirtschaftsunternehmen.
+
+ +
(**): Der eHealth Professional Identifier (HPI) wird aus den jeweiligen + Stammzahlen der Gesundheitsdiensteanbieterinnen / Gesundheitsdiensteanbieter berechnet und ermöglicht eine eindeutige Zuordnung der + Gesundheitsdiensteanbieterin / des Gesundheitsdiensteanbieters im Gesundheitsbereich.
+
+ +
(***): Object Identifier (OID) sind standardisierte Objekt-Bezeichner und + beschreiben eindeutig die Rollen des GDA-Token Inhabers.
diff --git a/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlock.xml b/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlock.xml index 6ed91ddc3..b84093ed1 100644 --- a/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlock.xml +++ b/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlock.xml @@ -17,7 +17,7 @@ -

Bitte bestätigen Sie mit Ihrer Unterschrift folgende Angaben:

+

Bitte bestätigen Sie mit Ihrer Unterschrift folgende Angaben:

+ + + + + + @@ -74,9 +89,21 @@ Uhrzeit: + + + + + +
@@ -32,9 +32,22 @@ Geburtsdatum: - .. + . + . +
+ Rolle im Gesundheitsbereich: + + + (OID***= ), +
Applikation: @@ -66,7 +79,9 @@ Datum: - .. + . + . +
- :: + : + : +
+ HPI(**): + + +
@@ -88,10 +115,67 @@
+ +

Sie bestätigen weiters, dass sie als ermächtigt sind im Auftrag von

+ + + + + + + + + + + + + + + + + + + + + + +
+ Name: + + +
+ Geburtsdatum: + + . + . + +
+ +
+ wbPK (*): + + +
+

zu handeln.

+
+ +


+


+


+
-

-


-
(*): Das wirtschaftsbereichsspezifische Personenkennzeichen (wbPK) wird aus den jeweiligen Stammzahlen des Bürgers und des Wirtschaftsunternehmens berechnet und ermöglicht eine eindeutige Zuordnung des Bürgers zum Wirtschaftsunternehmen.
+
(*): Das wirtschaftsbereichsspezifische Personenkennzeichen (wbPK) wird aus den + jeweiligen Stammzahlen des Bürgers und des Wirtschaftsunternehmens berechnet und ermöglicht eine eindeutige Zuordnung des Bürgers zum + Wirtschaftsunternehmen.
+
+ +
(**): Der eHealth Professional Identifier (HPI) wird aus den jeweiligen + Stammzahlen der Gesundheitsdiensteanbieterinnen / Gesundheitsdiensteanbieter berechnet und ermöglicht eine eindeutige Zuordnung der + Gesundheitsdiensteanbieterin / des Gesundheitsdiensteanbieters im Gesundheitsbereich.
+
+ +
(***): Object Identifier (OID) sind standardisierte Objekt-Bezeichner und + beschreiben eindeutig die Rollen des GDA-Token Inhabers.
diff --git a/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlockText.xml b/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlockText.xml index b116152c8..cd207e04c 100644 --- a/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlockText.xml +++ b/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlockText.xml @@ -17,20 +17,68 @@

Signatur der Anmeldedaten

-

Mit meiner elektronischen Signatur beantrage ich, - - , -geboren am -.., den Zugang zur gesicherten Anwendung.

+

Mit meiner elektronischen Signatur beantrage ich, + , geboren am + . + . + , + + in der Rolle als + (OID***= ), + + den Zugang zur gesicherten Anwendung. +

-

Datum und Uhrzeit: .., :: +

Datum und Uhrzeit: + . + . + , + : + : +

+ +

HPI(**):

+
-

wbPK(*): +

wbPK(*):

+ + +
+

Ich bin weiters ermächtigt als + von + , geboren am + . + . + + + , + + , in dessen Auftrag zu handeln. + +

wbPK(*) des Vollmachtgebers:

+

-


-
(*) wbPK: Das wirtschaftsbereichsspezifische Personenkennzeichen wird aus den jeweiligen Stammzahlen des Bürgers und des Wirtschaftsunternehmens berechnet und ermöglicht eine eindeutige Zuordnung des Bürgers zum Wirtschaftsunternehmen.
+
+ +


+


+


+
+ +
(*) wbPK: Das wirtschaftsbereichsspezifische Personenkennzeichen wird aus den + jeweiligen Stammzahlen des Bürgers und des Wirtschaftsunternehmens berechnet und ermöglicht eine eindeutige Zuordnung des Bürgers zum + Wirtschaftsunternehmen.
+
+ +
(**) HPI: Der eHealth Professional Identifier wird aus den jeweiligen + Stammzahlen der Gesundheitsdiensteanbieterinnen / Gesundheitsdiensteanbieter berechnet und ermöglicht eine eindeutige Zuordnung der + Gesundheitsdiensteanbieterin / des Gesundheitsdiensteanbieters im Gesundheitsbereich.
+
+ +
(***) OID: Object Identifier sind standardisierte Objekt-Bezeichner und + beschreiben eindeutig die Rollen des GDA-Token Inhabers.
diff --git a/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlockText_deprecated.xml b/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlockText_deprecated.xml index 10854242e..31e00ec9f 100644 --- a/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlockText_deprecated.xml +++ b/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlockText_deprecated.xml @@ -13,12 +13,17 @@

Signatur der Anmeldedaten

-

Mit meiner elektronischen Signatur beantrage ich, , - geboren am - . - . - , - den Zugang zur gesicherten Anwendung.

+

Mit meiner elektronischen Signatur beantrage ich, + , geboren am + . + . + , + + in der Rolle als + (OID***= ), + + den Zugang zur gesicherten Anwendung. +

Datum und Uhrzeit: . @@ -28,14 +33,48 @@ :

+ +

HPI(**):

+
-

wbPK(*): +

wbPK(*):

+ + +
+

Ich bin weiters ermächtigt als + von + , geboren am + . + . + + + , + + , in dessen Auftrag zu handeln. + +

wbPK(*) des Vollmachtgebers:

+

-


-
(*) wbPK: Das wirtschaftsbereichsspezifische - Personenkennzeichen wird aus den jeweiligen Stammzahlen des Bürgers und des Wirtschaftsunternehmens - berechnet und ermöglicht eine eindeutige Zuordnung des Bürgers zum Wirtschaftsunternehmen.
+
+ +


+


+


+
+ +
(*) wbPK: Das wirtschaftsbereichsspezifische Personenkennzeichen wird aus den + jeweiligen Stammzahlen des Bürgers und des Wirtschaftsunternehmens berechnet und ermöglicht eine eindeutige Zuordnung des Bürgers zum + Wirtschaftsunternehmen.
+
+ +
(**) HPI: Der eHealth Professional Identifier wird aus den jeweiligen + Stammzahlen der Gesundheitsdiensteanbieterinnen / Gesundheitsdiensteanbieter berechnet und ermöglicht eine eindeutige Zuordnung der + Gesundheitsdiensteanbieterin / des Gesundheitsdiensteanbieters im Gesundheitsbereich.
+
+ +
(***) OID: Object Identifier sind standardisierte Objekt-Bezeichner und + beschreiben eindeutig die Rollen des GDA-Token Inhabers.
diff --git a/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlock_deprecated.xml b/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlock_deprecated.xml index 0c079da71..bcf0cd7ce 100644 --- a/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlock_deprecated.xml +++ b/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlock_deprecated.xml @@ -11,7 +11,7 @@ Signatur der Anmeldedaten -

Bitte bestätigen Sie mit Ihrer Unterschrift folgende Angaben:

+

Bitte bestätigen Sie mit Ihrer Unterschrift folgende Angaben:

+ + + + + + + + + + + +
@@ -31,6 +31,17 @@
+ Rolle im Gesundheitsbereich: + + + (OID***= ), +
Applikation: @@ -77,6 +88,16 @@
+ HPI(**): + + +
@@ -88,12 +109,67 @@
+ +

Sie bestätigen weiters, dass sie als ermächtigt sind im Auftrag von

+ + + + + + + + + + + + + + + + + + + + + + +
+ Name: + + +
+ Geburtsdatum: + + . + . + +
+ +
+ wbPK (*): + + +
+

zu handeln.

+
+ +


+


+


+
-

-


-
(*): Das wirtschaftsbereichsspezifische Personenkennzeichen (wbPK) wird aus den jeweiligen - Stammzahlen des Bürgers und des Wirtschaftsunternehmens berechnet und ermöglicht eine eindeutige - Zuordnung des Bürgers zum Wirtschaftsunternehmen.
+
(*): Das wirtschaftsbereichsspezifische Personenkennzeichen (wbPK) wird aus den + jeweiligen Stammzahlen des Bürgers und des Wirtschaftsunternehmens berechnet und ermöglicht eine eindeutige Zuordnung des Bürgers zum + Wirtschaftsunternehmen.
+
+ +
(**): Der eHealth Professional Identifier (HPI) wird aus den jeweiligen + Stammzahlen der Gesundheitsdiensteanbieterinnen / Gesundheitsdiensteanbieter berechnet und ermöglicht eine eindeutige Zuordnung der + Gesundheitsdiensteanbieterin / des Gesundheitsdiensteanbieters im Gesundheitsbereich.
+
+ +
(***): Object Identifier (OID) sind standardisierte Objekt-Bezeichner und + beschreiben eindeutig die Rollen des GDA-Token Inhabers.
diff --git a/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Test-Sig-02.20041227-20141201.SerNo00b5ac.cer b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Test-Sig-02.20041227-20141201.SerNo00b5ac.cer new file mode 100644 index 000000000..911640d0e Binary files /dev/null and b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-Premium-Test-Sig-02.20041227-20141201.SerNo00b5ac.cer differ diff --git a/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-TEST-Qual-01a.20041117-20141117.SerNo00da88.cer b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-TEST-Qual-01a.20041117-20141117.SerNo00da88.cer new file mode 100644 index 000000000..cac44093a Binary files /dev/null and b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-TEST-Qual-01a.20041117-20141117.SerNo00da88.cer differ diff --git a/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-TEST-nQual-01a.20041117-20080630.SerNo00da8b.cer b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-TEST-nQual-01a.20041117-20080630.SerNo00da8b.cer new file mode 100644 index 000000000..32893db7f Binary files /dev/null and b/id/server/data/deploy/conf/moa-spss/trustProfiles/MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten/a-sign-TEST-nQual-01a.20041117-20080630.SerNo00da8b.cer differ diff --git a/id/server/data/deploy/tomcat/server.mod_jk.xml b/id/server/data/deploy/tomcat/server.mod_jk.xml deleted file mode 100644 index b32cf7844..000000000 --- a/id/server/data/deploy/tomcat/server.mod_jk.xml +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/id/server/data/deploy/tomcat/server.xml b/id/server/data/deploy/tomcat/server.xml deleted file mode 100644 index 2fd7b6439..000000000 --- a/id/server/data/deploy/tomcat/server.xml +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/id/server/data/deploy/tomcat/tomcat-4.1.x/server.mod_jk.xml b/id/server/data/deploy/tomcat/tomcat-4.1.x/server.mod_jk.xml new file mode 100644 index 000000000..30770b5bf --- /dev/null +++ b/id/server/data/deploy/tomcat/tomcat-4.1.x/server.mod_jk.xml @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/id/server/data/deploy/tomcat/tomcat-4.1.x/server.xml b/id/server/data/deploy/tomcat/tomcat-4.1.x/server.xml new file mode 100644 index 000000000..b259d2dec --- /dev/null +++ b/id/server/data/deploy/tomcat/tomcat-4.1.x/server.xml @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/id/server/data/deploy/tomcat/tomcat-5.0.x/server.mod_jk.xml b/id/server/data/deploy/tomcat/tomcat-5.0.x/server.mod_jk.xml new file mode 100644 index 000000000..bbc375984 --- /dev/null +++ b/id/server/data/deploy/tomcat/tomcat-5.0.x/server.mod_jk.xml @@ -0,0 +1,386 @@ + + + + + + + + + + + + + + + + + + + + + + + + + factory + org.apache.catalina.users.MemoryUserDatabaseFactory + + + pathname + conf/tomcat-users.xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/id/server/data/deploy/tomcat/tomcat-5.0.x/server.xml b/id/server/data/deploy/tomcat/tomcat-5.0.x/server.xml new file mode 100644 index 000000000..9b86b38ca --- /dev/null +++ b/id/server/data/deploy/tomcat/tomcat-5.0.x/server.xml @@ -0,0 +1,388 @@ + + + + + + + + + + + + + + + + + + + + + + + + + factory + org.apache.catalina.users.MemoryUserDatabaseFactory + + + pathname + conf/tomcat-users.xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/id/server/doc/MOA-ID-Configuration-1.4.2.xsd b/id/server/doc/MOA-ID-Configuration-1.4.2.xsd new file mode 100644 index 000000000..5a87e3fde --- /dev/null +++ b/id/server/doc/MOA-ID-Configuration-1.4.2.xsd @@ -0,0 +1,506 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + enthält Parameter der + Authentisierungs-Komponente + + + + + enthält Konfigurationsparameter der + Proxy-Komponente + + + + + + enthält Parameter für die Kommunikation zw. + Proxykomponente und Authenttisierungskomponente + + + + + + enthält Parameter für die SOAP-Verbindung von der + Proxy-Komponente zur Auth-Komponente (vgl. + AuthComponent/MOA-SP/ConnectionParameter) + + + + + + + + + + + enthält Parameter für die OA + + + + + + + + + + + + + + + + + + + + + + spezifiziert den Algorithmus ("pkix" oder "chaining") für die + Zertifikatspfadvalidierung + + + + + + ein vom SystemDefaultMode abweichender ChiningMode kann + für jeden TrustAnchor gesetzt werden + + + + + + + + + + + + + + + + verweist auf ein Verzeichnis, das vertrauenswürdige CA + (Zwischen-CA, Wurzel-CA) Zertifikate enthält. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + enthält Parameter für die Kommunikation mit dem + Security-Layer + + + + + + + + + + enthält Konfiguratiosnparameter für die Kommunikation mit dem MOA + SP Modul + + + + + + enthält Parameter für die SOAP-Verbindung von der + AUTH-Komponente zu MOA-SP; das Attribut URL enthält den Endpunkt des Server; + wird das Schema "https" verwendet müssen die Kind-Elemente angegeben werden; + wird das Schema "http" verwendet dürfen keine Kind-Elemente angegeben + werden; wird das Element nicht verwendet dann wird MOA-SP über das API + aufgerufen + + + + + enthält Parameter für die Überprüfung der + Personenbindung + + + + + + + + + + enthält Parameter für die Überprüfung des + AUTH-Blocks + + + + + + + + + + + + + + enthält Informationen über akzeptierte Signers des + IdentityLinks + + + + + + akzeptierte Signer des IdentityLinks werden per + X509SubjectName (Kodierung nach RFC 2253) identifiziert + + + + + + + + enthält Defaultparameter für die Überprüfung weiterer Infoboxen + + + + + + + das Attribut filename verweist auf eine Datei mit globalem + Element TransformsInfo vom Typ sl10:TransformsInfo; diese TransformsInfo + werden in den CreateXMLSignatureRequest für die Signatur des AUTH-Blocks + inkludiert + + + + + + + + + + + + + das Attribut URL spezifiziert die Lage des Templates + + + + + + Verifikation zusätzlicher Infoboxen + + + + + Optionales DefaultTrustprofil für die Überprüfung aller weiteren Infoboxen + + + + + + + + + + Parameter für Überprüfung weiterer Infoboxen + + + + + + optionalervName, der für Fehlermeldungen verwendet werden soll; + z.B.: "Stellvertretungen" für "Mandates"; fehlt dieser Parameter, dann wird + das Identifier-Attribut verwendet + + + + + TrustProfil, das für die Überprüfung der Infobox + verwendet werden soll + + + + + Validatorklasse, die für die Prüfung der Infobox + verwendet werden soll; muss gesetzt werden, wenn Package- und Klassenname + vom Default Package- und Klassennamen abweichen + + + + + + Infobox spezifische Parameter, die der jeweiligen Prüfapplikation + übergeben werden + + + + + + + + + + + + + + + + + + + Spezifiziert die Lage von XML Schemas + + + + + + + + + + + + + + + + enthält Parameter über die OA, die die + Authentisierungs-Komponente betreffen + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + enthält Parameter über die OA, die die Proxy-Komponente + betreffen + + + + + + enthält Parameter über die OA, die die Proxy-Komponente + betreffen + + + + + + + + + + + + + + + + + + URL zu einem Verzeichnis, das akzeptierte Server-Zertifikate der + TLS-Verbindung enthält (keine CA-Zertifikate) + + + + + + + + + + + + URL zu einem KeyStore, der den privaten Schlüssel, der für + die TLS-Client-Authentisierung verwendetwird, enthält + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/id/server/doc/MOA-Testzertifikate.vsd b/id/server/doc/MOA-Testzertifikate.vsd new file mode 100644 index 000000000..c36051c04 Binary files /dev/null and b/id/server/doc/MOA-Testzertifikate.vsd differ diff --git a/id/server/doc/moa_id/id-admin_1.htm b/id/server/doc/moa_id/id-admin_1.htm index d289f7929..173e3012a 100644 --- a/id/server/doc/moa_id/id-admin_1.htm +++ b/id/server/doc/moa_id/id-admin_1.htm @@ -140,8 +140,8 @@ Unterschiede sind in der Installationsanweisung angeführt. Minimale Konfiguration
Die zentrale Konfigurations-Datei von Tomcat ist $CATALINA_HOME/conf/server.xml. Tomcat wird grundsätzlich mit einer funktionierenden Default-Konfiguration ausgeliefert, die jedoch einiges an Ballast enthält und viele Ports -offen lässt. Die Datei $MOA_ID_INST_AUTH/tomcat/server.xml (bzw. $MOA_ID_INST_PROXY/tomcat/server.xml) enthält eine minimale -Tomcat-Konfiguration, die je einen Connector für HTTP und für HTTPS freischaltet.

+offen lässt. Die Datei server.xml im Verzeichnis mit der Versionsnummer des verwendeten Tomcats unter $MOA_ID_INST_AUTH/tomcat (bzw. $MOA_ID_INST_PROXY/tomcat) enthält eine minimale +Tomcat-Konfiguration, die je einen Connector für HTTP und für HTTPS freischaltet. Die jeweilige Datei server.mod_jk.xml schaltet zusätzlich den AJP Connector Port für den Apache Webserver frei (falls diese Datei verwendet werden soll ist sie zuvor noch auf server.xml umzubenennen).

SSL
Für den sicheren Betrieb von MOA-ID-AUTH ist die Verwendung von SSL Voraussetzung, sofern nicht ein vorgelagerter WebServer (Apache oder IIS) das SSL-Handling übernimmt. Ebenso kann SSL auch für MOA-ID-PROXY verwendet werden. diff --git a/id/server/idserverlib/.classpath b/id/server/idserverlib/.classpath new file mode 100644 index 000000000..01edb156d --- /dev/null +++ b/id/server/idserverlib/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/id/server/idserverlib/.project b/id/server/idserverlib/.project new file mode 100644 index 000000000..b2e34e738 --- /dev/null +++ b/id/server/idserverlib/.project @@ -0,0 +1,36 @@ + + + moa-id-lib + + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.wst.validation.validationbuilder + + + + + org.maven.ide.eclipse.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.maven.ide.eclipse.maven2Nature + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.eclipse.jem.workbench.JavaEMFNature + + diff --git a/id/server/idserverlib/pom.xml b/id/server/idserverlib/pom.xml index d313e1eb0..93d61588c 100644 --- a/id/server/idserverlib/pom.xml +++ b/id/server/idserverlib/pom.xml @@ -1,175 +1,189 @@ - - - MOA.id - moa-id - 1.4.2beta1 - - - 4.0.0 - MOA.id.server - moa-id-lib - jar - 1.4.2beta1 - MOA ID API - - - ${basedir}/../../../repository - - - - - MOA - moa-common - jar - - - MOA - moa-common - test-jar - test - - - MOA.spss.server - moa-spss-lib - - - - axis - axis - 1.4 - - - javax.mail - mail - - - javax.servlet - servlet-api - provided - - - xerces - xercesImpl - - - xalan-bin-dist - xml-apis - - - xalan-bin-dist - xalan - - - xalan-bin-dist - serializer - - - junit - junit - test - - - commons-logging - commons-logging - - - commons-discovery - commons-discovery - - - commons-fileupload - commons-fileupload - - - dav4j - dav4j - - - httpsclient - httpsclient - - - iaik.prod - iaik_moa - - - iaik.prod - iaik_ecc - - - iaik.prod - iaik_jce_full - provided - - - iaik.prod - iaik_ixsil - - - iaik.prod - iaik_X509TrustManager - - - regexp - regexp - - - - - - - org.apache.maven.plugins - maven-jar-plugin - - - false - - - - - - test-jar - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 2.2 - - true - false - false - true - - at.gv.egovernment.moa.spss.server.*;at.gv.egovernment.moa.spss.api.impl.*;at.gv.egovernment.moa.spss.impl.* - - - - pre - a - Preconditions: - - - post - a - Postconditions: - - - http://java.sun.com/j2se/1.4/docs/api/ - - - - generate-javadoc - package - - jar - - - - - - - - + + + MOA.id + moa-id + 1.4.2beta2 + + + 4.0.0 + MOA.id.server + moa-id-lib + jar + 1.4.2beta2 + MOA ID API + + + ${basedir}/../../../repository + + + + + MOA + moa-common + jar + + + MOA + moa-common + test-jar + test + + + MOA.spss.server + moa-spss-lib + + + + axis + axis + 1.4 + + + javax.mail + mail + + + javax.servlet + servlet-api + provided + + + xerces + xercesImpl + + + xalan-bin-dist + xml-apis + + + xalan-bin-dist + xalan + + + xalan-bin-dist + serializer + + + junit + junit + test + + + commons-logging + commons-logging + + + commons-discovery + commons-discovery + + + commons-fileupload + commons-fileupload + + + commons-httpclient + commons-httpclient + + + dav4j + dav4j + + + httpsclient + httpsclient + + + iaik.prod + iaik_moa + + + iaik.prod + iaik_ecc + + + iaik.prod + iaik_jce_full + provided + + + iaik.prod + iaik_ixsil + + + iaik.prod + iaik_X509TrustManager + + + regexp + regexp + + + commons-httpclient + commons-httpclient + 2.0.2 + + + at.gv.egovernment.moa.id + mandate-validate + 1.0 + + + + + + + org.apache.maven.plugins + maven-jar-plugin + + + false + + + + + + test-jar + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.2 + + true + false + false + true + + at.gv.egovernment.moa.spss.server.*;at.gv.egovernment.moa.spss.api.impl.*;at.gv.egovernment.moa.spss.impl.* + + + + pre + a + Preconditions: + + + post + a + Postconditions: + + + http://java.sun.com/j2se/1.4/docs/api/ + + + + generate-javadoc + package + + jar + + + + + + + + diff --git a/id/server/idserverlib/src/main/java/META-INF/MANIFEST.MF b/id/server/idserverlib/src/main/java/META-INF/MANIFEST.MF new file mode 100644 index 000000000..5e9495128 --- /dev/null +++ b/id/server/idserverlib/src/main/java/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java index 5f4ec2d29..75197943f 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java @@ -3,6 +3,8 @@ package at.gv.egovernment.moa.id.auth; import iaik.pki.PKIException; import iaik.x509.X509Certificate; +import java.io.File; +import java.io.FileOutputStream; import java.io.IOException; import java.security.GeneralSecurityException; import java.util.Calendar; @@ -55,6 +57,9 @@ import at.gv.egovernment.moa.id.auth.validator.IdentityLinkValidator; import at.gv.egovernment.moa.id.auth.validator.InfoboxValidator; import at.gv.egovernment.moa.id.auth.validator.ValidateException; import at.gv.egovernment.moa.id.auth.validator.VerifyXMLSignatureResponseValidator; +import at.gv.egovernment.moa.id.auth.validator.parep.ParepUtils; +import at.gv.egovernment.moa.id.auth.validator.parep.ParepValidator; +import at.gv.egovernment.moa.id.auth.validator.parep.config.ParepConfiguration; import at.gv.egovernment.moa.id.config.ConfigurationException; import at.gv.egovernment.moa.id.config.ConfigurationProvider; import at.gv.egovernment.moa.id.config.ConnectionParameter; @@ -312,7 +317,7 @@ public class AuthenticationServer implements MOAIDAuthConstants { session.setOAURLRequested(oaURL); session.setPublicOAURLPrefix(oaParam.getPublicURLPrefix()); session.setAuthURL(authURL); - session.setTemplateURL(templateURL); + session.setTemplateURL(templateURL); session.setBusinessService(oaParam.getBusinessService()); } // BKU URL has not been set yet, even if session already exists @@ -320,6 +325,7 @@ public class AuthenticationServer implements MOAIDAuthConstants { bkuURL = DEFAULT_BKU; } session.setBkuURL(bkuURL); + session.setDomainIdentifier(oaParam.getIdentityLinkDomainIdentifier()); String infoboxReadRequest = new InfoboxReadRequestBuilder().build(oaParam.getSlVersion12(), oaParam.getBusinessService(), @@ -350,6 +356,7 @@ public class AuthenticationServer implements MOAIDAuthConstants { VerifyInfoboxParameters verifyInfoboxParameters = oaParam.getVerifyInfoboxParameters(); if (verifyInfoboxParameters != null) { pushInfobox = verifyInfoboxParameters.getPushInfobox(); + session.setPushInfobox(pushInfobox); } String certInfoRequest = new CertInfoVerifyXMLSignatureRequestBuilder().build(oaParam.getSlVersion12()); String certInfoDataURL = @@ -448,6 +455,23 @@ public class AuthenticationServer implements MOAIDAuthConstants { session.setIdentityLink(identityLink); // now validate the extended infoboxes verifyInfoboxes(session, infoboxReadResponseParameters, !oaParam.getProvideStammzahl()); + + return getCreateXMLSignatureRequestAuthBlockOrRedirect(session, authConf, oaParam); + } + + public String getCreateXMLSignatureRequestAuthBlockOrRedirect(AuthenticationSession session, AuthConfigurationProvider authConf, OAAuthParameter oaParam) + throws + ConfigurationException, + BuildException, + ValidateException { + + // check for intermediate processing of the infoboxes + if (session.isValidatorInputPending()) return "Redirect to Input Processor"; + + if (authConf==null) authConf = AuthConfigurationProvider.getInstance(); + if (oaParam==null) oaParam = AuthConfigurationProvider.getInstance(). + getOnlineApplicationParameter(session.getPublicOAURLPrefix()); + // builds the AUTH-block String authBlock = buildAuthenticationBlock(session); // session.setAuthBlock(authBlock); @@ -456,7 +480,7 @@ public class AuthenticationServer implements MOAIDAuthConstants { if ((transformsInfos == null) || (transformsInfos.length == 0)) { // no OA specific transforms specified, use default ones transformsInfos = authConf.getTransformsInfos(); - } + } String createXMLSignatureRequest = new CreateXMLSignatureRequestBuilder().build(authBlock, oaParam.getKeyBoxIdentifier(), @@ -464,6 +488,7 @@ public class AuthenticationServer implements MOAIDAuthConstants { oaParam.getSlVersion12()); return createXMLSignatureRequest; } + /** * Builds an authentication block <saml:Assertion> from given session data. * @param session authentication session @@ -534,8 +559,8 @@ public class AuthenticationServer implements MOAIDAuthConstants { authConfigurationProvider.getOnlineApplicationParameter(session.getPublicOAURLPrefix()); VerifyInfoboxParameters verifyInfoboxParameters = oaParam.getVerifyInfoboxParameters(); if (verifyInfoboxParameters != null) { - Vector authAttributes = new Vector(); - Vector oaAttributes = new Vector(); + session.setExtendedSAMLAttributesAUTH(new Vector()); // Initialize SAML Attributes + session.setExtendedSAMLAttributesOA(new Vector()); infoboxParameters = verifyInfoboxParameters.getInfoboxParameters(); // get the list of infobox identifiers List identifiers = verifyInfoboxParameters.getIdentifiers(); @@ -563,10 +588,46 @@ public class AuthenticationServer implements MOAIDAuthConstants { throw new ValidateException("validator.41", new Object[] {identifier}); } else { String friendlyName = verifyInfoboxParameter.getFriendlyName(); + boolean isParepRequest = false; + + // parse the infobox read reponse + List infoboxTokenList = null; + try { + infoboxTokenList = + ExtendedInfoboxReadResponseParser.parseInfoboxReadResponse(infoboxReadResponse, friendlyName); + } catch (ParseException e) { + Logger.error("InfoboxReadResponse for \"" + identifier + + "\"-infobox could not be parsed successfully: " + e.getMessage()); + throw new ValidateException("validator.43", new Object[] {friendlyName}); + } + // check for party representation in mandates infobox + if (Constants.INFOBOXIDENTIFIER_MANDATES.equalsIgnoreCase(identifier) && !((infoboxTokenList == null || infoboxTokenList.size() == 0))){ + session.setMandateCompatibilityMode(ParepConfiguration.isMandateCompatibilityMode(verifyInfoboxParameter.getApplicationSpecificParams())); + Element mandate = ParepValidator.extractPrimaryToken(infoboxTokenList); + //ParepUtils.serializeElement(mandate, System.out); + String mandateID = ParepUtils.extractRepresentativeID(mandate); + if (!isEmpty(mandateID) && + ("*".equals(mandateID) || mandateID.startsWith(MOAIDAuthConstants.PARTY_REPRESENTATION_OID_NUMBER))) { + isParepRequest = true; + } + if (!isParepRequest) { + //if mandates validator is disabled we must throw an error in this case + if (!ParepUtils.isValidatorEnabled(verifyInfoboxParameter.getApplicationSpecificParams())) { + throw new ValidateException("validator.60", new Object[] {friendlyName}); + } + } + } + // get the class for validating the infobox InfoboxValidator infoboxValidator = null; try { - Class validatorClass = Class.forName(verifyInfoboxParameter.getValidatorClassName()); + Class validatorClass = null; + if (isParepRequest) { + // Mandates infobox in party representation mode + validatorClass = Class.forName("at.gv.egovernment.moa.id.auth.validator.parep.ParepValidator"); + } else { + validatorClass = Class.forName(verifyInfoboxParameter.getValidatorClassName()); + } infoboxValidator = (InfoboxValidator) validatorClass.newInstance(); } catch (Exception e) { Logger.error("Could not load validator class \"" + verifyInfoboxParameter.getValidatorClassName() + @@ -575,20 +636,11 @@ public class AuthenticationServer implements MOAIDAuthConstants { } Logger.debug("Successfully loaded validator class \"" + verifyInfoboxParameter.getValidatorClassName() + "\" for \"" + identifier + "\"-infobox."); - // parse the infobox read reponse - List infoboxTokenList = null; - try { - infoboxTokenList = - ExtendedInfoboxReadResponseParser.parseInfoboxReadResponse(infoboxReadResponse, friendlyName); - } catch (ParseException e) { - Logger.error("InfoboxReadResponse for \"" + identifier + - "\"-infobox could not be parsed successfully: " + e.getMessage()); - throw new ValidateException("validator.43", new Object[] {friendlyName}); - } // build the parameters for validating the infobox InfoboxValidatorParams infoboxValidatorParams = InfoboxValidatorParamsBuilder.buildInfoboxValidatorParams( - session, verifyInfoboxParameter, infoboxTokenList, hideStammzahl); + session, verifyInfoboxParameter, infoboxTokenList, oaParam); + // now validate the infobox InfoboxValidationResult infoboxValidationResult = null; try { @@ -605,88 +657,137 @@ public class AuthenticationServer implements MOAIDAuthConstants { } Logger.info(identifier + " infobox successfully validated."); + // store the validator for post processing + session.addInfoboxValidator(identifier, friendlyName, infoboxValidator); // get the SAML attributes to be appended to the AUTHBlock or to the final // SAML Assertion - ExtendedSAMLAttribute[] extendedSAMLAttributes = infoboxValidationResult.getExtendedSamlAttributes(); - if (extendedSAMLAttributes != null) { - int length = extendedSAMLAttributes.length; - for (int i=0; i<CreateXMLSignatureResponse>
sent by the * security layer implementation.
@@ -728,7 +829,7 @@ public class AuthenticationServer implements MOAIDAuthConstants { AuthConfigurationProvider authConf = AuthConfigurationProvider.getInstance(); // parses CreateXMLSignatureResponse csresp = - new CreateXMLSignatureResponseParser(xmlCreateXMLSignatureReadResponse).parseResponse(); + new CreateXMLSignatureResponseParser(xmlCreateXMLSignatureReadResponse).parseResponse(); try { String serializedAssertion = DOMUtils.serializeNode(csresp.getSamlAssertion()); session.setAuthBlock(serializedAssertion); @@ -768,11 +869,103 @@ public class AuthenticationServer implements MOAIDAuthConstants { vsresp, session.getIdentityLink()); + // post processing of the infoboxes + Iterator iter = session.getInfoboxValidatorIterator(); + boolean formpending = false; + if (iter != null) { + while (!formpending && iter.hasNext()) { + Vector infoboxValidatorVector = (Vector) iter.next(); + String identifier = (String) infoboxValidatorVector.get(0); + String friendlyName = (String) infoboxValidatorVector.get(1); + InfoboxValidator infoboxvalidator = (InfoboxValidator) infoboxValidatorVector.get(2); + InfoboxValidationResult infoboxValidationResult = null; + try { + infoboxValidationResult = infoboxvalidator.validate(csresp.getSamlAssertion()); + } catch (ValidateException e) { + Logger.error("Error validating " + identifier + " infobox:" + e.getMessage()); + throw new ValidateException( + "validator.44", new Object[] {friendlyName}); + } + if (!infoboxValidationResult.isValid()) { + Logger.info("Validation of " + identifier + " infobox failed."); + throw new ValidateException( + "validator.40", new Object[] {friendlyName, infoboxValidationResult.getErrorMessage()}); + } + String form = infoboxvalidator.getForm(); + if (ParepUtils.isEmpty(form)) { + AddAdditionalSAMLAttributes(session, infoboxValidationResult.getExtendedSamlAttributes(), identifier, friendlyName); + } else { + return "Redirect to Input Processor"; + } + } + } + + // Exchange person data information by a mandate if needed + List oaAttributes = session.getExtendedSAMLAttributesOA(); + IdentityLink replacementIdentityLink = null; + if (session.isMandateCompatibilityMode() && oaAttributes != null && oaAttributes.size()>0) { + // look if we have a mandate + boolean foundMandate = false; + Iterator it = oaAttributes.iterator(); + while (!foundMandate && it.hasNext()) { + ExtendedSAMLAttribute samlAttribute = (ExtendedSAMLAttribute)it.next(); + if (ParepValidator.EXT_SAML_MANDATE_RAW.equals(samlAttribute.getName())) { + Object value = samlAttribute.getValue(); + if (value instanceof Element) { + Element mandate = (Element) value; + replacementIdentityLink = new IdentityLink(); + Element mandator = ParepUtils.extractMandator(mandate); + String dateOfBirth = ""; + Element prPerson = null; + String familyName = ""; + String givenName = ""; + String identificationType = ""; + String identificationValue = ""; + if (mandator != null) { + boolean physical = ParepUtils.isPhysicalPerson(mandator); + if (physical) { + familyName = ParepUtils.extractText(mandator, "descendant-or-self::pr:Name/pr:FamilyName/text()"); + givenName = ParepUtils.extractText(mandator, "descendant-or-self::pr:Name/pr:GivenName/text()"); + dateOfBirth = ParepUtils.extractMandatorDateOfBirth(mandator); + } else { + familyName = ParepUtils.extractMandatorFullName(mandator); + } + identificationType = ParepUtils.getIdentification(mandator, "Type"); + identificationValue = ParepUtils.extractMandatorWbpk(mandator); + prPerson = ParepUtils.extractPrPersonOfMandate(mandate); + if (physical && session.getBusinessService() && identificationType!=null && Constants.URN_PREFIX_BASEID.equals(identificationType)) { + // now we calculate the wbPK and do so if we got it from the BKU + identificationType = Constants.URN_PREFIX_WBPK + "+" + session.getDomainIdentifier(); + identificationValue = new BPKBuilder().buildWBPK(identificationValue, session.getDomainIdentifier()); + ParepUtils.HideStammZahlen(prPerson, true, null, null, true); + } + + } + replacementIdentityLink.setDateOfBirth(dateOfBirth); + replacementIdentityLink.setFamilyName(familyName); + replacementIdentityLink.setGivenName(givenName); + replacementIdentityLink.setIdentificationType(identificationType); + replacementIdentityLink.setIdentificationValue(identificationValue); + replacementIdentityLink.setPrPerson(prPerson); + try { + replacementIdentityLink.setSamlAssertion(session.getIdentityLink().getSamlAssertion()); + } catch (Exception e) { + throw new ValidateException("validator.64", null); + } + } else { + Logger.info("The type of Mandate SAML-Attribute is not \"org.w3c.dom.Element\""); + throw new ValidateException("validator.64", null); + } + } + } + } + // builds authentication data and stores it together with a SAML artifact - AuthenticationData authData = buildAuthenticationData(session, vsresp); + AuthenticationData authData = buildAuthenticationData(session, vsresp, replacementIdentityLink); String samlArtifact = new SAMLArtifactBuilder().build(session.getAuthURL(), session.getSessionID()); storeAuthenticationData(samlArtifact, authData); + // invalidates the authentication session sessionStore.remove(sessionID); Logger.info( @@ -790,10 +983,18 @@ public class AuthenticationServer implements MOAIDAuthConstants { */ private AuthenticationData buildAuthenticationData( AuthenticationSession session, - VerifyXMLSignatureResponse verifyXMLSigResp) + VerifyXMLSignatureResponse verifyXMLSigResp, + IdentityLink replacementIdentityLink) throws ConfigurationException, BuildException { - IdentityLink identityLink = session.getIdentityLink(); + IdentityLink identityLink; + if (replacementIdentityLink == null) { + identityLink = session.getIdentityLink(); + } else { + // We have got data form a mandate we need now to use to stay compatible with applications + identityLink = replacementIdentityLink; + } + AuthenticationData authData = new AuthenticationData(); OAAuthParameter oaParam = AuthConfigurationProvider.getInstance().getOnlineApplicationParameter( @@ -804,7 +1005,6 @@ public class AuthenticationServer implements MOAIDAuthConstants { authData.setAssertionID(Random.nextRandom()); authData.setIssuer(session.getAuthURL()); authData.setIssueInstant(DateTimeUtils.buildDateTime(Calendar.getInstance())); - authData.setIdentificationType(identityLink.getIdentificationType()); authData.setGivenName(identityLink.getGivenName()); authData.setFamilyName(identityLink.getFamilyName()); @@ -817,7 +1017,7 @@ public class AuthenticationServer implements MOAIDAuthConstants { if (provideStammzahl) { authData.setIdentificationValue(identityLink.getIdentificationValue()); } - String prPerson = new PersonDataBuilder().build(identityLink, provideStammzahl); + String prPerson = new PersonDataBuilder().build(identityLink, provideStammzahl); try { String signerCertificateBase64 = ""; if (oaParam.getProvideCertifcate()) { @@ -832,12 +1032,14 @@ public class AuthenticationServer implements MOAIDAuthConstants { if (businessService) { authData.setWBPK(identityLink.getIdentificationValue()); } else { - // only compute bPK if online applcation is a public service - String bpkBase64 = - new BPKBuilder().buildBPK( - identityLink.getIdentificationValue(), - session.getTarget()); - authData.setBPK(bpkBase64); + authData.setBPK(identityLink.getIdentificationValue()); + if (identityLink.getIdentificationType().equals(Constants.URN_PREFIX_BASEID)) { + // only compute bPK if online applcation is a public service and we have the Stammzahl + String bpkBase64 = new BPKBuilder().buildBPK( + identityLink.getIdentificationValue(), + session.getTarget()); + authData.setBPK(bpkBase64); + } } String ilAssertion = oaParam.getProvideIdentityLink() @@ -858,6 +1060,10 @@ public class AuthenticationServer implements MOAIDAuthConstants { businessService, session.getExtendedSAMLAttributesOA()); authData.setSamlAssertion(samlAssertion); + + + //ParepUtils.saveStringToFile(samlAssertion, new File("c:/saml_assertion.xml")); + return authData; } catch (Throwable ex) { throw new BuildException( @@ -1015,5 +1221,42 @@ public class AuthenticationServer implements MOAIDAuthConstants { return param == null || param.length() == 0; } - + /** + * Checks the correctness of SAML attributes and returns its value. + * @param param samlAttribute + * @param i the number of the verified attribute for messages + * @param identifier the infobox identifier for messages + * @param friendlyname the friendly name of the infobox for messages + * @return the SAML attribute value (Element or String) + */ + private static Object verifySAMLAttribute(ExtendedSAMLAttribute samlAttribute, int i, String identifier, String friendlyName) + throws ValidateException{ + String name = samlAttribute.getName(); + if (name == null) { + Logger.info("The name of SAML-Attribute number " + (i+1) + " returned from " + + identifier + "-infobox validator is null."); + throw new ValidateException( + "validator.45", new Object[] {friendlyName, "Name", String.valueOf((i+1)), "null"}); + } + if (name == "") { + Logger.info("The name of SAML-Attribute number " + (i+1) + " returned from " + + identifier + "-infobox validator is empty."); + throw new ValidateException( + "validator.45", new Object[] {friendlyName, "Name", String.valueOf((i+1)), "leer"}); + } + if (samlAttribute.getNameSpace() == null) { + Logger.info("The namespace of SAML-Attribute number " + (i+1) + " returned from " + + identifier + "-infobox validator is null."); + throw new ValidateException( + "validator.45", new Object[] {friendlyName, "Namespace", String.valueOf((i+1)), "null"}); + } + Object value = samlAttribute.getValue(); + if (value == null) { + Logger.info("The value of SAML-Attribute number " + (i+1) + " returned from " + + identifier + "-infobox validator is null."); + throw new ValidateException( + "validator.45", new Object[] {friendlyName ,"Wert", String.valueOf((i+1)), "null"}); + } + return value; + } } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthConstants.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthConstants.java index 43e88e7b5..4f9235949 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthConstants.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthConstants.java @@ -19,6 +19,8 @@ public interface MOAIDAuthConstants { public static final String PARAM_BKU = "bkuURI"; /** servlet parameter "BKUSelectionTemplate" */ public static final String PARAM_BKUTEMPLATE = "BKUSelectionTemplate"; + /** servlet parameter "BKUSelectionTemplate" */ + public static final String PARAM_INPUT_PROCESSOR_SIGN_TEMPLATE = "InputProcessorSignTemplate"; /** default BKU URL */ public static final String DEFAULT_BKU = "http://localhost:3495/http-security-layer-request"; /** servlet parameter "returnURI" */ @@ -35,6 +37,8 @@ public interface MOAIDAuthConstants { public static final String REQ_START_AUTHENTICATION = "StartAuthentication"; /** Request name {@link at.gv.egovernment.moa.id.auth.servlet.VerifyIdentityLinkServlet} is mapped to */ public static final String REQ_VERIFY_IDENTITY_LINK = "VerifyIdentityLink"; + /** Request name {@link at.gv.egovernment.moa.id.auth.servlet.ProcessValidatorInputServlet} is mapped to */ + public static final String REQ_PROCESS_VALIDATOR_INPUT = "ProcessInput"; /** Request name {@link at.gv.egovernment.moa.id.auth.servlet.VerifyAuthenticationBlockServlet} is mapped to */ public static final String REQ_VERIFY_AUTH_BLOCK = "VerifyAuthBlock"; /** Logging hierarchy used for controlling debug output of XML structures to files */ @@ -62,14 +66,16 @@ public interface MOAIDAuthConstants { public static final String[] IDENTITY_LINK_SIGNERS_WITHOUT_OID = new String[] {"T=Dr.,CN=Nikolaus Schwab,O=BM f. Inneres i.A. des gf. Mitgieds der Datenschutzkommission", "T=Dr.,CN=Nikolaus Schwab,O=BM f. Inneres i.A. des gf. Mitglieds der Datenschutzkommission"}; - /** - * the number of the certifcate extension "Eigenschaft zur Ausstellung von Personenbindungen" - */ + /** the number of the certifcate extension "Eigenschaft zur Ausstellung von Personenbindungen" */ public static final String IDENTITY_LINK_SIGNER_OID_NUMBER = "1.2.40.0.10.1.7.1"; /** * the OID of the identity link signer certificate (Eigenschaft zur Ausstellung von Personenbindungen); * used for checking the authorisation for signing the identity link for identity links signed after february 19th 2007 */ public static final ObjectID IDENTITY_LINK_SIGNER_OID = new ObjectID(IDENTITY_LINK_SIGNER_OID_NUMBER); + /** the number of the certifcate extension for party representatives */ + public static final String PARTY_REPRESENTATION_OID_NUMBER = "1.2.40.0.10.3"; + /** the number of the certifcate extension for party organ representatives */ + public static final String PARTY_ORGAN_REPRESENTATION_OID_NUMBER = PARTY_REPRESENTATION_OID_NUMBER + ".10"; } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataAssertionBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataAssertionBuilder.java index 53520c846..11628517e 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataAssertionBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataAssertionBuilder.java @@ -126,6 +126,7 @@ public class AuthenticationDataAssertionBuilder extends AuthenticationAssertionB pkValue = authData.getWBPK(); } else { + // always has the bPK as type/value pkType = URN_PREFIX_BPK; pkValue = authData.getBPK(); } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/BPKBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/BPKBuilder.java index 6cc8c1be8..cc228298b 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/BPKBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/BPKBuilder.java @@ -42,7 +42,37 @@ public class BPKBuilder { String hashBase64 = Base64Utils.encode(hash); return hashBase64; } catch (Exception ex) { - throw new BuildException("builder.00", new Object[] {"BPK", ex.toString()}, ex); + throw new BuildException("builder.00", new Object[] {"bPK", ex.toString()}, ex); + } + } + + /** + * Builds the wbPK from the given parameters. + * @param identificationValue Base64 encoded "Stammzahl" + * @param registerAndOrdNr type of register + "+" + number in register. + * @return wbPK in a BASE64 encoding + * @throws BuildException if an error occurs on building the wbPK + */ + public String buildWBPK(String identificationValue, String registerAndOrdNr) + throws BuildException { + + if ((identificationValue == null || + identificationValue.length() == 0 || + registerAndOrdNr == null || + registerAndOrdNr.length() == 0)) + { + throw new BuildException("builder.00", + new Object[] {"wbPK", "Unvollständige Parameterangaben: identificationValue=" + + identificationValue + ",Register+Registernummer=" + registerAndOrdNr}); + } + String basisbegriff = identificationValue + "+" + Constants.URN_PREFIX_WBPK + "+" + registerAndOrdNr; + try { + MessageDigest md = MessageDigest.getInstance("SHA-1"); + byte[] hash = md.digest(basisbegriff.getBytes("ISO-8859-1")); + String hashBase64 = Base64Utils.encode(hash); + return hashBase64; + } catch (Exception ex) { + throw new BuildException("builder.00", new Object[] {"wbPK", ex.toString()}, ex); } } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/GetVerifyAuthBlockFormBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/GetVerifyAuthBlockFormBuilder.java new file mode 100644 index 000000000..c053ee896 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/GetVerifyAuthBlockFormBuilder.java @@ -0,0 +1,86 @@ +package at.gv.egovernment.moa.id.auth.builder; + +import java.io.IOException; +import java.io.StringReader; +import java.io.StringWriter; + +import at.gv.egovernment.moa.id.BuildException; + +/** + * Builder for HTML form requesting a security layer request + * + * @author Peter Danner + * @version $Id: GetIdentityLinkFormBuilder.java 769 2007-01-10 15:37:52Z peter.danner $ + */ +public class GetVerifyAuthBlockFormBuilder extends Builder { + /** private static String NL contains the NewLine representation in Java*/ + private static final String nl = "\n"; + /** special tag in the HTML template to be substituted for the BKU URL */ + private static final String BKU_TAG = ""; + /** special tag in the HTML template to be substituted for the XML request */ + private static final String XMLREQUEST_TAG = ""; + /** special tag in the HTML template to be substituted for the data URL */ + private static final String DATAURL_TAG = ""; + /** special tag in the HTML template to be substituted for the infoboxes to be pushed from the BKU */ + private static final String PUSHINFOBOX_TAG = ""; + /** private static int all contains the representation to replace all tags*/ + private static final int ALL = -1; + + /** default HTML template */ + private static final String DEFAULT_HTML_TEMPLATE = + "" + nl + + " " + nl + + " " + nl + + " Signatur der Anmeldedaten" + nl + + " " + nl + + " " + nl + + " " + nl + + "
" + nl + + " " + nl + + " " + nl + + " " + nl + + " " + nl + + "
" + nl + + " " + nl + + ""; + + /** + * Constructor for GetVerifyAuthBlockFormBuilder. + */ + public GetVerifyAuthBlockFormBuilder() { + super(); + } + /** + * Builds the HTML form, including XML Request and data URL as parameters. + * + * @param htmlTemplate template to be used for the HTML form; + * may be null, in this case a default layout will be produced + * @param xmlRequest XML Request to be sent as a parameter in the form + * @param bkuURL URL of the "Bürgerkartenumgebung" the form will be submitted to; + * may be null, in this case the default URL will be used + * @param dataURL DataURL to be sent as a parameter in the form + */ + public String build( + String htmlTemplate, + String bkuURL, + String xmlRequest, + String dataURL, + String pushInfobox) + throws BuildException + { + String htmlForm = htmlTemplate == null ? DEFAULT_HTML_TEMPLATE : htmlTemplate; + htmlForm = replaceTag(htmlForm, BKU_TAG, bkuURL, true, ALL); + htmlForm = replaceTag(htmlForm, XMLREQUEST_TAG, GetIdentityLinkFormBuilder.encodeParameter(xmlRequest), true, ALL); + htmlForm = replaceTag(htmlForm, DATAURL_TAG, dataURL, true, ALL); + if (null==pushInfobox) pushInfobox=""; + htmlForm = replaceTag(htmlForm, PUSHINFOBOX_TAG, pushInfobox, false, ALL); + return htmlForm; + } + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/InfoboxValidatorParamsBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/InfoboxValidatorParamsBuilder.java index 038e549be..e70b64a6a 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/InfoboxValidatorParamsBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/InfoboxValidatorParamsBuilder.java @@ -9,6 +9,7 @@ import at.gv.egovernment.moa.id.auth.data.IdentityLink; import at.gv.egovernment.moa.id.auth.data.InfoboxValidatorParams; import at.gv.egovernment.moa.id.auth.data.InfoboxValidatorParamsImpl; import at.gv.egovernment.moa.id.auth.parser.IdentityLinkAssertionParser; +import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; import at.gv.egovernment.moa.id.config.auth.VerifyInfoboxParameter; import at.gv.egovernment.moa.util.XPathUtils; @@ -30,9 +31,7 @@ public class InfoboxValidatorParamsBuilder { * @param session The actual Authentication session. * @param verifyInfoboxParameter The configuration parameters for the infobox. * @param infoboxTokenList Contains the infobox token to be validated. - * @param hideStammzahl Indicates whether source pins (Stammzahlen) - * should be hidden in any SAML attributes returned by - * an infobox validator. + * @param oaParam The configuration parameters of the online application * * @return Parameters for validating an infobox token. */ @@ -40,7 +39,7 @@ public class InfoboxValidatorParamsBuilder { AuthenticationSession session, VerifyInfoboxParameter verifyInfoboxParameter, List infoboxTokenList, - boolean hideStammzahl) + OAAuthParameter oaParam) { InfoboxValidatorParamsImpl infoboxValidatorParams = new InfoboxValidatorParamsImpl(); IdentityLink identityLink = session.getIdentityLink(); @@ -54,6 +53,7 @@ public class InfoboxValidatorParamsBuilder { // authentication session parameters infoboxValidatorParams.setBkuURL(session.getBkuURL()); infoboxValidatorParams.setTarget(session.getTarget()); + infoboxValidatorParams.setDomainIdentifier(oaParam.getIdentityLinkDomainIdentifier()); infoboxValidatorParams.setBusinessApplication(session.getBusinessService()); // parameters from the identity link infoboxValidatorParams.setFamilyName(identityLink.getFamilyName()); @@ -75,7 +75,7 @@ public class InfoboxValidatorParamsBuilder { } infoboxValidatorParams.setIdentityLink(identityLinkElem); } - infoboxValidatorParams.setHideStammzahl(hideStammzahl); + infoboxValidatorParams.setHideStammzahl(!oaParam.getProvideStammzahl()); return infoboxValidatorParams; } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java index 90d79a46d..946f0a9c4 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java @@ -1,8 +1,13 @@ package at.gv.egovernment.moa.id.auth.data; +import java.util.ArrayList; import java.util.Date; +import java.util.Iterator; import java.util.List; +import java.util.Vector; +import at.gv.egovernment.moa.id.auth.validator.InfoboxValidator; +import at.gv.egovernment.moa.id.auth.validator.parep.ParepUtils; import at.gv.egovernment.moa.logging.Logger; import at.gv.egovernment.moa.util.Constants; @@ -15,6 +20,7 @@ import at.gv.egovernment.moa.util.Constants; public class AuthenticationSession { private static String TARGET_PREFIX_ = Constants.URN_PREFIX_CDID + "+"; + private static String REGISTERANDORDNR_PREFIX_ = Constants.URN_PREFIX_WBPK + "+"; /** * session ID @@ -37,14 +43,14 @@ public class AuthenticationSession { * URL of MOA ID authentication component */ private String authURL; - /** - * HTML template URL - */ - private String templateURL; - /** - * URL of the BKU - */ - private String bkuURL; + /** + * HTML template URL + */ + private String templateURL; + /** + * URL of the BKU + */ + private String bkuURL; /** * identity link read from smartcard */ @@ -61,11 +67,11 @@ public class AuthenticationSession { * timestamp logging when identity link has been received */ private Date timestampIdentityLink; - /** - * Indicates whether the corresponding online application is a business - * service or not - */ - private boolean businessService; + /** + * Indicates whether the corresponding online application is a business + * service or not + */ + private boolean businessService; /** * SAML attributes from an extended infobox validation to be appended @@ -90,6 +96,33 @@ public class AuthenticationSession { */ private String issueInstant; + /** + * If infobox validators are needed after signing, they can be stored in + * this list. + */ + private List infoboxValidators; + + /** + * The register and number in the register parameter in case of a business + * service application. + */ + private String domainIdentifier; + + /** + * This string contains all identifiers of infoboxes, the online application + * is configured to accept. The infobox identifiers are comma separated. + */ + private String pushInfobox; + + /** + * AppSpecificConfiguration entry of then mandates infobox-validator. Tells + * whether person data from the representative have to be exchanged by data + * from the mandate + */ + private boolean mandateCompatibilityMode = false; + + + /** * Constructor for AuthenticationSession. * @@ -98,6 +131,7 @@ public class AuthenticationSession { public AuthenticationSession(String id) { sessionID = id; setTimestampStart(); + infoboxValidators = new ArrayList(); } /** @@ -380,4 +414,143 @@ public class AuthenticationSession { this.issueInstant = issueInstant; } + /** + * Returns the iterator to the stored infobox validators. + * @return Iterator + */ + public Iterator getInfoboxValidatorIterator() { + if (infoboxValidators==null) return null; + return infoboxValidators.iterator(); + } + + /** + * Adds an infobox validator class to the stored infobox validators. + * @param infoboxIdentifier the identifier of the infobox the validator belongs to + * @param infoboxFriendlyName the friendly name of the infobox + * @param infoboxValidator the infobox validator to add + */ + public Iterator addInfoboxValidator(String infoboxIdentifier, String infoboxFriendlyName, InfoboxValidator infoboxValidator) { + if (infoboxValidators==null) infoboxValidators = new ArrayList(); + Vector v = new Vector(3); + v.add(infoboxIdentifier); + v.add(infoboxFriendlyName); + v.add(infoboxValidator); + infoboxValidators.add(v); + return infoboxValidators.iterator(); + } + + /** + * Tests for pending input events of the infobox validators. + * @return true if a validator has a form to show + */ + public boolean isValidatorInputPending() { + boolean result = false; + Iterator iter = getInfoboxValidatorIterator(); + if (iter != null) { + while (!result && iter.hasNext()) { + Vector infoboxValidatorVector = (Vector) iter.next(); + InfoboxValidator infoboxvalidator = (InfoboxValidator) infoboxValidatorVector.get(2); + if (!ParepUtils.isEmpty(infoboxvalidator.getForm())) result=true; + } + } + return result; + } + + /** + * Returns the first pending infobox validator. + * @return the infobox validator class + */ + public InfoboxValidator getFirstPendingValidator() { + Iterator iter = getInfoboxValidatorIterator(); + if (iter != null) { + while (iter.hasNext()) { + Vector infoboxValidatorVector = (Vector) iter.next(); + InfoboxValidator infoboxvalidator = (InfoboxValidator) infoboxValidatorVector.get(2); + String form = infoboxvalidator.getForm(); + if (!ParepUtils.isEmpty(form)) return infoboxvalidator; + } + } + return null; + } + + /** + * Returns the input form of the first pending infobox validator input processor. + * @return the form to show + */ + public String getFirstValidatorInputForm() { + Iterator iter = getInfoboxValidatorIterator(); + if (iter != null) { + while (iter.hasNext()) { + Vector infoboxValidatorVector = (Vector) iter.next(); + InfoboxValidator infoboxvalidator = (InfoboxValidator) infoboxValidatorVector.get(2); + String form = infoboxvalidator.getForm(); + if (!ParepUtils.isEmpty(form)) return form; + } + } + return null; + } + + /** + * @return the mandateCompatibilityMode + */ + public boolean isMandateCompatibilityMode() { + return mandateCompatibilityMode; + } + + /** + * @param mandateCompatibilityMode the mandateCompatibilityMode to set + */ + public void setMandateCompatibilityMode(boolean mandateCompatibilityMode) { + this.mandateCompatibilityMode = mandateCompatibilityMode; + } + + /** + * Returns domain identifier (the register and number in the register parameter). + * null in the case of not a business service. + * + * @return the domainIdentifier + */ + public String getDomainIdentifier() { + return domainIdentifier; + } + + /** + * Sets the register and number in the register parameter if the application + * is a business service. + * If the domain identifier includes the registerAndOrdNr prefix, the prefix + * will be stripped off. + * + * @param domainIdentifier the domain identifier to set + */ + public void setDomainIdentifier(String domainIdentifier) { + if (domainIdentifier != null && domainIdentifier.startsWith(REGISTERANDORDNR_PREFIX_)) + { + // If domainIdentifier starts with prefix "urn:publicid:gv.at:wbpk+"; remove this prefix + this.domainIdentifier = domainIdentifier.substring(REGISTERANDORDNR_PREFIX_.length()); + Logger.debug("Register and ordernumber prefix stripped off; resulting register string: " + this.domainIdentifier); + } + else + { + this.domainIdentifier = domainIdentifier; + } + } + + /** + * Gets all identifiers of infoboxes, the online application + * is configured to accept. The infobox identifiers are comma separated. + * + * @return the string containing infobox identifiers + */ + public String getPushInfobox() { + if (pushInfobox==null) return ""; + return pushInfobox; + } + + /** + * @param pushInfobox the infobox identifiers to set (comma separated) + */ + public void setPushInfobox(String pushInfobox) { + this.pushInfobox = pushInfobox; + } + } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/InfoboxValidatorParams.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/InfoboxValidatorParams.java index c7a557290..01b9d9359 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/InfoboxValidatorParams.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/InfoboxValidatorParams.java @@ -62,6 +62,14 @@ public interface InfoboxValidatorParams { */ public String getTarget(); + /** + * Returns the register and number in the register parameter. + * null in the case of not a business service. + * + * @return The register and number in the register parameter. + */ + public String getDomainIdentifier(); + /** * Returns true if the application is a business * service, otherwise false. This may be useful diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/InfoboxValidatorParamsImpl.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/InfoboxValidatorParamsImpl.java index 80ba5995f..3747fa93b 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/InfoboxValidatorParamsImpl.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/InfoboxValidatorParamsImpl.java @@ -48,6 +48,11 @@ public class InfoboxValidatorParamsImpl implements InfoboxValidatorParams { */ protected String target_; + /** + * The domain identifier (register and number in the register parameter). + */ + protected String domainIdentifier_; + /** * The family name from the identity link. */ @@ -134,6 +139,13 @@ public class InfoboxValidatorParamsImpl implements InfoboxValidatorParams { return target_; } + /** + * @see at.gv.egovernment.moa.id.auth.data.InfoboxValidatorParams#getDomainIdentifier() + */ + public String getDomainIdentifier() { + return domainIdentifier_; + } + /** * @see at.gv.egovernment.moa.id.auth.data.InfoboxValidatorParams#getBusinessApplication() */ @@ -324,6 +336,15 @@ public class InfoboxValidatorParamsImpl implements InfoboxValidatorParams { public void setTarget(String target) { target_ = target; } + + /** + * Sets the domain identifier (register and number in the register parameter) + * + * @param domainIdentifier the domainIdentifier to set + */ + public void setDomainIdentifier(String domainIdentifier) { + this.domainIdentifier_ = domainIdentifier; + } /** * Sets the ID of the trust profile used for validating certificates. diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/ProcessValidatorInputServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/ProcessValidatorInputServlet.java new file mode 100644 index 000000000..df480b624 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/ProcessValidatorInputServlet.java @@ -0,0 +1,175 @@ +package at.gv.egovernment.moa.id.auth.servlet; + +import java.io.IOException; +import java.io.OutputStream; +import java.util.Map; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.fileupload.FileUploadException; + +import at.gv.egovernment.moa.id.AuthenticationException; +import at.gv.egovernment.moa.id.MOAIDException; +import at.gv.egovernment.moa.id.auth.AuthenticationServer; +import at.gv.egovernment.moa.id.auth.builder.DataURLBuilder; +import at.gv.egovernment.moa.id.auth.builder.GetVerifyAuthBlockFormBuilder; +import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.id.auth.validator.InfoboxValidator; +import at.gv.egovernment.moa.id.auth.validator.ValidateException; +import at.gv.egovernment.moa.id.auth.validator.parep.ParepUtils; +import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider; +import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; +import at.gv.egovernment.moa.logging.Logger; +import at.gv.egovernment.moa.util.FileUtils; + +/** + * Servlet requested for processing user input forms of infobox validators + * + * Utilizes the {@link AuthenticationServer}. + * + * @author Peter Danner + * @version $Id: ProcessValidatorInputServlet.java 769 2007-01-10 15:37:52Z peter.danner $ + */ +public class ProcessValidatorInputServlet extends AuthServlet { + + public static final long serialVersionUID = 1; + + /** + * Constructor for VerifyIdentityLinkServlet. + */ + public ProcessValidatorInputServlet() { + super(); + } + + /** + * Shows the user input forms of infobox validators + * + * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest, HttpServletResponse) + */ + protected void doGet(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + + Logger.debug("GET ProcessInput"); + Map parameters; + try { + parameters = getParameters(req); + } catch (FileUploadException e) { + Logger.error("Parsing mulitpart/form-data request parameters failed: " + e.getMessage()); + throw new IOException(e.getMessage()); + } + String sessionID = req.getParameter(PARAM_SESSIONID); + if (sessionID==null) sessionID = (String) req.getAttribute(PARAM_SESSIONID); + if (sessionID==null) sessionID = (String) parameters.get(PARAM_SESSIONID); + + try { + AuthenticationSession session = AuthenticationServer.getSession(sessionID); + InfoboxValidator infoboxvalidator = session.getFirstPendingValidator(); + String outputStream; + String dataURL = new DataURLBuilder().buildDataURL( + session.getAuthURL(), AuthenticationServer.REQ_VERIFY_AUTH_BLOCK, sessionID); + if (infoboxvalidator!=null) { + outputStream = infoboxvalidator.getForm(); + // replace strings the validators can not know + outputStream = ParepUtils.replaceAll(outputStream, "", session.getAuthURL()); + outputStream = ParepUtils.replaceAll(outputStream, "", sessionID); + outputStream = ParepUtils.replaceAll(outputStream, "", session.getBkuURL()); + outputStream = ParepUtils.replaceAll(outputStream, "", dataURL); + outputStream = ParepUtils.replaceAll(outputStream, "", session.getPushInfobox()); + } else { + throw new ValidateException("validator.65", null); + } + //resp.setStatus(200); + resp.setContentType("text/html;charset=UTF-8"); + OutputStream out = resp.getOutputStream(); + out.write(outputStream.getBytes("UTF-8")); + out.flush(); + out.close(); + Logger.debug("Finished GET ProcessInput"); + } + catch (MOAIDException ex) { + handleError(null, ex, req, resp); + } + } + + /** + * Verifies the user input forms of infobox validators + * + * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest, HttpServletResponse) + */ + protected void doPost(HttpServletRequest req, HttpServletResponse resp) + throws ServletException, IOException { + + Logger.debug("POST ProcessInput"); + Map parameters; + try { + parameters = getParameters(req); + } catch (FileUploadException e) { + Logger.error("Parsing mulitpart/form-data request parameters failed: " + e.getMessage()); + throw new IOException(e.getMessage()); + } + String sessionID = req.getParameter(PARAM_SESSIONID); + if (sessionID==null) sessionID = (String) req.getAttribute(PARAM_SESSIONID); + if (sessionID==null) sessionID = (String) parameters.get(PARAM_SESSIONID); + + try { + AuthenticationSession session = AuthenticationServer.getSession(sessionID); + AuthenticationServer.processInput(session, parameters); + String createXMLSignatureRequestOrRedirect = AuthenticationServer.getInstance().getCreateXMLSignatureRequestAuthBlockOrRedirect(session, null, null); + if (!createXMLSignatureRequestOrRedirect.startsWith("Redirect")) { + // Now sign the AUTH Block + String dataURL = new DataURLBuilder().buildDataURL( + session.getAuthURL(), AuthenticationServer.REQ_VERIFY_AUTH_BLOCK, sessionID); + + // Test if we have a user input form sign template + String inputProcessorSignTemplateURL = req.getParameter(PARAM_INPUT_PROCESSOR_SIGN_TEMPLATE); + String inputProcessorSignTemplate = null; + OAAuthParameter oaParam = + AuthConfigurationProvider.getInstance().getOnlineApplicationParameter(session.getOAURLRequested()); + // override template url by url from configuration file + if (oaParam.getInputProcessorSignTemplateURL() != null) { + inputProcessorSignTemplateURL = oaParam.getInputProcessorSignTemplateURL(); + } + if (inputProcessorSignTemplateURL != null) { + try { + inputProcessorSignTemplate = new String(FileUtils.readURL(inputProcessorSignTemplateURL)); + } catch (IOException ex) { + throw new AuthenticationException( + "auth.03", + new Object[] { inputProcessorSignTemplateURL, ex.toString()}, + ex); + } + } + + + + String htmlForm = new GetVerifyAuthBlockFormBuilder().build( + inputProcessorSignTemplate, session.getBkuURL(), createXMLSignatureRequestOrRedirect, dataURL, session.getPushInfobox()); + htmlForm = ParepUtils.replaceAll(htmlForm, "", session.getAuthURL()); + htmlForm = ParepUtils.replaceAll(htmlForm, "", sessionID); + htmlForm = ParepUtils.replaceAll(htmlForm, "", session.getBkuURL()); + htmlForm = ParepUtils.replaceAll(htmlForm, "", dataURL); + htmlForm = ParepUtils.replaceAll(htmlForm, "", session.getPushInfobox()); + + resp.setContentType("text/html;charset=UTF-8"); + + OutputStream out = resp.getOutputStream(); + out.write(htmlForm.getBytes("UTF-8")); + out.flush(); + out.close(); + Logger.debug("Finished POST ProcessInput"); + } else { + String redirectURL = new DataURLBuilder().buildDataURL(session.getAuthURL(), AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, session.getSessionID()); + resp.setContentType("text/html"); + resp.setStatus(302); + resp.addHeader("Location", redirectURL); + Logger.debug("REDIRECT TO: " + redirectURL); + } + } + catch (MOAIDException ex) { + handleError(null, ex, req, resp); + } + } + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/SelectBKUServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/SelectBKUServlet.java index 4dc69c70b..6e2a932d8 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/SelectBKUServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/SelectBKUServlet.java @@ -54,11 +54,11 @@ public class SelectBKUServlet extends AuthServlet { throws ServletException, IOException { Logger.debug("GET SelectBKU"); - String authURL = - req.getScheme() + "://" + - req.getServerName() + ":" + - req.getServerPort() + - req.getContextPath() + "/"; + String authURL = req.getScheme() + "://" + req.getServerName(); + if ((req.getScheme().equalsIgnoreCase("https") && req.getServerPort()!=443) || (req.getScheme().equalsIgnoreCase("http") && req.getServerPort()!=80)) { + authURL = authURL.concat(":" + req.getServerPort()); + } + authURL = authURL.concat(req.getContextPath() + "/"); String target = req.getParameter(PARAM_TARGET); String oaURL = req.getParameter(PARAM_OA); String bkuSelectionTemplateURL = req.getParameter(PARAM_BKUTEMPLATE); diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/StartAuthenticationServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/StartAuthenticationServlet.java index 6098f5138..9f0cf6606 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/StartAuthenticationServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/StartAuthenticationServlet.java @@ -41,11 +41,11 @@ public class StartAuthenticationServlet extends AuthServlet { throws ServletException, IOException { Logger.debug("GET StartAuthentication"); - String authURL = - req.getScheme() + "://" + - req.getServerName() + ":" + - req.getServerPort() + - req.getContextPath() + "/"; + String authURL = req.getScheme() + "://" + req.getServerName(); + if ((req.getScheme().equalsIgnoreCase("https") && req.getServerPort()!=443) || (req.getScheme().equalsIgnoreCase("http") && req.getServerPort()!=80)) { + authURL = authURL.concat(":" + req.getServerPort()); + } + authURL = authURL.concat(req.getContextPath() + "/"); String target = req.getParameter(PARAM_TARGET); String oaURL = req.getParameter(PARAM_OA); String bkuURL = req.getParameter(PARAM_BKU); diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyAuthenticationBlockServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyAuthenticationBlockServlet.java index 6ec4a247d..b81107ff2 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyAuthenticationBlockServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyAuthenticationBlockServlet.java @@ -1,8 +1,9 @@ package at.gv.egovernment.moa.id.auth.servlet; import java.io.IOException; -import at.gv.egovernment.moa.util.URLEncoder; //java.net.URLEncoder; +import java.util.Iterator; import java.util.Map; +import java.util.Vector; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; @@ -12,8 +13,13 @@ import org.apache.commons.fileupload.FileUploadException; import at.gv.egovernment.moa.id.MOAIDException; import at.gv.egovernment.moa.id.auth.AuthenticationServer; +import at.gv.egovernment.moa.id.auth.builder.DataURLBuilder; import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.id.auth.data.InfoboxValidationResult; +import at.gv.egovernment.moa.id.auth.validator.InfoboxValidator; +import at.gv.egovernment.moa.id.auth.validator.ValidateException; import at.gv.egovernment.moa.logging.Logger; +import at.gv.egovernment.moa.util.URLEncoder; /** * Servlet requested for verifying the signed authentication block @@ -80,17 +86,21 @@ public class VerifyAuthenticationBlockServlet extends AuthServlet { } String sessionID = req.getParameter(PARAM_SESSIONID); String createXMLSignatureResponse = (String)parameters.get(PARAM_XMLRESPONSE); - + String redirectURL = null; try { AuthenticationSession session = AuthenticationServer.getSession(sessionID); String samlArtifactBase64 = AuthenticationServer.getInstance().verifyAuthenticationBlock(sessionID, createXMLSignatureResponse); - String redirectURL = session.getOAURLRequested(); - if (!session.getBusinessService()) { - redirectURL = addURLParameter(redirectURL, PARAM_TARGET, URLEncoder.encode(session.getTarget(), "UTF-8")); - } - redirectURL = addURLParameter(redirectURL, PARAM_SAMLARTIFACT, URLEncoder.encode(samlArtifactBase64, "UTF-8")); - redirectURL = resp.encodeRedirectURL(redirectURL); + if (!samlArtifactBase64.equals("Redirect to Input Processor")) { + redirectURL = session.getOAURLRequested(); + if (!session.getBusinessService()) { + redirectURL = addURLParameter(redirectURL, PARAM_TARGET, URLEncoder.encode(session.getTarget(), "UTF-8")); + } + redirectURL = addURLParameter(redirectURL, PARAM_SAMLARTIFACT, URLEncoder.encode(samlArtifactBase64, "UTF-8")); + redirectURL = resp.encodeRedirectURL(redirectURL); + } else { + redirectURL = new DataURLBuilder().buildDataURL(session.getAuthURL(), AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, session.getSessionID()); + } resp.setContentType("text/html"); resp.setStatus(302); resp.addHeader("Location", redirectURL); diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyIdentityLinkServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyIdentityLinkServlet.java index 2134c1444..b9d8f8c75 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyIdentityLinkServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyIdentityLinkServlet.java @@ -1,22 +1,18 @@ package at.gv.egovernment.moa.id.auth.servlet; import java.io.IOException; -import java.io.OutputStream; -import java.util.Enumeration; import java.util.Map; -import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; import org.apache.commons.fileupload.FileUploadException; import at.gv.egovernment.moa.id.MOAIDException; import at.gv.egovernment.moa.id.auth.AuthenticationServer; -import at.gv.egovernment.moa.id.auth.builder.DataURLBuilder; import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.id.util.ServletUtils; import at.gv.egovernment.moa.logging.Logger; /** @@ -79,25 +75,10 @@ public class VerifyIdentityLinkServlet extends AuthServlet { } String sessionID = req.getParameter(PARAM_SESSIONID); - try { AuthenticationSession session = AuthenticationServer.getSession(sessionID); - - String createXMLSignatureRequest = - AuthenticationServer.getInstance().verifyIdentityLink(sessionID, parameters); - resp.setStatus(307); - String dataURL = new DataURLBuilder().buildDataURL( - session.getAuthURL(), AuthenticationServer.REQ_VERIFY_AUTH_BLOCK, sessionID); - resp.addHeader("Location", dataURL); - - //TODO test impact of explicit setting charset with older versions of BKUs (HotSign) - resp.setContentType("text/xml;charset=UTF-8"); - - OutputStream out = resp.getOutputStream(); - out.write(createXMLSignatureRequest.getBytes("UTF-8")); - out.flush(); - out.close(); - Logger.debug("Finished POST VerifyIdentityLink"); + String createXMLSignatureRequestOrRedirect = AuthenticationServer.getInstance().verifyIdentityLink(sessionID, parameters); + ServletUtils.writeCreateXMLSignatureRequestOrRedirect(resp, session, createXMLSignatureRequestOrRedirect, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "VerifyIdentityLink"); } catch (MOAIDException ex) { handleError(null, ex, req, resp); diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/CreateXMLSignatureResponseValidator.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/CreateXMLSignatureResponseValidator.java index e6c9f4bee..e0fd67d64 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/CreateXMLSignatureResponseValidator.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/CreateXMLSignatureResponseValidator.java @@ -66,7 +66,7 @@ public class CreateXMLSignatureResponseValidator { IdentityLink identityLink = session.getIdentityLink(); Element samlAssertion = createXMLSignatureResponse.getSamlAssertion(); - String issuer = samlAssertion.getAttribute("Issuer"); + String issuer = samlAssertion.getAttribute("Issuer"); if (issuer == null) { // should not happen, because parser would dedect this throw new ValidateException("validator.32", null); diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/InfoboxValidator.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/InfoboxValidator.java index 95cd65608..74e61e076 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/InfoboxValidator.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/InfoboxValidator.java @@ -1,5 +1,9 @@ package at.gv.egovernment.moa.id.auth.validator; +import java.util.Map; + +import org.w3c.dom.Element; + import at.gv.egovernment.moa.id.auth.data.InfoboxValidationResult; import at.gv.egovernment.moa.id.auth.data.InfoboxValidatorParams; @@ -18,7 +22,7 @@ public interface InfoboxValidator { * application. * * @param params {@link at.gv.egovernment.moa.id.auth.data.InfoboxValidatorParams - * Parameters} needed by the validator. + * Parameters} needed by the validator. * * @return InfoboxValidationResult structure (@link at.gv.egovernment.moa.id.auth.data.InfoboxValidationResult} * @@ -28,4 +32,50 @@ public interface InfoboxValidator { public InfoboxValidationResult validate (InfoboxValidatorParams params) throws ValidateException; + /** + * This method is used to do intermediate processing before signing the auth block. + * If a infobox validator threw a form to gather user input, this method is used + * to validate this input. In no further input is needed the form must be empty to + * proceed, and also a valid InfoboxValidationResult is necessary. + * If more input is needed, the validator can build a new form and it is then shown + * to the citizen. + * The implementation of InfoboxValidator must hold its necessary + * data and configuration internally, if this method is called - the class is + * reused at this call + * + * @param parameters the parameters got returned by the input fields + * + * @return InfoboxValidationResult structure (@link at.gv.egovernment.moa.id.auth.data.InfoboxValidationResult} + * + * @throws ValidateException If an error occurs on validating the + * InfoboxReadResponse. + */ + public InfoboxValidationResult validate (Map parameters) + throws ValidateException; + + /** + * This method is used to do post processing after signing the auth block. + * The method validates the content of the infoboxReadResponsesamlAssertion
if needed. + * The implementation of InfoboxValidator must hold its necessary + * data and configuration internally, if this method is called - the class is + * reused at this call + * + * @param samlAssertion the SAML assertion needed by the validator + * + * @return InfoboxValidationResult structure (@link at.gv.egovernment.moa.id.auth.data.InfoboxValidationResult} + * + * @throws ValidateException If an error occurs on validating the + * InfoboxReadResponse. + */ + public InfoboxValidationResult validate (Element samlAssertion) + throws ValidateException; + + /** + * form for user interaction for intermediate processing of infobox validation + * + * @return answer form of the servlet request. + */ + public String getForm(); + } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/ParepInputProcessor.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/ParepInputProcessor.java new file mode 100644 index 000000000..58c28161f --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/ParepInputProcessor.java @@ -0,0 +1,68 @@ +package at.gv.egovernment.moa.id.auth.validator.parep; + +import java.util.Map; + +import org.w3c.dom.Element; + +import at.gv.egovernment.moa.id.auth.data.InfoboxValidationResult; +import at.gv.egovernment.moa.id.auth.data.InfoboxValidatorParams; +import at.gv.egovernment.moa.id.auth.validator.ValidateException; +import at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw.CreateMandateRequest; +import at.gv.egovernment.moa.id.auth.validator.parep.config.ParepConfiguration; + +/** + * Input processor for infobox validators. + */ +public interface ParepInputProcessor { + + /** + * Initialize user input processing. This function must initialize the + * processor to remember its state. Fixed values for the current authentication + * session are set here. + * + * @param representationID The id of the provided standardized mandate + * @param parepConfiguration The configuration of the party representation validator + * @param rpFamilyName The family name of the representative + * @param rpGivenName + * @param rpDateOfBirth + * @param request CreateMandateRequest containing the representative and the mandator + */ + + public void initialize( + String representationID, ParepConfiguration parepConfiguration, + String rpFamilyName, String rpGivenName, String rpDateOfBirth, + CreateMandateRequest request); + + /** + * Starting point of user input processing. This function must initialize the + * processor and remember its state. + * + * @param physical Is person a physical person selected + * @param familyName The family name of the mandator + * @param givenName + * @param dateOfBirth + * @param streetName The address of the physical person + * @param buildingNumber + * @param unit + * @param postalCode + * @param municipality + * @param cbFullName + * @param cbIdentificationType + * @param cbIdentificationValue + * @return The initial user input form + */ + public String start( + boolean physical, String familyName, String givenName, String dateOfBirth, + String streetName, String buildingNumber, String unit, String postalCode, String municipality, + String cbFullName, String cbIdentificationType, String cbIdentificationValue); + + /** + * Validation after the user submitted form + * + * @param parameters Returned input field values + * @param extErrortext Error text from SZR-gateway to throw error page or form to correct user input data + * @return User input form if needed, or empty form if everything is ok with the user input. Returns null on error. + */ + public String validate(Map parameters, String extErrortext); + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/ParepInputProcessorImpl.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/ParepInputProcessorImpl.java new file mode 100644 index 000000000..aff5d8a7a --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/ParepInputProcessorImpl.java @@ -0,0 +1,298 @@ +/** + * + */ +package at.gv.egovernment.moa.id.auth.validator.parep; + +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Map; + +import at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw.CreateMandateRequest; +import at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw.SZRGWClientException; +import at.gv.egovernment.moa.id.auth.validator.parep.config.ParepConfiguration; +import at.gv.egovernment.moa.logging.Logger; + +/** + * Implements the standard party representation infobox validator input processor + * + * @author Peter Danner + * + */ +public class ParepInputProcessorImpl implements ParepInputProcessor{ + + /** the requested representation ID (currently * or OID) */ + private String representationID; + + /** contains the configuration of the owning validator */ + private ParepConfiguration parepConfiguration; + + /** Family name of the representative */ + private String rpFamilyName; + + /** Given name of the representative */ + private String rpGivenName; + + /** The representatives date of birth */ + private String rpDateOfBirth; + + /** The current CreateMandateRequest to the SZR-gateway */ + private CreateMandateRequest request; + + /* + * (non-Javadoc) + * + * @see at.gv.egovernment.moa.id.auth.validator.parep.ParepInputProcessor#initialize(String, ParepConfiguration, String, String, String, CreateMandateRequest) + */ + public void initialize( + String representationID, ParepConfiguration parepConfiguration, + String rpFamilyName, String rpGivenName, String rpDateOfBirth, + CreateMandateRequest request) + { + // Initialization + this.representationID = representationID; + this.parepConfiguration = parepConfiguration; + this.rpFamilyName = rpFamilyName; + this.rpGivenName = rpGivenName; + this.rpDateOfBirth = rpDateOfBirth; + this.request = request; + } + + /* + * (non-Javadoc) + * + * @see at.gv.egovernment.moa.id.auth.validator.parep.ParepInputProcessor#start(boolean, String, String, String, String, String, String, String, String, String, String, String) + */ + public String start( + boolean physical, String familyName, String givenName, String dateOfBirth, + String streetName, String buildingNumber, String unit, String postalCode, String municipality, + String cbFullName, String cbIdentificationType, String cbIdentificationValue) + { + // Load the form + String form = loadForm( + physical, familyName, givenName, dateOfBirth, + streetName, buildingNumber, unit, postalCode, municipality, + cbFullName, cbIdentificationType, cbIdentificationValue, ""); + try { + request.setMandator(familyName, givenName, dateOfBirth, postalCode, municipality, streetName, buildingNumber, unit, physical, cbFullName, + cbIdentificationType, cbIdentificationValue); + } catch (SZRGWClientException e) { + //e.printStackTrace(); + Logger.info(e); + return null; + } + return form; + } + + /* + * (non-Javadoc) + * + * @see at.gv.egovernment.moa.id.auth.validator.parep.ParepInputProcessor#validate(Map, String) + */ + public String validate(Map parameters, String extErrortext) + { + + // Process the gotten parameters + String form = null; + boolean formNecessary = false; + if (!ParepUtils.isEmpty(extErrortext)) formNecessary = true; + String locErrortext = "Folgende Parameter fehlen: "; + + String familyName = (String) parameters.get("familyname"); + if (null == familyName) familyName =""; + String givenName = (String) parameters.get("givenname"); + if (null == givenName) givenName =""; + boolean physical = "true".equals(parameters.get("physical")); + String dobday = (String) parameters.get("dobday"); + if (null!=dobday && dobday.equalsIgnoreCase("TT")) dobday=""; + String dobmonth = (String) parameters.get("dobmonth"); + if (null!=dobmonth && dobmonth.equalsIgnoreCase("MM")) dobmonth=""; + String dobyear = (String) parameters.get("dobyear"); + if (null!=dobyear && dobyear.equalsIgnoreCase("JJJJ")) dobyear=""; + String dateOfBirth = ""; + dobyear = (" ".substring(0, 4-dobyear.length()) + dobyear); + dobmonth = (" ".substring(0, 2-dobmonth.length()) + dobmonth); + dobday = (" ".substring(0, 2-dobday.length()) + dobday); + dateOfBirth = dobyear + "-" + dobmonth + "-" + dobday; + String cbFullName = (String) parameters.get("fullname"); + if (null == cbFullName) cbFullName =""; + String cbIdentificationType = (String) parameters.get("cbidentificationtype"); + if (null == cbIdentificationType) cbIdentificationType =""; + String cbIdentificationValue = (String) parameters.get("cbidentificationvalue"); + if (null == cbIdentificationValue) cbIdentificationValue =""; + String postalCode = (String) parameters.get("postalcode"); + if (null == postalCode) postalCode =""; + String municipality = (String) parameters.get("municipality"); + if (null == municipality) municipality =""; + String streetName = (String) parameters.get("streetname"); + if (null == streetName) streetName =""; + String buildingNumber = (String) parameters.get("buildingnumber"); + if (null == buildingNumber) buildingNumber =""; + String unit = (String) parameters.get("unit"); + if (null == unit) unit =""; + + if (physical) { + if (ParepUtils.isEmpty(familyName)) { + formNecessary = true; + locErrortext = locErrortext + "Familienname"; + } + if (ParepUtils.isEmpty(givenName)) { + formNecessary = true; + if (!locErrortext.endsWith(": ")) locErrortext = locErrortext + ", "; + locErrortext = locErrortext + "Vorname"; + } + // Auf existierendes Datum prüfen + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + format.setLenient(false); // Wir wollen keine künstliche Pareserintelligenz, nur Datum prüfen + try { + format.parse(dateOfBirth); + } + catch(ParseException pe) + { + formNecessary = true; + if (!locErrortext.endsWith("fehlen: ")) locErrortext = locErrortext + ", "; + locErrortext = locErrortext + "korrektes Geburtsdatum"; + } + } else { + if (ParepUtils.isEmpty(cbFullName) || ParepUtils.isEmpty(cbIdentificationType) || ParepUtils.isEmpty(cbIdentificationValue)) { + formNecessary = true; + if (ParepUtils.isEmpty(cbFullName)) { + locErrortext = locErrortext + "Name der Organisation"; + } + if (ParepUtils.isEmpty(cbIdentificationType)) { + if (!locErrortext.endsWith("fehlen: ")) locErrortext = locErrortext + ", "; + locErrortext = locErrortext + "Auswahl des Registers"; + } + if (ParepUtils.isEmpty(cbIdentificationValue)) { + if (!locErrortext.endsWith("fehlen: ")) locErrortext = locErrortext + ", "; + locErrortext = locErrortext + "Ordnungsnummer im ausgewählten Register"; + } + } + } + try { + request.setMandator(familyName, givenName, dateOfBirth, postalCode, municipality, streetName, buildingNumber, unit, physical, cbFullName, + cbIdentificationType, cbIdentificationValue); + if (formNecessary) { + // Daten noch nicht vollständig oder anderer Fehler + if (locErrortext.endsWith("fehlen: ")) locErrortext =""; + String error = ""; + if (!ParepUtils.isEmpty(extErrortext)) { + error = extErrortext; + if (!ParepUtils.isEmpty(locErrortext)) error = error + "; "; + } + if (!ParepUtils.isEmpty(locErrortext)) error = error + locErrortext; + if (!ParepUtils.isEmpty(error)) { + error = "
\"  " + error + "
"; + } + form = loadForm(physical, familyName, givenName, dateOfBirth, streetName, buildingNumber, unit, postalCode, municipality, cbFullName, cbIdentificationType, cbIdentificationValue, error); + if (form == null) { + return null; + } + } else { + return ""; // everything is ok + } + } catch (Exception e) { + //e.printStackTrace(); + Logger.info(e); + return null; + } + return form; + } + + /** + * Loads the empty user input form and replaces tag occurences with given variables + * + * @param physical + * @param familyName + * @param givenName + * @param dateOfBirth + * @param streetName + * @param buildingNumber + * @param unit + * @param postalCode + * @param municipality + * @param cbFullName + * @param cbIdentificationType + * @param cbIdentificationValue + * @param errorText + * @return + */ + private String loadForm( + boolean physical, String familyName, String givenName, String dateOfBirth, + String streetName, String buildingNumber, String unit, String postalCode, String municipality, + String cbFullName, String cbIdentificationType, String cbIdentificationValue, String errorText) + { + String form = ""; + try { + String fileName = parepConfiguration.getInputProcessorTemplate(representationID); + InputStream instream = null; + File file = new File(fileName); + if (file.exists()) { + //if this resolves to a file, load it + instream = new FileInputStream(fileName); + } else { + fileName = parepConfiguration.getFullDirectoryName(fileName); + file = new File(fileName); + if (file.exists()) { + //if this resolves to a file, load it + instream = new FileInputStream(fileName); + } else { + //else load a named resource in our classloader. + instream = this.getClass().getResourceAsStream(parepConfiguration.getInputProcessorTemplate(representationID)); + if (instream == null) { + Logger.error("Form Prozessor Input Template \"" + fileName + "\" fehlt"); + return null; + } + } + } + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + ParepUtils.dumpInputOutputStream(instream, bos); + form = bos.toString("UTF-8"); + } catch(Exception e) { + Logger.error("Fehler beim Einlesen des Input-Templates.", e); + } + + if (!ParepUtils.isEmpty(form)) { + boolean cbEnabled = parepConfiguration.isRepresentingCorporateParty(representationID); + boolean physEnabled = parepConfiguration.isRepresentingPhysicalParty(representationID); + boolean reducedSelection = (!physEnabled || !cbEnabled); + if (reducedSelection) { + physical = !cbEnabled;//wird somit umgesetzt falls jur. Person nicht vetretbar + } + if (ParepUtils.isEmpty(dateOfBirth)) dateOfBirth = "JJJJ-MM-TT"; + form = ParepUtils.replaceAll(form, "", rpGivenName); + form = ParepUtils.replaceAll(form, "", rpFamilyName); + form = ParepUtils.replaceAll(form, "", rpDateOfBirth.substring(0,4)); + form = ParepUtils.replaceAll(form, "", rpDateOfBirth.substring(5,7)); + form = ParepUtils.replaceAll(form, "", rpDateOfBirth.substring(8,10)); + //darf zw. phys. und jur. Person gewählt werden: + //form = replaceAll(form, "seldisabled=\"\"", reducedSelection ? "disabled=\"true\"" : ""); + form = ParepUtils.replaceAll(form, "physdisabled=\"\"", physEnabled ? "" : "disabled=\"true\""); + form = ParepUtils.replaceAll(form, "physselected=\"\"", physical ? "checked=\"checked\"" : ""); + form = ParepUtils.replaceAll(form, "", givenName); + form = ParepUtils.replaceAll(form, "", familyName); + form = ParepUtils.replaceAll(form, "", dateOfBirth.substring(0,4).trim()); + form = ParepUtils.replaceAll(form, "", dateOfBirth.substring(5,7).trim()); + form = ParepUtils.replaceAll(form, "", dateOfBirth.substring(8,10).trim()); + form = ParepUtils.replaceAll(form, "", streetName); + form = ParepUtils.replaceAll(form, "", buildingNumber); + form = ParepUtils.replaceAll(form, "", unit); + form = ParepUtils.replaceAll(form, "", postalCode); + form = ParepUtils.replaceAll(form, "", municipality); + form = ParepUtils.replaceAll(form, "cbdisabled=\"\"", cbEnabled ? "" : "disabled=\"true\""); + form = ParepUtils.replaceAll(form, "", cbFullName); + form = ParepUtils.replaceAll(form, "cbseldisabled=\"\"", cbEnabled ? "" : "disabled=\"disabled\""); + form = ParepUtils.replaceAll(form, "cbselected=\"\"", physical ? "" : "checked=\"checked\""); + form = ParepUtils.replaceAll(form, "fnselected=\"\"", cbIdentificationType.equals("urn:publicid:gv.at:baseid+XFN") ? "selected=\"selected\"" : ""); + form = ParepUtils.replaceAll(form, "vrselected=\"\"", cbIdentificationType.equals("urn:publicid:gv.at:baseid+XVR") ? "selected=\"selected\"" : ""); + form = ParepUtils.replaceAll(form, "ersbselected=\"\"", cbIdentificationType.equals("urn:publicid:gv.at:baseid+XERSB") ? "selected=\"selected\"" : ""); + form = ParepUtils.replaceAll(form, "", cbIdentificationValue); + form = ParepUtils.replaceAll(form, "", errorText); + } + return form; + } + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/ParepUtils.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/ParepUtils.java new file mode 100644 index 000000000..aed635502 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/ParepUtils.java @@ -0,0 +1,708 @@ +package at.gv.egovernment.moa.id.auth.validator.parep; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.OutputStreamWriter; + +import javax.xml.parsers.DocumentBuilderFactory; + +import org.apache.xml.serialize.OutputFormat; +import org.apache.xml.serialize.XMLSerializer; +import org.apache.xpath.XPathAPI; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +import at.gv.egovernment.moa.id.BuildException; +import at.gv.egovernment.moa.id.ParseException; +import at.gv.egovernment.moa.id.auth.builder.BPKBuilder; +import at.gv.egovernment.moa.id.auth.validator.ValidateException; +import at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw.SZRGWClientException; +import at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw.SZRGWConstants; +import at.gv.egovernment.moa.id.config.ConfigurationException; +import at.gv.egovernment.moa.logging.Logger; +import at.gv.egovernment.moa.util.BoolUtils; +import at.gv.egovernment.moa.util.Constants; +import at.gv.egovernment.moa.util.StringUtils; + +/** + * This class implements a set of utility methods. + * + * @author Peter Danner + */ +public class ParepUtils { + + /** + * Determines whether a string is null or empty + * + * @param str the string to check. + * @return true if the string is null or empty, + * false otherwise. + */ + public static boolean isEmpty(String str) { + return str == null || "".equals(str); + } + + /** + * Reads a XML document from an input stream (namespace-aware). + * + * @param is + * the input stream to read from. + * @return the read XML document. + * @throws SZRGWClientException + * if an error occurs reading the document from the input stream. + */ + public static Document readDocFromIs(InputStream is) throws SZRGWClientException { + try { + DocumentBuilderFactory f = DocumentBuilderFactory.newInstance(); + f.setNamespaceAware(true); + return f.newDocumentBuilder().parse(is); + } catch (Exception e) { + throw new SZRGWClientException(e); + } + } + + /* + * + */ + public static String extractRepresentativeID(Element mandate) throws ValidateException { + try { + Element nameSpaceNode = mandate.getOwnerDocument().createElement("NameSpaceNode"); + nameSpaceNode.setAttribute("xmlns:md", SZRGWConstants.MANDATE_NS); + Node resultNode = XPathAPI.selectSingleNode(mandate, "//md:Mandate/attribute::MandateID", nameSpaceNode); + if (resultNode != null) { + return resultNode.getTextContent(); + } + return null; + } catch (Exception e) { + throw new ValidateException("validator.62", null); + } + } + + // TODO: remove unreferenced + + /** + * Dumps all bytes from an input stream to the given output stream. + * + * @param is + * the input stream to dump from. + * @param os + * the output stream to dump to. + * @throws IOException + * if an error occurs while dumping. + */ + public static void dumpInputOutputStream(InputStream is, OutputStream os) throws IOException { + if (is == null) { + return; + } + int ch; + while ((ch = is.read()) != -1) { + os.write(ch); + } + } + + /** + * Gets a string that represents the date a mandate was issued. + * + * @param mandate + * the mandate to extract the issuing date from. + * @return the issuing date of the given mandate. + * @throws SZRGWClientException + * if an exception occurs extracting the issuing date of the + * mandate. + */ + public static String getMandateIssuedDate(Element mandate) throws SZRGWClientException { + try { + Element nameSpaceNode = mandate.getOwnerDocument().createElement("NameSpaceNode"); + nameSpaceNode.setAttribute("xmlns:md", SZRGWConstants.MANDATE_NS); + + Node dateNode = XPathAPI.selectSingleNode(mandate, "//md:Issued/md:Date/text()", nameSpaceNode); + + if (dateNode == null) { + throw new Exception("Date in Mandate-Issued not found."); + } + return dateNode.getNodeValue(); + } catch (Exception e) { + throw new SZRGWClientException(e); + } + } + + /** + * Gets a string that represents the place a mandate was issued. + * + * @param mandate + * the mandate to extract the issuing place from. + * @return the issuing place of the given mandate. + * @throws SZRGWClientException + * if an exception occurs extracting the issuing place of the + * mandate. + */ + public static String getMandateIssuedPlace(Element mandate) throws SZRGWClientException { + try { + Element nameSpaceNode = mandate.getOwnerDocument().createElement("NameSpaceNode"); + nameSpaceNode.setAttribute("xmlns:md", SZRGWConstants.MANDATE_NS); + + Node placeNode = XPathAPI.selectSingleNode(mandate, "//md:Issued/md:Place/text()", nameSpaceNode); + + if (placeNode == null) { + throw new Exception("Place in Mandate-Issued not found."); + } + return placeNode.getNodeValue(); + } catch (Exception e) { + throw new SZRGWClientException(e); + } + } + + /** + * Extracts the textual description of the mandate. + * + * @param mandate + * the mandate to extract the textual description from. + * @return the textual description of the mandate. + * @throws SZRGWClientException + * if an exception occurs extracting the textual description. + */ + public static String getMandateContent(Element mandate) throws SZRGWClientException { + try { + Element nameSpaceNode = mandate.getOwnerDocument().createElement("NameSpaceNode"); + nameSpaceNode.setAttribute("xmlns:md", SZRGWConstants.MANDATE_NS); + + Node contentNode = XPathAPI.selectSingleNode(mandate, "//md:SimpleMandateContent/md:TextualDescription/text()", nameSpaceNode); + + if (contentNode == null) { + throw new Exception("Content in Mandate not found."); + } + return contentNode.getNodeValue(); + } catch (Exception e) { + throw new SZRGWClientException(e); + } + } + + /** + * Extracts the md:Mandator element from a XML mandate element. + * + * @param mandate + * the md:Mandate element to extract the md:Mandator from. + * @return the md:Mandator element. + * @throws SZRGWClientException + * if an error occurs extracting the md:Mandator element. + */ + public static Element extractMandator(Element mandate) throws ParseException { + try { + + Element nameSpaceNode = mandate.getOwnerDocument().createElement("NameSpaceNode"); + nameSpaceNode.setAttribute("xmlns" + SZRGWConstants.MANDATE_POSTFIX, SZRGWConstants.MANDATE_NS); + Element mandator = (Element) XPathAPI.selectSingleNode(mandate, "//" + SZRGWConstants.MANDATE_PREFIX + SZRGWConstants.MANDATOR, nameSpaceNode); + if (mandator == null) { + // if we got the Mandator itself + if (mandate.getLocalName().equals(SZRGWConstants.MANDATOR)) return mandate; + } + if (mandator == null) + return null; + String nsPrefix = mandator.getPrefix(); + String nsUri = mandator.getNamespaceURI(); + Element mandatorClone = (Element) mandator.cloneNode(true); + mandatorClone.setAttribute("xmlns:" + nsPrefix, nsUri); + return mandatorClone; + } catch (Exception e) { + throw new ParseException(e.toString(), null); + } + } + + /** + * Tells wether a mandator is a physical person or not. + * + * @param mandator + * the XML md:Mandator element to extract from. + * @return true if the mandator is a physical person, false otherwise. + */ + public static boolean isPhysicalPerson(Element mandator) { + try { + Element nameSpaceNode = mandator.getOwnerDocument().createElement("NameSpaceNode"); + nameSpaceNode.setAttribute("xmlns" + SZRGWConstants.PD_POSTFIX, Constants.PD_NS_URI); + + // check if physical person + Element physicalPerson = (Element) XPathAPI.selectSingleNode(mandator, "descendant-or-self::pr:PhysicalPerson", nameSpaceNode); + // Element physicalPerson = (Element)XPathAPI.selectSingleNode(mandator, + // "descendant-or-self::pr:CorporateBody", nameSpaceNode); + return physicalPerson != null; + } catch (Exception e) { + e.printStackTrace(); + return false; + } + } + + /** + * Extracts the pr:PhysicalPerson or pr:CorporateBody + * element from a XML mandate element. + * + * @param mandate + * the md:Mandate element to extract the person from. + * @return the pr:PhysicalPerson or pr:CorporateBody element. + * @throws ParseException + * if an error occurs extracting the element. + */ + public static Element extractPersonOfMandate(Element mandate) throws ParseException { + try { + + Element nameSpaceNode = mandate.getOwnerDocument().createElement("NameSpaceNode"); + nameSpaceNode.setAttribute("xmlns" + SZRGWConstants.MANDATE_POSTFIX, SZRGWConstants.MANDATE_NS); + nameSpaceNode.setAttribute("xmlns" + SZRGWConstants.PD_POSTFIX, Constants.PD_NS_URI); + Element person = (Element) XPathAPI.selectSingleNode(mandate, "//" + SZRGWConstants.MANDATE_PREFIX + SZRGWConstants.MANDATOR + "/pr:PhysicalPerson", nameSpaceNode); + if (person == null) { + person = (Element) XPathAPI.selectSingleNode(mandate, "//" + SZRGWConstants.MANDATE_PREFIX + SZRGWConstants.MANDATOR + "/pr:CorporateBody", nameSpaceNode); + } + if (person == null) return null; + String nsPrefix = person.getPrefix(); + String nsUri = person.getNamespaceURI(); + Element personClone = (Element) person.cloneNode(true); + personClone.setAttribute("xmlns:" + nsPrefix, nsUri); + return personClone; + } catch (Exception e) { + //e.printStackTrace(); + throw new ParseException(e.toString(), null); + } + } + + /** + * Benerates the pr:Person element form a + * pr:PhysicalPerson or pr:CorporateBody + * element of a XML mandate element. + * + * @param mandate + * the md:Mandate element to extract the person from. + * @return the pr:Person element. + * @throws ParseException + * if an error occurs extracting the element. + */ + public static Element extractPrPersonOfMandate(Element mandate) throws ParseException { + + try { + Document document = ParepUtils.createEmptyDocument(); + Element root = document.createElement(SZRGWConstants.PD_PREFIX + SZRGWConstants.PERSON); + root.setAttribute("xmlns" + SZRGWConstants.PD_POSTFIX, Constants.PD_NS_URI); + root.setAttribute("xmlns:" + Constants.XSI_PREFIX, Constants.XSI_NS_URI); + + Element nameSpaceNode = mandate.getOwnerDocument().createElement("NameSpaceNode"); + nameSpaceNode.setAttribute("xmlns" + SZRGWConstants.MANDATE_POSTFIX, SZRGWConstants.MANDATE_NS); + nameSpaceNode.setAttribute("xmlns" + SZRGWConstants.PD_POSTFIX, Constants.PD_NS_URI); + Element person = (Element) XPathAPI.selectSingleNode(mandate, "//" + + SZRGWConstants.MANDATE_PREFIX + SZRGWConstants.MANDATOR + "/" + SZRGWConstants.PD_PREFIX + SZRGWConstants.PHYSICALPERSON, nameSpaceNode); + if (person == null) { + person = (Element) XPathAPI.selectSingleNode(mandate, "//" + + SZRGWConstants.MANDATE_PREFIX + SZRGWConstants.MANDATOR + "/" + SZRGWConstants.PD_PREFIX + SZRGWConstants.CORPORATEBODY, nameSpaceNode); + } + if (person != null) { + root.setAttribute(Constants.XSI_PREFIX + ":type", SZRGWConstants.PD_PREFIX + person.getLocalName()); + if (person != null) { + NodeList nl = person.getChildNodes(); + for (int i = 0; i < nl.getLength(); i++) { + Node testNode = nl.item(i); + if (Node.ELEMENT_NODE == testNode.getNodeType()) { + root.appendChild(document.importNode(testNode, true)); + } + } + } + } + + return root; + } catch (Exception e) { + //e.printStackTrace(); + throw new ParseException(e.toString(), null); + } + } + + /** + * Extracts the name of the mandator as a string representation. + * + * @param mandator + * the XML md:Mandator element to extract from. + * @return the mandator name as a string. + */ + public static String extractMandatorName(Element mandator) { + try { + Element nameSpaceNode = mandator.getOwnerDocument().createElement("NameSpaceNode"); + nameSpaceNode.setAttribute("xmlns" + SZRGWConstants.PD_POSTFIX, Constants.PD_NS_URI); + + // first check if physical person + Element name = (Element) XPathAPI.selectSingleNode(mandator, "descendant-or-self::pr:Name/pr:GivenName", nameSpaceNode); + if (name != null) { + String givenName = XPathAPI.selectSingleNode(mandator, "descendant-or-self::pr:Name/pr:GivenName/text()", nameSpaceNode).getNodeValue(); + String familyName = XPathAPI.selectSingleNode(mandator, "descendant-or-self::pr:Name/pr:FamilyName/text()", nameSpaceNode).getNodeValue(); + + return givenName + " " + familyName; + } + + // check if corporate body + Node fullName = XPathAPI.selectSingleNode(mandator, "descendant-or-self::pr:FullName/text()", nameSpaceNode); + if (fullName != null) { + return fullName.getNodeValue(); + } + return ""; + } catch (Exception e) { + //e.printStackTrace(); + return ""; + } + } + + /** + * Extracts specific text of an element of a given md:Mandator element. + * + * @param mandator + * the XML md:Mandator to extract from. + * @return the resulting text of the mandator element. + */ + public static String extractText(Element mandator, String xpath) { + try { + Element nameSpaceNode = mandator.getOwnerDocument().createElement("NameSpaceNode"); + nameSpaceNode.setAttribute("xmlns" + SZRGWConstants.PD_POSTFIX, Constants.PD_NS_URI); + + Node textNode = XPathAPI.selectSingleNode(mandator, xpath, nameSpaceNode); + if (textNode == null) + return null; + return textNode.getNodeValue(); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + /** + * Extracts the date of birth of the mandator of a given md:Mandator element. + * + * @param mandator + * the XML md:Mandator to extract from. + * @return the dob of the mandator. + */ + public static String extractMandatorDateOfBirth(Element mandator) { + try { + Element nameSpaceNode = mandator.getOwnerDocument().createElement("NameSpaceNode"); + nameSpaceNode.setAttribute("xmlns" + SZRGWConstants.PD_POSTFIX, Constants.PD_NS_URI); + + Node dobName = XPathAPI.selectSingleNode(mandator, "descendant-or-self::pr:DateOfBirth/text()", nameSpaceNode); + if (dobName == null) + return null; + return dobName.getNodeValue(); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + /** + * Extracts the full name of the mandators corporate body of a given + * md:Mandator element. + * + * @param mandator + * the XML md:Mandator to extract from. + * @return the full name of the mandator. + */ + public static String extractMandatorFullName(Element mandator) { + try { + Element nameSpaceNode = mandator.getOwnerDocument().createElement("NameSpaceNode"); + nameSpaceNode.setAttribute("xmlns" + SZRGWConstants.PD_POSTFIX, Constants.PD_NS_URI); + + Node fullName = XPathAPI.selectSingleNode(mandator, "descendant-or-self::pr:CorporateBody/pr:FullName/text()", nameSpaceNode); + if (fullName == null) + return null; + return fullName.getNodeValue(); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + /** + * Extracts the identification value of the mandator of a given mandate. + * + * @param mandator + * the XML md:Mandator element. + * @return the identification value. + */ + public static String extractMandatorWbpk(Element mandator) { + try { + Element nameSpaceNode = mandator.getOwnerDocument().createElement("NameSpaceNode"); + nameSpaceNode.setAttribute("xmlns" + SZRGWConstants.PD_POSTFIX, Constants.PD_NS_URI); + + Node idValue = XPathAPI.selectSingleNode(mandator, "descendant-or-self::pr:Identification/pr:Value/text()", nameSpaceNode); + if (idValue != null) { + return idValue.getNodeValue(); + } + return ""; + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + /** + * Extracts the identification type of the mandator of a given mandate. + * + * @param mandator + * the XML md:Mandator element. + * @return the identification type. + */ + public static String extractMandatorIdentificationType(Element mandator) { + try { + Element nameSpaceNode = mandator.getOwnerDocument().createElement("NameSpaceNode"); + nameSpaceNode.setAttribute("xmlns" + SZRGWConstants.PD_POSTFIX, Constants.PD_NS_URI); + + Node idType = XPathAPI.selectSingleNode(mandator, "descendant-or-self::pr:Identification/pr:Type/text()", nameSpaceNode); + if (idType != null) { + return idType.getNodeValue(); + } + return ""; + } catch (Exception e) { + e.printStackTrace(); + return ""; + } + } + + /* + * + */ + public static String getIdentification(Element personElement, String element) throws ParseException { + try { + + Element nameSpaceNode = personElement.getOwnerDocument().createElement("NameSpaceNode"); + nameSpaceNode.setAttribute("xmlns" + SZRGWConstants.PD_POSTFIX, Constants.PD_NS_URI); + + return XPathAPI.selectSingleNode(personElement, "descendant-or-self::pr:Identification/pr:" + element + "/text()", nameSpaceNode) + .getNodeValue(); + } catch (Exception e) { + throw new ParseException(e.toString(), null); + } + } + + /* + * + */ + private static Element extractRepresentative(Element mandate) throws SZRGWClientException { + try { + Element nameSpaceNode = mandate.getOwnerDocument().createElement("NameSpaceNode"); + nameSpaceNode.setAttribute("xmlns:md", SZRGWConstants.MANDATE_NS); + Element mandator = (Element) XPathAPI.selectSingleNode(mandate, "//md:Representative/child::*[1]", nameSpaceNode); + String nsPrefix = mandator.getPrefix(); + String nsUri = mandator.getNamespaceURI(); + + Element mandatorClone = (Element) mandator.cloneNode(true); + mandatorClone.setAttribute("xmlns:" + nsPrefix, nsUri); + + return mandatorClone; + } catch (Exception e) { + throw new SZRGWClientException(e); + } + } + + /** + * Serializes a XML element to a given output stream. + * + * @param element + * the XML element to serialize. + * @param out + * the output streamt o serialize to. + * @throws IOException + * if an I/O error occurs during serialization. + */ + public static void serializeElement(Element element, OutputStream out) throws IOException { + OutputFormat format = new OutputFormat(); + format.setOmitXMLDeclaration(true); + format.setEncoding("UTF-8"); + format.setPreserveSpace(true); + XMLSerializer serializer = new XMLSerializer(new OutputStreamWriter(out, "UTF-8"), format); + serializer.serialize(element); + } + + public static void serializeElementAsDocument(Element element, OutputStream out) throws IOException { + OutputFormat format = new OutputFormat(); + format.setOmitXMLDeclaration(false); + format.setEncoding("UTF-8"); + format.setPreserveSpace(true); + XMLSerializer serializer = new XMLSerializer(new OutputStreamWriter(out, "UTF-8"), format); + serializer.serialize(element); + } + + public static void serializeElementWithoutEncoding(Element element, OutputStream out) throws IOException { + OutputFormat format = new OutputFormat(); + format.setOmitXMLDeclaration(true); + format.setEncoding("UTF-8"); + format.setPreserveSpace(true); + XMLSerializer serializer = new XMLSerializer(new OutputStreamWriter(out), format); + serializer.serialize(element); + } + + public static void saveStringToFile(String str, File file) throws IOException { + FileOutputStream fos = new FileOutputStream(file); + fos.write(str.getBytes()); + fos.flush(); + fos.close(); + } + + public static void saveBytesToFile(byte[] str, File file) throws IOException { + FileOutputStream fos = new FileOutputStream(file); + fos.write(str); + fos.flush(); + fos.close(); + } + + public static void saveElementToFile(Element elem, File file) throws IOException { + FileOutputStream fos = new FileOutputStream(file); + serializeElementWithoutEncoding(elem, fos); + fos.flush(); + fos.close(); + } + + /** + * Creates an empty XML document. + * + * @return a newly created empty XML document. + * @throws SZRGWClientException + * if an error occurs creating the empty document. + */ + public static Document createEmptyDocument() throws SZRGWClientException { + try { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + factory.setNamespaceAware(true); + return factory.newDocumentBuilder().newDocument(); + } catch (Exception e) { + throw new SZRGWClientException(e); + } + } + + + /** + * Tells if the Validator of an Infobox is enabled. If the corresponding application + * specific configuration element EnableInfoboxValidator is missing, a default value true is assumed + * + * @param applicationSpecificParams + * the XML element of the infobox configuration. + * @return the boolean value of the determination. + * @throws ConfigurationException + * if an error occurs reading the configuration. + */ + public static boolean isValidatorEnabled(Element applicationSpecificParams) throws ConfigurationException { + try { + Element nameSpaceNode = applicationSpecificParams.getOwnerDocument().createElement("NameSpaceNode"); + nameSpaceNode.setAttribute("xmlns:" + Constants.MOA_ID_CONFIG_PREFIX, Constants.MOA_ID_CONFIG_NS_URI); + + //ParepUtils.serializeElement(applicationSpecificParams, System.out); + Node validatorEnabledNode = XPathAPI.selectSingleNode(applicationSpecificParams, Constants.MOA_ID_CONFIG_PREFIX + + ":EnableInfoboxValidator/text()", nameSpaceNode); + if (validatorEnabledNode != null) { + return BoolUtils.valueOf(validatorEnabledNode.getNodeValue()); + } + return true; + } catch (Exception e) { + // e.printStackTrace(); + throw new ConfigurationException("config.02", null); + } + } + + /** + * Delivers a String with the description of the register which is described + * through the identification Type of a corporate body of the persondata schema + * + * @param identificationType + * the identification type. + * @return the register description. + */ + public static String getRegisterString(String identificationType) { + String corporateBase = Constants.URN_PREFIX_BASEID + "+"; + if (ParepUtils.isEmpty(identificationType) || !identificationType.startsWith(corporateBase)) return null; + String register = identificationType.substring(corporateBase.length()); + if (ParepUtils.isEmpty(register)) return null; + if (register.equals("FN") || register.equals("XFN")) return "Firmenbuchnummer"; + if (register.equals("VR") || register.equals("XZVR") || register.equals("XVR") || register.equals("ZVR")) return "Nummer im Vereinsregister"; + if (register.equals("ERSB") || register.equals("XERSB")) return "Nummer im Ergänzungsregister für sonstige Betroffene"; + return null; + } + + /** + * Hides Stammzahlen in the given element + * + * @param hideElement The element where Stammzahlen should be replaced. + * @param businessApplication For decision whether to calc a bPK or wbPK. + * @param target Target for calculating a bPK. + * @param registerID Necessary string for calculating a wbPK (example FN+4096i). + * @param blank Switch for behaviour. + * true if Stammzahlen are blinded. All occurences will be replaced by empty strings. + * false calculates (w)bPKs and changes also the pr:Identifivation/pr:Type elements. + * @return The element where Stammzahlen are hidden. + */ + public static Element HideStammZahlen(Element hideElement, boolean businessApplication, String target, String registerID, boolean blank) + throws BuildException { + try { + if (hideElement != null) { + Element nameSpaceNode = hideElement.getOwnerDocument().createElement("NameSpaceNode"); + nameSpaceNode.setAttribute("xmlns" + SZRGWConstants.PD_POSTFIX, Constants.PD_NS_URI); + NodeList identifications = XPathAPI.selectNodeList(hideElement, "descendant-or-self::pr:Identification", nameSpaceNode); + for (int i = 0; i < identifications.getLength(); i++) { + Element identificationElement = (Element) identifications.item(i); + Node idTypeNode = XPathAPI.selectSingleNode(identificationElement, "descendant-or-self::pr:Identification/pr:Type/text()", nameSpaceNode); + if (idTypeNode != null && Constants.URN_PREFIX_BASEID.equals(idTypeNode.getNodeValue())) { + Node idValueNode = XPathAPI.selectSingleNode(identificationElement, "descendant-or-self::pr:Identification/pr:Value/text()", nameSpaceNode); + if (idValueNode == null || ParepUtils.isEmpty(idValueNode.getNodeValue())) { + Logger.error("HideStammZahlen: Problem beim Parsen des erhaltenen Elements - Value Element(-Inhalt) von pr:Identification nicht vorhanden."); + throw new BuildException("builder.02", null); + } + if (blank) { + idValueNode.setNodeValue(""); + } else { + String idValue = idValueNode.getNodeValue(); + if (businessApplication) { + // wbPK berechnen + idTypeNode.setNodeValue(Constants.URN_PREFIX_WBPK + "+" + registerID); + String bpkBase64 = new BPKBuilder().buildWBPK(idValueNode.getNodeValue(), registerID); + idValueNode.setNodeValue(bpkBase64); + + } else { + // bPK berechnen + idTypeNode.setNodeValue(Constants.URN_PREFIX_BPK); + String bpkBase64 = new BPKBuilder().buildBPK(idValueNode.getNodeValue(), target); + idValueNode.setNodeValue(bpkBase64); + } + } + } + } + } + } catch (Exception e) { + throw new BuildException("builder.02", null); + } + return hideElement; + } + + /** + * Replaces each substring of string s that matches the given + * search string by the given replace string. + * + * @param s The string where the replacement should take place. + * @param search The pattern that should be replaced. + * @param replace The string that should replace all each search + * string within s. + * @return A string where all occurrence of search are + * replaced with replace. + */ + public static String replaceAll (String s, String search, String replace) { + if (replace==null) replace = ""; + return StringUtils.replaceAll(s, search, replace); + } + + +// public static void main(String[] args) throws Exception { +// Document mandate = readDocFromIs(new FileInputStream("c:/Doku/work/Organwalter/schemas/Vertretung_OW_Max_Mustermann.xml")); +// Document mandate = readDocFromIs(new FileInputStream("c:/mandator.xml")); +// Document mandate = readDocFromIs(new FileInputStream("c:/vertetervollmacht_1.2.40.0.10.3.1.xml")); +// Element mandatorElement = extractMandator(mandate.getDocumentElement()); +// System.out.println(extractMandatorName(mandatorElement)); +// System.out.println(extractMandatorDateOfBirth(mandatorElement)); +// System.out.println(extractMandatorWbpk(mandatorElement)); +// //serializeElement(mandatorElement, System.out); +// serializeElement((extractPrPersonOfMandate(mandate.getDocumentElement())), System.out); +// } + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/ParepValidator.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/ParepValidator.java new file mode 100644 index 000000000..acd193a68 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/ParepValidator.java @@ -0,0 +1,576 @@ +package at.gv.egovernment.moa.id.auth.validator.parep; + +import java.io.File; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Vector; + +import org.w3c.dom.Element; + +import at.gv.egovernment.moa.id.auth.MOAIDAuthConstants; +import at.gv.egovernment.moa.id.auth.builder.BPKBuilder; +import at.gv.egovernment.moa.id.auth.data.ExtendedSAMLAttribute; +import at.gv.egovernment.moa.id.auth.data.ExtendedSAMLAttributeImpl; +import at.gv.egovernment.moa.id.auth.data.InfoboxToken; +import at.gv.egovernment.moa.id.auth.data.InfoboxValidationResult; +import at.gv.egovernment.moa.id.auth.data.InfoboxValidationResultImpl; +import at.gv.egovernment.moa.id.auth.data.InfoboxValidatorParams; +import at.gv.egovernment.moa.id.auth.validator.InfoboxValidator; +import at.gv.egovernment.moa.id.auth.validator.ValidateException; +import at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw.CreateMandateRequest; +import at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw.CreateMandateResponse; +import at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw.SZRGWClient; +import at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw.SZRGWClientException; +import at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw.SZRGWConstants; +import at.gv.egovernment.moa.id.auth.validator.parep.config.ParepConfiguration; +import at.gv.egovernment.moa.id.config.ConfigurationException; +import at.gv.egovernment.moa.id.config.ConnectionParameter; +import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider; +import at.gv.egovernment.moa.id.util.SSLUtils; +import at.gv.egovernment.moa.logging.Logger; +import at.gv.egovernment.moa.util.Constants; + +/** + * This class implements a MOA-ID Infobox Validator for validating + * a standardized XML mandate using the SZR-gateway. + * + * @author Peter Danner + */ +public class ParepValidator implements InfoboxValidator { + + /** activates debug settings */ + private boolean PAREP_DEBUG = false; + + /** contains the parameters the validator initially was called with */ + private InfoboxValidatorParams params = null; + + /** contains the configuration of the validator */ + private ParepConfiguration parepConfiguration = null; + + /** the requested representation ID (currently * or OID) */ + private String representationID = null; + + /** holds the information of the SZR-request */ + private CreateMandateRequest request = null; + + /** List of extended SAML attributes. */ + private Vector extendedSamlAttributes = new Vector(); + + /** the class which processes the user input */ + private ParepInputProcessor inputProcessor = null; + + /** The form if user input is necessary */ + private String form = null; + + /** unspecified error of parep-validator (must not know more about)*/ + private final static String COMMON_ERROR = "Es ist ein Fehler bei der Überprüfung für berufliche Parteienvetretung aufgetreten"; + + /** Default class to gather remaining mandator data. */ + public final static String PAREP_INPUT_PROCESSOR = "at.gv.egovernment.moa.id.auth.validator.parep.ParepInputProcessorImpl"; + + /** Default template to gather remaining mandator data. */ + public final static String PAREP_INPUT_TEMPLATE = "/resources/templates/ParepMinTemplate.html"; + + /** kind of representation text in AUTH block*/ + public final static String STANDARD_REPRESENTATION_TEXT = "beruflicher Parteienvertreter"; + + /** Names of the produced SAML-attributes. */ + public final static String EXT_SAML_MANDATE_RAW = "Vollmacht"; + public final static String EXT_SAML_MANDATE_NAME = "MachtgeberName"; + public final static String EXT_SAML_MANDATE_DOB = "MachtgeberGeburtsdatum"; + public final static String EXT_SAML_MANDATE_WBPK = "MachtgeberWbpk"; + public final static String EXT_SAML_MANDATE_REPRESENTATIONTYPE = "VertretungsArt"; + + /** register and register number for non physical persons - the domain identifier for business applications*/ + public final static String EXT_SAML_MANDATE_CB_BASE_ID = "MachtgeberRegisternummer"; + + /** + * Parses the XML configuration element and creates the validators configuration + * Use this function if you want to preconfigure the validator. + * + * @param configElem + * the XML configuration element to parse. + * @throws ConfigurationException + * if an error occurs during the configuration process + */ + public void Configure(Element configElem) throws ConfigurationException { + if (this.parepConfiguration == null) { + Logger.debug("Lade Konfiguration."); + parepConfiguration = new ParepConfiguration(configElem); + Logger.debug("Konfiguration erfolgreich geladen."); + } + } + + /* + * (non-Javadoc) + * + * @see at.gv.egovernment.moa.id.auth.validator.InfoboxValidator#validate(at.gv.egovernment.moa.id.auth.data.InfoboxValidatorParams) + */ + public InfoboxValidationResult validate(InfoboxValidatorParams params) throws ValidateException { + + InfoboxValidationResultImpl validationResult = new InfoboxValidationResultImpl(false, null, null); + + try { + Logger.debug("Starte Organwalter-/berufliche Parteienvertreterprüfung."); + this.params = params; + + Element mandate = extractPrimaryToken(this.params.getInfoboxTokenList()); + // ParepUtils.serializeElement(mandate, System.out); + this.representationID = ParepUtils.extractRepresentativeID(mandate); + if (ParepUtils.isEmpty(representationID)) { + validationResult.setErrorMessage("Fehlende oder falsche MandateID in standardisierter Vollmacht"); + return validationResult; + } + + // Überprüfen der Identifikation (Type/Value). + String identificationType = this.params.getIdentificationType(); + String identificationValue = this.params.getIdentificationValue(); + if (this.params.getBusinessApplication()) { + if (representationID.startsWith(MOAIDAuthConstants.PARTY_ORGAN_REPRESENTATION_OID_NUMBER)) { + validationResult.setErrorMessage("Eine Vertretung durch Organwalter im privatwirtschaftlichen Bereich ist nicht vorgesehen."); + return validationResult; + + } else { + Logger.debug("Parteienvertreter wird mit wbPK identifiziert"); + } + } else { + if (representationID.startsWith(MOAIDAuthConstants.PARTY_ORGAN_REPRESENTATION_OID_NUMBER)) { + //Für Organwalter wird die Stammzahl zur Berechnung der Organwalter-bPK benötigt + if (!Constants.URN_PREFIX_BASEID.equals(this.params.getIdentificationType())) { + Logger.error("Für eine Vertretung durch Organwalter ist es notwendig dessen Stammzahl an das Stammzahlenregister-Gateway zu übermitteln. In der MOA-ID Konfiguration muss die Übermittlung Stammzahl aktiviert sein."); + validationResult.setErrorMessage("Die standardisierte Vollmacht wird von diesem Server nicht akzeptiert."); + return validationResult; + } else { + Logger.debug("Organwalter wird mit Stammzahl identifiziert"); + } + } else { + if (Constants.URN_PREFIX_BASEID.equals(this.params.getIdentificationType())) { + // bPK berechnen, da dem SZR-Gateway das Target nicht bekannt ist + identificationType = Constants.URN_PREFIX_CDID; + String bpkBase64 = new BPKBuilder().buildBPK(this.params.getIdentificationValue(), this.params.getTarget()); + identificationValue = bpkBase64; + Logger.debug("bPK für Parteienvertreter wurde berechnet. Parteienvertreter wird mit bPK identifiziert"); + } else { + Logger.debug("Parteienvertreter wird mit bPK identifiziert"); + } + } + } + + Configure(this.params.getApplicationSpecificParams()); + // check if we have a configured party representative for that + if (!parepConfiguration.isPartyRepresentative(representationID)) { + Logger.info("Kein beruflicher Parteienvertreter für MandateID \"" + representationID + "\" konfiguriert."); + validationResult.setErrorMessage("Die standardisierte Vollmacht wird von diesem Server nicht akzeptiert."); + return validationResult; + } + + // Vertreter + this.request = new CreateMandateRequest(); + request.setRepresentative(this.params, identificationType, identificationValue); + // ParepUtils.serializeElement(request.getRepresentative(), System.out); + //ParepUtils.saveElementToFile(request.getRepresentative(), new File("c:/representative.xml")); + + Logger.debug("Prüfe vorausgefüllte Daten..."); + boolean physical = true; + String familyName = ""; + String givenName = ""; + String dateOfBirth = ""; + String cbFullName = ""; + String cbIdentificationType = ""; + String cbIdentificationValue = ""; + String postalCode = ""; + String municipality = ""; + String streetName = ""; + String buildingNumber = ""; + String unit = ""; + + boolean formNecessary = false; + // Vertretener (erstes Vorkommen) + Element mandator = ParepUtils.extractMandator(mandate); + if (mandator != null) { + // ParepUtils.serializeElement(mandator, System.out); + // ParepUtils.saveElementToFile(mandator, new File("c:/mandator.xml")); + if (ParepUtils.isPhysicalPerson(mandator)) { + familyName = ParepUtils.extractText(mandator, "descendant-or-self::pr:Name/pr:FamilyName/text()"); + givenName = ParepUtils.extractText(mandator, "descendant-or-self::pr:Name/pr:GivenName/text()"); + dateOfBirth = ParepUtils.extractMandatorDateOfBirth(mandator); + } else { + physical = false; + cbFullName = ParepUtils.extractMandatorFullName(mandator); + cbIdentificationType = ParepUtils.getIdentification(mandator, "Type"); + cbIdentificationValue = ParepUtils.extractMandatorWbpk(mandator); + } + postalCode = ParepUtils.extractText(mandator, "descendant-or-self::pr:PostalAddress/pr:PostalCode/text()"); + municipality = ParepUtils.extractText(mandator, "descendant-or-self::pr:PostalAddress/pr:Municipality/text()"); + streetName = ParepUtils.extractText(mandator, "descendant-or-self::pr:PostalAddress/pr:DeliveryAddress/pr:StreetName/text()"); + buildingNumber = ParepUtils.extractText(mandator, "descendant-or-self::pr:PostalAddress/pr:DeliveryAddress/pr:BuildingNumber/text()"); + unit = ParepUtils.extractText(mandator, "descendant-or-self::pr:PostalAddress/pr:DeliveryAddress/pr:Unit/text()"); + + } + if (physical) { + if (!parepConfiguration.isRepresentingPhysicalParty(representationID)) { + validationResult.setErrorMessage("Vertretung von natürlichen Personen für diese standardisierte Vollmacht nicht erlaubt."); + return validationResult; + } + if (ParepUtils.isEmpty(familyName) || ParepUtils.isEmpty(givenName) || ParepUtils.isEmpty(dateOfBirth)) { + formNecessary = true; + } + } else { + if (!parepConfiguration.isRepresentingCorporateParty(representationID)) { + validationResult.setErrorMessage("Vertretung von juristischen Personen für diese standardisierte Vollmacht nicht erlaubt."); + return validationResult; + } + if (ParepUtils.isEmpty(cbFullName) || ParepUtils.isEmpty(cbIdentificationType) || ParepUtils.isEmpty(cbIdentificationValue)) { + formNecessary = true; + } + } + + //Zeigen wir, dass die Daten übernommen wurden: + if (parepConfiguration.isAlwaysShowForm()) formNecessary=true; + + // Input processor + this.form = ""; + if (formNecessary) { + ParepInputProcessor inputProcessor= getInputProcessor(); + this.form = inputProcessor.start( + physical, familyName, givenName, dateOfBirth, streetName, buildingNumber, unit, postalCode, municipality, + cbFullName, cbIdentificationType, cbIdentificationValue); + if (this.form == null) { + validationResult.setErrorMessage(ParepValidator.COMMON_ERROR); + return validationResult; + } + } else { + // Request vorbereiten mit vorgegebenen Daten + request.setMandator(familyName, givenName, dateOfBirth, postalCode, municipality, streetName, buildingNumber, unit, physical, cbFullName, + cbIdentificationType, cbIdentificationValue); + } + + + // ParepUtils.serializeElement(request.getMandator(), System.out); + // ParepUtils.saveElementToFile(request.getMandator(), new File("c:/mandator.xml")); + + addAuthBlockExtendedSamlAttributes(); + validationResult.setExtendedSamlAttributes(getExtendedSamlAttributes()); + Logger.debug("Überprüfung der vertretenen Partei erfolgreich beendet"); + validationResult.setValid(true); + return validationResult; + } catch (Exception e) { + e.printStackTrace(); + Logger.info(e); + validationResult.setErrorMessage(ParepValidator.COMMON_ERROR); + return validationResult; + } + } + + /* + * (non-Javadoc) + * + * @see at.gv.egovernment.moa.id.auth.validator.InfoboxValidator#validate(java.util.Map) + */ + public InfoboxValidationResult validate(Map parameters) throws ValidateException { + + InfoboxValidationResultImpl validationResult = new InfoboxValidationResultImpl(false, null, null); + Logger.debug("Intermediate processing von Organwalter-/beruflicher Parteienvertreterprüfung"); + Logger.debug("Prüfe im Formular ausgefüllte Daten..."); + if (PAREP_DEBUG) Logger.debug("Got parameters from user input form: " + parameters.toString()); + + // Input processor + ParepInputProcessor inputProcessor= getInputProcessor(); + this.form = inputProcessor.validate(parameters, null); + if (this.form == null) { + validationResult.setErrorMessage(ParepValidator.COMMON_ERROR); + return validationResult; + } + extendedSamlAttributes.clear(); + addAuthBlockExtendedSamlAttributes(); + validationResult.setExtendedSamlAttributes(getExtendedSamlAttributes()); + validationResult.setValid(true); + Logger.debug("Intermediate processing von Organwalter-/beruflicher Parteienvertreterprüfung erfolgreich beendet"); + return validationResult; + } + + /* + * (non-Javadoc) + * + * @see at.gv.egovernment.moa.id.auth.validator.InfoboxValidator#validate(org.w3c.dom.Element) + */ + public InfoboxValidationResult validate(Element samlAssertion) throws ValidateException { + + InfoboxValidationResultImpl validationResult = new InfoboxValidationResultImpl(false, null, null); + Logger.debug("Post processing von Organwalter-/beruflicher Parteienvertreterprüfung"); + this.form = ""; + try { + + // TODO: Frage ob OID im Zertifikat zu prüfen ist (macht derzeit das SZR-gateway). Dies würde aber zu eine Performanceeinbuße führen. + + request.setSignature(samlAssertion); + +//DPO debug +// Element mandate = (ParepUtils.readDocFromIs(new FileInputStream("c:/vertetervollmacht_1.2.40.0.10.3.1_origin-fixed.xml"))).getDocumentElement(); +// String id = representationID; +// CreateMandateResponse response; +// if (true) { +// if (this.params.getHideStammzahl()) { +// if (PAREP_DEBUG) ParepUtils.saveElementToFile(mandate, new File("c:/vertetervollmacht_"+ id +"_origin.xml")); +// // Achtung: Es wird hier nicht spezifikationskonform vorgegangen, damit im Kompatibilitätsmodus Personendaten ersetzt werden können. +// // Würden die Stammzahlen gelöscht (geblindet) werden, würde der Identifikationswert des Vertretenen gänzlich fehlen. +// // Im Falle einen business Anwendung berechnet MOA-ID nach Rückkehr das wbPK +// ParepUtils.HideStammZahlen(mandate, this.params.getBusinessApplication(), this.params.getTarget(), this.params.getDomainIdentifier(), false); +// } +// if (PAREP_DEBUG) ParepUtils.saveElementToFile(mandate, new File("c:/vertetervollmacht_"+ id +".xml")); + + //ParepUtils.serializeElement(request.toElement(), System.out); + if (PAREP_DEBUG) ParepUtils.saveElementToFile(request.toElement(), new File("c:/gwrequest.xml")); + + // configure szrgw client + Logger.debug("Lade SZR-GW Client."); + SZRGWClient client = new SZRGWClient(); + // System.out.println("Parameters: " + cfg.getConnectionParameters()); + Logger.debug("Initialisiere Verbindung..."); + ConnectionParameter connectionParameters = parepConfiguration.getConnectionParameters(representationID); + // Logger.debug("Connection Parameters: " + connectionParameters); + Logger.debug("SZR-GW URL: " + connectionParameters.getUrl()); + client.setAddress(connectionParameters.getUrl()); + if (connectionParameters.getUrl().toLowerCase().startsWith("https:")) { + Logger.debug("Initialisiere SSL Verbindung"); + client.setSSLSocketFactory(SSLUtils.getSSLSocketFactory(AuthConfigurationProvider.getInstance(), connectionParameters)); + } + + Logger.debug("Starte Kommunikation mit dem Stammzahlenregister Gateway..."); + CreateMandateResponse response; + Element requ = request.toElement(); + try { + response = client.createMandateResponse(requ); + } catch (SZRGWClientException e) { + // give him a second try - Nach dem Starten des Tomcat wird beim ersten Mal das Client-Zertifikat offenbar vom HTTPClient nicht mitgeschickt. + Logger.debug("2. Versuch - Kommunikation mit dem Stammzahlenregister Gateway..."); + client = new SZRGWClient(connectionParameters.getUrl()); + if (connectionParameters.getUrl().toLowerCase().startsWith("https:")) client.setSSLSocketFactory(SSLUtils.getSSLSocketFactory(AuthConfigurationProvider.getInstance(), connectionParameters)); + response = client.createMandateResponse(requ); + } + if (response.getResultCode()==2000) { + if(response.getMandate()==null) { + Logger.error("Keine Vollmacht vom SZR-Gateway erhalten"); + validationResult.setErrorMessage(ParepValidator.COMMON_ERROR); + return validationResult; + } + + + //DPO debug output (2lines) + String id = representationID; + if (id.equals("*")) id="standardisiert"; + + Element mandate = response.getMandate(); + // Replace Stammzahlen + if (PAREP_DEBUG) ParepUtils.saveElementToFile(response.getMandate(), new File("c:/vertetervollmacht_"+ id +"_origin.xml")); + if (this.params.getHideStammzahl()) { + ParepUtils.HideStammZahlen(mandate, this.params.getBusinessApplication(), this.params.getTarget(), this.params.getDomainIdentifier(), false); + if (PAREP_DEBUG) ParepUtils.saveElementToFile(mandate, new File("c:/vertetervollmacht_"+ id +"_hideStammzahl.xml")); + } + + extendedSamlAttributes.clear(); + // Vollmacht + extendedSamlAttributes.add(new ExtendedSAMLAttributeImpl(ParepValidator.EXT_SAML_MANDATE_RAW, mandate, SZRGWConstants.MANDATE_NS, ExtendedSAMLAttribute.NOT_ADD_TO_AUTHBLOCK)); + + validationResult.setExtendedSamlAttributes(getExtendedSamlAttributes()); + validationResult.setValid(true); + Logger.debug("Post processing von Organwalter-/beruflicher Parteienvertreterprüfung erfolgreich beendet"); + } else { + String errorMsg = "Fehler " + response.getResultCode() + " bei Stammzahlenregister-Gateway Anfrage"; + String responseInfo = response.getInfo(); + if (response.getResultCode()>4000 && response.getResultCode()<4999) { + if (!ParepUtils.isEmpty(responseInfo)) errorMsg = errorMsg + ": " + responseInfo; + validationResult.setErrorMessage(errorMsg); + } else if (response.getResultCode()>=3000 && response.getResultCode()<=3000) { + // Person not found + ParepInputProcessor inputProcessor= getInputProcessor(); + if (response.getResultCode()==3000) { //TODO: verify code + errorMsg = "Die Person konnte nicht eindeutig identifiziert werden. Bitte ergänzen/ändern Sie ihre Angaben."; + } else { + if (!ParepUtils.isEmpty(responseInfo)) errorMsg = errorMsg + ": " + responseInfo; + } + + this.form = inputProcessor.validate(generateParameters(), errorMsg); + if (this.form == null) { + validationResult.setErrorMessage(ParepValidator.COMMON_ERROR); + return validationResult; + } + validationResult.setValid(true); + } else { + // Do not inform the user too much + Logger.error(errorMsg); + validationResult.setErrorMessage(ParepValidator.COMMON_ERROR); + } + + } + return validationResult; + } catch (Exception e) { + e.printStackTrace(); + Logger.info(e); + validationResult.setErrorMessage(ParepValidator.COMMON_ERROR); + return validationResult; + } + } + + /** + * provides the primary infobox token of the given list. + * + * @param infoBoxTokens + * the list of infobox tokens. + * @return + * the XML element of the primary token. + * @throws ValidateException + * if an error occurs or list is not suitable. + */ + public static Element extractPrimaryToken(List infoBoxTokens) throws ValidateException { + if (infoBoxTokens == null || infoBoxTokens.size() == 0) { + throw new ValidateException("validator.62", null); + } + for (int i = 0; i < infoBoxTokens.size(); i++) { + InfoboxToken token = (InfoboxToken) infoBoxTokens.get(i); + if (token.isPrimary()) { + return token.getXMLToken(); + } + } + throw new ValidateException("validator.62", null); + } + + /* + * @see at.gv.egovernment.moa.id.auth.validator.InfoboxValidator#getExtendedSamlAttributes() + */ + public ExtendedSAMLAttribute[] getExtendedSamlAttributes() { + ExtendedSAMLAttribute[] ret = new ExtendedSAMLAttribute[extendedSamlAttributes.size()]; + extendedSamlAttributes.copyInto(ret); + Logger.debug("ParepValidator ExtendedSAML Attributes: " + ret.length); + return ret; + } + + + /** + * @return The next pending user input form, which is "" if no form is to be shown, and null on errors. + */ + public String getForm() { + return this.form; + } + + /** + * Gets the user form input processor (class) assigned to the current party representative + * If the method is called for the first time it initializes the input processor. + * + * @return The user form input processor + */ + private ParepInputProcessor getInputProcessor() { + + if (this.inputProcessor!=null) return inputProcessor; + String inputProcessorName = parepConfiguration.getInputProcessorClass(representationID); + ParepInputProcessor inputProcessor = null; + try { + Class inputProcessorClass = Class.forName(inputProcessorName); + inputProcessor= (ParepInputProcessor) inputProcessorClass.newInstance(); + inputProcessor.initialize(representationID, parepConfiguration, this.params.getFamilyName(), this.params.getGivenName(), this.params.getDateOfBirth(), request); + } catch (Exception e) { + Logger.error("Could not load input processor class \"" + inputProcessorName + "\": " + e.getMessage()); + } + this.inputProcessor = inputProcessor; + return inputProcessor; + } + + /** + * Generates the parameter list, which is needed to simulate a return from + * an user form. + * + * @return the form parameters + */ + private Map generateParameters() { + Map parameters = new HashMap(); + boolean physical = true; + String familyName = ""; + String givenName = ""; + String dateOfBirth = ""; + String cbFullName = ""; + String cbIdentificationType = ""; + String cbIdentificationValue = ""; + String postalCode = ""; + String municipality = ""; + String streetName = ""; + String buildingNumber = ""; + String unit = ""; + + try { + // Vertretener (erstes Vorkommen) + Element mandator = request.getMandator(); + ParepUtils.saveElementToFile(mandator, new File("c:/mandator_test.xml")); + if (mandator != null) { + if (ParepUtils.isPhysicalPerson(mandator)) { + familyName = ParepUtils.extractText(mandator, "descendant-or-self::pr:Name/pr:FamilyName/text()"); + givenName = ParepUtils.extractText(mandator, "descendant-or-self::pr:Name/pr:GivenName/text()"); + dateOfBirth = ParepUtils.extractMandatorDateOfBirth(mandator); + } else { + physical = false; + cbFullName = ParepUtils.extractMandatorFullName(mandator); + cbIdentificationType = ParepUtils.getIdentification(mandator, "Type"); + cbIdentificationValue = ParepUtils.extractMandatorWbpk(mandator); + } + postalCode = ParepUtils.extractText(mandator, "descendant-or-self::pr:PostalAddress/pr:PostalCode/text()"); + municipality = ParepUtils.extractText(mandator, "descendant-or-self::pr:PostalAddress/pr:Municipality/text()"); + streetName = ParepUtils.extractText(mandator, "descendant-or-self::pr:PostalAddress/pr:DeliveryAddress/pr:StreetName/text()"); + buildingNumber = ParepUtils.extractText(mandator, "descendant-or-self::pr:PostalAddress/pr:DeliveryAddress/pr:BuildingNumber/text()"); + unit = ParepUtils.extractText(mandator, "descendant-or-self::pr:PostalAddress/pr:DeliveryAddress/pr:Unit/text()"); + } + } catch (Exception e) { + Logger.error("Could not extract Mandator form SZR-gateway request"); + } + parameters.put("familyname", familyName); + parameters.put("givenname", givenName); + parameters.put("dateofbirth", dateOfBirth); + parameters.put("dobyear", dateOfBirth.substring(0,4)); + parameters.put("dobmonth", dateOfBirth.substring(5,7)); + parameters.put("dobday", dateOfBirth.substring(8,10)); + parameters.put("physical", physical ? "true" : "false"); + parameters.put("fullname", cbFullName); + parameters.put("cbidentificationtype", cbIdentificationType); + parameters.put("cbidentificationvalue", cbIdentificationValue); + parameters.put("postalcode", postalCode); + parameters.put("municipality", municipality); + parameters.put("streetname", streetName); + parameters.put("buildingnumber", buildingNumber); + parameters.put("unit", unit); + return parameters; + } + + /** + * Adds the AUTH block related SAML attributes to the validation result. + * This is needed always before the AUTH block is to be signed, because the + * name of the mandator has to be set + */ + private void addAuthBlockExtendedSamlAttributes() { + extendedSamlAttributes.add(new ExtendedSAMLAttributeImpl(ParepValidator.EXT_SAML_MANDATE_REPRESENTATIONTYPE, parepConfiguration.getRepresentationText(representationID), SZRGWConstants.MANDATE_NS, ExtendedSAMLAttribute.ADD_TO_AUTHBLOCK_ONLY)); + Element mandator = request.getMandator(); + extendedSamlAttributes.clear(); + // Name + String name = ParepUtils.extractMandatorName(mandator); + extendedSamlAttributes.add(new ExtendedSAMLAttributeImpl(ParepValidator.EXT_SAML_MANDATE_NAME, name, SZRGWConstants.MANDATE_NS, ExtendedSAMLAttribute.ADD_TO_AUTHBLOCK_ONLY)); + // Geburtsdatum + String dob = ParepUtils.extractMandatorDateOfBirth(mandator); + if (dob != null && !"".equals(dob)) { + extendedSamlAttributes.add(new ExtendedSAMLAttributeImpl(ParepValidator.EXT_SAML_MANDATE_DOB, dob, SZRGWConstants.MANDATE_NS, ExtendedSAMLAttribute.ADD_TO_AUTHBLOCK_ONLY)); + } + // (w)bpk + String wbpk = ParepUtils.extractMandatorWbpk(mandator); + if (!ParepUtils.isEmpty(wbpk)) { + if (!ParepUtils.isPhysicalPerson(mandator)){ + String idType = ParepUtils.extractMandatorIdentificationType(mandator); + if (!ParepUtils.isEmpty(idType) && idType.startsWith(Constants.URN_PREFIX_BASEID + "+X")) { + extendedSamlAttributes.add(new ExtendedSAMLAttributeImpl(ParepValidator.EXT_SAML_MANDATE_CB_BASE_ID, ParepUtils.getRegisterString(idType) + ": " + wbpk, SZRGWConstants.MANDATE_NS, ExtendedSAMLAttribute.ADD_TO_AUTHBLOCK_ONLY)); + } + } else if (this.params.getBusinessApplication()) { + extendedSamlAttributes.add(new ExtendedSAMLAttributeImpl(ParepValidator.EXT_SAML_MANDATE_WBPK, wbpk, SZRGWConstants.MANDATE_NS, ExtendedSAMLAttribute.ADD_TO_AUTHBLOCK_ONLY)); + } + } + } + +// public static void main(String[] args) throws Exception { +// } + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/PartyRepresentative.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/PartyRepresentative.java new file mode 100644 index 000000000..d6b71ad83 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/PartyRepresentative.java @@ -0,0 +1,159 @@ +/** + * + */ +package at.gv.egovernment.moa.id.auth.validator.parep; + +import at.gv.egovernment.moa.id.config.ConnectionParameter; + +/** + * @author Peter Danner + * + */ +public class PartyRepresentative { + + /** Object Identifier **/ + private String oid; + + private boolean representPhysicalParty; + + private boolean representCorporateParty; + + /** + * Text for representation description in SAML Assertion (Auth-Block) + * */ + private String representationText; + + /** + * SZR-GW connection parameters. + */ + private ConnectionParameter connectionParameters = null; + + private String inputProcessorClass = null; + private String inputProcessorTemplate = null; + + /** + * Constructor + */ +public PartyRepresentative() { + this.oid = null; + this.representPhysicalParty = false; + this.representCorporateParty = false; + this.connectionParameters = null; + this.representationText = null; +} + +/** + * Constructor + */ + public PartyRepresentative(boolean representPhysicalParty, boolean representCorporateParty) { + this.oid = null; + this.representPhysicalParty = representPhysicalParty; + this.representCorporateParty = representCorporateParty; + this.connectionParameters = null; + this.representationText = null; + this.inputProcessorClass = null; + this.inputProcessorTemplate = null; + } + + /** + * @return the oid + */ + public String getOid() { + return oid; + } + + /** + * @param oid the oid to set + */ + public void setOid(String oid) { + this.oid = oid; + } + + /** + * @return the representPhysicalParty + */ + public boolean isRepresentingPhysicalParty() { + return representPhysicalParty; + } + + /** + * @param representPhysicalParty the representPhysicalParty to set + */ + public void setRepresentingPhysicalParty(boolean representPhysicalParty) { + this.representPhysicalParty = representPhysicalParty; + } + + /** + * @return the representCorporateParty + */ + public boolean isRepresentingCorporateParty() { + return representCorporateParty; + } + + /** + * @param representCorporateParty the representCorporateParty to set + */ + public void setRepresentingCorporateParty(boolean representCorporateParty) { + this.representCorporateParty = representCorporateParty; + } + + /** + * @return the connectionParameters + */ + public ConnectionParameter getConnectionParameters() { + return connectionParameters; + } + + /** + * @param connectionParameters the connectionParameters to set + */ + public void setConnectionParameters(ConnectionParameter connectionParameters) { + this.connectionParameters = connectionParameters; + } + + + /** + * @return the representationText + */ + public String getRepresentationText() { + return representationText; + } + + + /** + * @param representationText the representationText to set + */ + public void setRepresentationText(String representationText) { + this.representationText = representationText; + } + + /** + * @return the inputProcessorClass + */ + public String getInputProcessorClass() { + return inputProcessorClass; + } + + /** + * @param inputProcessorClass the inputProcessorClass to set + */ + public void setInputProcessorClass(String inputProcessorClass) { + this.inputProcessorClass = inputProcessorClass; + } + + /** + * @return the inputProcessorTemplate + */ + public String getInputProcessorTemplate() { + return inputProcessorTemplate; + } + + /** + * @param inputProcessorTemplate the inputProcessorTemplate to set + */ + public void setInputProcessorTemplate(String inputProcessorTemplate) { + this.inputProcessorTemplate = inputProcessorTemplate; + } + + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/CreateMandateRequest.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/CreateMandateRequest.java new file mode 100644 index 000000000..fe8e263ff --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/CreateMandateRequest.java @@ -0,0 +1,235 @@ +package at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw; + +import java.util.ArrayList; +import java.util.List; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; + +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; + +import at.gv.egovernment.moa.id.auth.data.InfoboxValidatorParams; +import at.gv.egovernment.moa.id.auth.validator.parep.ParepUtils; +import at.gv.egovernment.moa.util.Constants; + +/** + * This class implements a detailed CreateMandateRequest that + * will be sent to SZR-gateway. + * + * @author Peter Danner + */ +public class CreateMandateRequest { + + /** + * The Request. + */ + private Document document; + + /** + * List of mandate representatives as XML element. + */ + private List representatives; + + /** + * The mandator. + */ + private Element mandator; + + /** + * The representative. + */ + private Element representative; + + /** + * The signature to verify by the SZR-gateway + */ + private Element signature; + + + + /** + * Creates the CreateMandateRequest element that will + * be sent to SZR-gateway + * + * @return the CreateMandateRequest element. + */ + public Element toElement() throws SZRGWClientException{ + + this.document = ParepUtils.createEmptyDocument(); + Element root = this.document.createElement(SZRGWConstants.SZRGW_PREFIX + SZRGWConstants.CREATE_MANDATE_REQUEST); + root.setAttribute("xmlns" + SZRGWConstants.SZRGW_POSTFIX, SZRGWConstants.SZRGW_REQUEST_NS); + root.setAttribute("xmlns" + SZRGWConstants.PD_POSTFIX, Constants.PD_NS_URI); + if (this.representative!=null) root.appendChild(this.document.importNode(this.representative, true)); + if (this.mandator!=null) root.appendChild(this.document.importNode(this.mandator, true)); + if (this.signature!=null) root.appendChild(this.document.importNode(this.signature, true)); + + return root; + } + + /** + * Adds a representative. + * + * @param representative an XML representative to add. + */ + public void addRepresentative(Element representative) { + if (representatives == null) { + representatives = new ArrayList(); + } + representatives.add(representative); + } + + /** + * Gets the representative. + * + * @return the representative. + */ + public Element getRepresentative() { + return representative; + } + + /** + * Gets the mandator. + * + * @return the mandator. + */ + public Element getMandator() { + return mandator; + } + + /** + * Sets the mandator. + * + * @param mandator the mandator. + */ + public void setMandator(Element mandator) { + this.mandator = mandator; + } + + /** + * Sets the Mandator. + * + * @param familyName the family name of the mandator. + */ + public void setMandator(String familyName, String givenName, String dateOfBirth, + String postalCode, String municipality, String streetName, String buildingNumber, String unit, + boolean physical, String cbFullName, String cbIdentificationType, String cbIdentificationValue) throws SZRGWClientException { + + Document mandatorDocument = ParepUtils.createEmptyDocument(); + + Element mandatorElem = mandatorDocument.createElementNS(SZRGWConstants.SZRGW_REQUEST_NS, SZRGWConstants.SZRGW_PREFIX + SZRGWConstants.MANDATOR); +// mandatorElem.setAttribute("xmlns" + SZRGWConstants.PD_POSTFIX, Constants.PD_NS_URI); +/// mandatorElem.setAttribute("xmlns" + SZRGWConstants.SZRGW_POSTFIX, SZRGWConstants.SZRGW_REQUEST_NS); + + if (physical) { + Element physicalPersonElem = mandatorDocument.createElementNS(Constants.PD_NS_URI, SZRGWConstants.PD_PREFIX + SZRGWConstants.PHYSICALPERSON); + physicalPersonElem.appendChild(createNameElem(mandatorDocument, givenName, familyName)); + physicalPersonElem.appendChild(createPersonDataElem(mandatorDocument, SZRGWConstants.DATEOFBIRTH, dateOfBirth)); + mandatorElem.appendChild(physicalPersonElem); + Element postalAddressElement = createPostalAddressElem(mandatorDocument, postalCode, municipality, streetName, buildingNumber, unit); + if (null!=postalAddressElement) mandatorElem.appendChild(postalAddressElement); + } else { + Element corporateBodyElem = mandatorDocument.createElementNS(Constants.PD_NS_URI, SZRGWConstants.PD_PREFIX + SZRGWConstants.CORPORATEBODY); + corporateBodyElem.appendChild(createIdentificationElem(mandatorDocument, cbIdentificationType, cbIdentificationValue)); + corporateBodyElem.appendChild(createPersonDataElem(mandatorDocument, SZRGWConstants.FULLNAME, cbFullName)); + mandatorElem.appendChild(corporateBodyElem); + } + + + this.mandator = mandatorElem; + } + + private Element createPersonDataElem(Document document, String elementName, String elementValue) { + Element elem = document.createElementNS(Constants.PD_NS_URI, SZRGWConstants.PD_PREFIX + elementName); + Node value = document.createTextNode(elementValue); + elem.appendChild(value); + return elem; + } + + private Element createIdentificationElem(Document document, String identificationType, String identificationValue) { + Element identificationElem = document.createElementNS(Constants.PD_NS_URI, SZRGWConstants.PD_PREFIX + SZRGWConstants.IDENTIFICATION); + identificationElem.appendChild(createPersonDataElem(document, SZRGWConstants.VALUE, identificationValue)); + identificationElem.appendChild(createPersonDataElem(document, SZRGWConstants.TYPE, identificationType)); + return identificationElem; + } + private Element createNameElem(Document document, String givenName, String familyName) { + Element nameElem = document.createElementNS(Constants.PD_NS_URI, SZRGWConstants.PD_PREFIX + SZRGWConstants.NAME); + nameElem.appendChild(createPersonDataElem(document, SZRGWConstants.GIVENNAME, givenName)); + nameElem.appendChild(createPersonDataElem(document, SZRGWConstants.FAMILYNAME, familyName)); + return nameElem; + } + private Element createPostalAddressElem(Document document, String postalCode, String municipality, String streetName, String buildingNumber, String unit) { + + if (ParepUtils.isEmpty(postalCode) && ParepUtils.isEmpty(municipality) && ParepUtils.isEmpty(streetName) + && ParepUtils.isEmpty(buildingNumber) && ParepUtils.isEmpty(unit)) return null; + Element postalAddressElem = document.createElementNS(Constants.PD_NS_URI, SZRGWConstants.PD_PREFIX + SZRGWConstants.POSTALADDRESS); + + if (!ParepUtils.isEmpty(postalCode)) { + postalAddressElem.appendChild(createPersonDataElem(document, SZRGWConstants.POSTALCODE, postalCode)); + } + if (!ParepUtils.isEmpty(municipality)) { + postalAddressElem.appendChild(createPersonDataElem(document, SZRGWConstants.MUNICIPALITY, municipality)); + } + if (!ParepUtils.isEmpty(streetName) || !ParepUtils.isEmpty(buildingNumber) || !ParepUtils.isEmpty(unit)) { + Element deliveryAddressElem = document.createElementNS(Constants.PD_NS_URI, SZRGWConstants.PD_PREFIX + SZRGWConstants.DELIVERYADDRESS); + + if (!ParepUtils.isEmpty(streetName)) { + deliveryAddressElem.appendChild(createPersonDataElem(document, SZRGWConstants.STREETNAME, streetName)); + } + if (!ParepUtils.isEmpty(buildingNumber)) { + deliveryAddressElem.appendChild(createPersonDataElem(document, SZRGWConstants.BUILDINGNUMBER, buildingNumber)); + } + if (!ParepUtils.isEmpty(unit)) { + deliveryAddressElem.appendChild(createPersonDataElem(document, SZRGWConstants.UNIT, unit)); + } + postalAddressElem.appendChild(deliveryAddressElem); + } + return postalAddressElem; + } + + + + /** + * Sets the Representative. + * + * @param params InfoboxValidatorParams contain the data of the representative. + * @param identificationType the type of the identification of the representative (has to be urn:publicid:gv.at:cdid). + * @param identificationValue the identification value (bPK). + */ + public void setRepresentative(InfoboxValidatorParams params, String identificationType, String identificationValue) throws SZRGWClientException { + + Document representativeDocument = ParepUtils.createEmptyDocument(); + + Element representativeElem = representativeDocument.createElementNS(SZRGWConstants.SZRGW_REQUEST_NS, SZRGWConstants.SZRGW_PREFIX + SZRGWConstants.REPRESENTATIVE); +// representativeElem.setAttribute("xmlns" + SZRGWConstants.PD_POSTFIX, Constants.PD_NS_URI); +// representativeElem.setAttribute("xmlns" + SZRGWConstants.SZRGW_POSTFIX, SZRGWConstants.SZRGW_REQUEST_NS); + + representativeElem.appendChild(createIdentificationElem(representativeDocument, identificationType, identificationValue)); + representativeElem.appendChild(createNameElem(representativeDocument, params.getGivenName(), params.getFamilyName())); + representativeElem.appendChild(createPersonDataElem(representativeDocument, SZRGWConstants.DATEOFBIRTH, params.getDateOfBirth())); + + this.representative = representativeElem; + } + + /** + * @return the signature + */ + public Element getSignature() { + return signature; + } + + /** + * @param signature the signature to set + */ + public void setSignature(Element signature) throws SZRGWClientException{ + Document signatureDocument = ParepUtils.createEmptyDocument(); + Element signatureElem = signatureDocument.createElementNS(SZRGWConstants.SZRGW_REQUEST_NS, SZRGWConstants.SZRGW_PREFIX + "Signature"); + //SZR-gateway takes the first Signature + //signatureElem.setAttribute("SignatureLocation", "//saml:Assertion/dsig:Signature"); + signatureElem.appendChild(signatureDocument.importNode(signature, true)); + this.signature = signatureElem; + } + + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/CreateMandateResponse.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/CreateMandateResponse.java new file mode 100644 index 000000000..0f6ed8abf --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/CreateMandateResponse.java @@ -0,0 +1,130 @@ +package at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw; + +import java.io.FileInputStream; +import java.util.Hashtable; +import org.apache.xpath.XPathAPI; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + + +/** + * This class implements a SZR-gateway CreateMandate Response. + * + * @author Peter Danner + */ +public class CreateMandateResponse { + + /** + * Result code of the request. + */ + private int resultCode; + + /** + * Description of the result. + */ + private String resultInfo; + + /** + * The returned mandate. + */ + private Element mandate; + + /** + * @return the resultCode + */ + public int getResultCode() { + return resultCode; + } + + /** + * @param resultCode the resultCode to set + */ + public void setResultCode(String resultCode) { + if (resultCode!=null) { + this.resultCode = Integer.parseInt(resultCode); + } else { + this.resultCode = 0; + } + } + + /** + * @return the resultInfo + */ + public String getInfo() { + return resultInfo; + } + + /** + * @param resultInfo the resultInfo to set + */ + public void setInfo(String resultInfo) { + this.resultInfo = resultInfo; + } + + /** + * @return the mandate + */ + public Element getMandate() { + return mandate; + } + + /** + * @param mandate the mandate to set + */ + public void setMandate(Element mandate) { + this.mandate = mandate; + } + + + /** + * Parses the SZR-gateway response. + * + * @param response the SZR-gateway response. + * @throws SZRGWClientException if an error occurs. + */ + public void parse(Element response) throws SZRGWClientException { + try { + + // first check if response is a soap error + NodeList list = response.getElementsByTagName("faultstring"); + if (list.getLength() > 0) { + throw new SZRGWClientException("Fehler bei SZR-Gateway: "+list.item(0).getChildNodes().item(0).getNodeValue()); + } + + this.mandate = null; + this.resultCode = 2000; + this.resultInfo = null; + // parse single SZR-gateway results + Element nameSpaceNode = response.getOwnerDocument().createElement("NameSpaceNode"); + nameSpaceNode.setAttribute("xmlns" + SZRGWConstants.SZRGW_POSTFIX, SZRGWConstants.SZRGW_REQUEST_NS); + nameSpaceNode.setAttribute("xmlns" + SZRGWConstants.MANDATE_POSTFIX, SZRGWConstants.MANDATE_NS); + + Node mandateNode = XPathAPI.selectSingleNode(response, "//" + SZRGWConstants.SZRGW_PREFIX + SZRGWConstants.CREATE_MANDATE_RESPONSE + "/" + SZRGWConstants.MANDATE_PREFIX + SZRGWConstants.MANDATE, nameSpaceNode); + if (mandateNode!=null) { + this.mandate = (Element) mandateNode; + } else { + String errorResponse = "//" + SZRGWConstants.SZRGW_PREFIX + SZRGWConstants.CREATE_MANDATE_RESPONSE + "/" + SZRGWConstants.SZRGW_PREFIX + SZRGWConstants.ERROR_RESPONSE + "/"; + Node errorCode = XPathAPI.selectSingleNode(response, errorResponse + SZRGWConstants.SZRGW_PREFIX + "ErrorCode/text()", nameSpaceNode); + if (errorCode!=null) setResultCode(errorCode.getNodeValue()); + Node errorInfo = XPathAPI.selectSingleNode(response, errorResponse + SZRGWConstants.SZRGW_PREFIX + "Info/text()", nameSpaceNode); + this.setInfo(errorInfo.getNodeValue()); + } + } catch(Exception e) { + e.printStackTrace(); + throw new SZRGWClientException(e); + } + } + + public static void main(String[] args) throws Exception { +// CreateMandateResponse resp = new CreateMandateResponse(); +// Document doc = ParepUtils.readDocFromIs(new FileInputStream("c:/response2.xml")); +// Element response = doc.getDocumentElement(); +// resp.parse(response); +// System.out.println(resp.getResultCode()); +// System.out.println(resp.getInfo()); +// if (resp.getMandate()!=null) ParepUtils.serializeElement(resp.getMandate(), System.out); + } + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SOAPConstants.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SOAPConstants.java new file mode 100644 index 000000000..d9d248c81 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SOAPConstants.java @@ -0,0 +1,23 @@ +package at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw; + +/** + * SOAP Envelope Constants. + * + * @author Arne Tauber + * @version $ $ + **/ +public interface SOAPConstants { + + /* + * Namespaces and namespace prefixes for SOAP message handling + */ + String SOAP_ENV_NS = "http://schemas.xmlsoap.org/soap/envelope/"; + String SOAP_ENV_ENCODING_STYLE = "http://schemas.xmlsoap.org/soap/encoding/"; + String SOAP_ENV_PREFIX = "soapenv:"; + String SOAP_ENV_POSTFIX = ":soapenv"; + + String ENVELOPE = "Envelope"; + String BODY = "Body"; + String ENCODING_STYLE = "encodingStyle"; + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWClient.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWClient.java new file mode 100644 index 000000000..1e6dc1039 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWClient.java @@ -0,0 +1,144 @@ + +package at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.security.Security; + +import javax.net.ssl.SSLSocketFactory; +import org.apache.commons.httpclient.HttpClient; +import org.apache.commons.httpclient.methods.PostMethod; +import org.apache.commons.httpclient.protocol.Protocol; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +import at.gv.egovernment.moa.id.auth.validator.parep.ParepUtils; +import at.gv.egovernment.moa.id.config.ConfigurationException; +import at.gv.egovernment.moa.logging.Logger; + + +/** + * This class implements a client for communication with the SZR-gateway + *

+ * Two types of requests are supported + *

    + *
  1. Basic Request
  2. + *
  3. Detailed Request
  4. + *
+ * + * @author Peter Danner + */ +public class SZRGWClient { + /** + * The URL of the SZR-gateway webservice. + */ + private String address; + + /** + * The SSL socket factory when using a secure connection. + */ + private SSLSocketFactory sSLSocketFactory; + + /** + * Constructor + */ + public SZRGWClient() { + } + + /** + * Constructor + * + * @param address the URL of the SZR-gateway webservice. + */ + public SZRGWClient(String address) { + this.address = address; + } + /** + * Sets the SSL socket factory. + * + * @param factory the SSL socket factory. + */ + public void setSSLSocketFactory(SSLSocketFactory factory) { + this.sSLSocketFactory = factory; + } + + /** + * Sets the SZR webservice URL + * + * @param address the URL of the SZR-gateway webservice. + */ + public void setAddress(String address) { + this.address = address; + } + + /** + * Creates a mandate. + * + * @param reqElem the request. + * @return a SZR-gateway response containing the result + * @throws SZRGWException when an error occurs creating the mandate. + */ + public CreateMandateResponse createMandateResponse(Element reqElem) throws SZRGWClientException { + Logger.info("Connecting to SZR-gateway."); + try { + if (address == null) { + throw new NullPointerException("Address (SZR-gateway ServiceURL) must not be null."); + } + HttpClient client = new HttpClient(); + PostMethod method = new PostMethod(address); + method.setRequestHeader("SOAPAction", ""); + + + // ssl settings + if (sSLSocketFactory != null) { + SZRGWSecureSocketFactory fac = new SZRGWSecureSocketFactory(sSLSocketFactory); + Protocol.registerProtocol("https", new Protocol("https", fac, 443)); + } + + // create soap body + Element soapBody = getSOAPBody(); + Document doc = soapBody.getOwnerDocument(); + soapBody.appendChild(doc.importNode(reqElem, true)); + Element requestElement = soapBody.getOwnerDocument().getDocumentElement(); + + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + ParepUtils.serializeElementAsDocument(requestElement, bos); + + method.setRequestBody(new ByteArrayInputStream(bos.toByteArray())); + + client.executeMethod(method); + CreateMandateResponse response = new CreateMandateResponse(); + + bos = new ByteArrayOutputStream(); + doc = ParepUtils.readDocFromIs(method.getResponseBodyAsStream()); + + response.parse(doc.getDocumentElement()); + + + return response; + } catch(Exception e) { + //e.printStackTrace(); + throw new SZRGWClientException(e); + } + } + + /* + * builds an XML soap envelope + */ + private Element getSOAPBody() throws SZRGWClientException { + Document doc_ = ParepUtils.createEmptyDocument(); + Element root = doc_.createElementNS(SOAPConstants.SOAP_ENV_NS, SOAPConstants.SOAP_ENV_PREFIX + SOAPConstants.ENVELOPE); + doc_.appendChild(root); + + root.setAttribute("xmlns" + SOAPConstants.SOAP_ENV_POSTFIX, SOAPConstants.SOAP_ENV_NS); + //root.setAttribute(SOAPConstants.SOAP_ENV_PREFIX + SOAPConstants.ENCODING_STYLE, SOAPConstants.SOAP_ENV_ENCODING_STYLE); + root.setAttribute("xmlns:xsd", "http://www.w3.org/2001/XMLSchema"); + root.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance"); + + Element body = doc_.createElementNS(SOAPConstants.SOAP_ENV_NS, SOAPConstants.SOAP_ENV_PREFIX + SOAPConstants.BODY); + root.appendChild(body); + + return body; + } + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWClientException.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWClientException.java new file mode 100644 index 000000000..11aaf289b --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWClientException.java @@ -0,0 +1,37 @@ +package at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw; + +/** + * This class implements the basic exception type for the SZR-gateway client + * + * @author Peter Danner + */ +public class SZRGWClientException extends Exception { + + /* + * see super constructor. + */ + public SZRGWClientException() { + super(); + } + + /* + * see super constructor. + */ + public SZRGWClientException(String arg0) { + super(arg0); + } + + /* + * see super construction. + */ + public SZRGWClientException(Throwable arg0) { + super(arg0); + } + + /* + * see super constructor + */ + public SZRGWClientException(String arg0, Throwable arg1) { + super(arg0, arg1); + } +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWConstants.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWConstants.java new file mode 100644 index 000000000..4f815f1e7 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWConstants.java @@ -0,0 +1,51 @@ +package at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw; + +/** + * This interface specifies all the constants needed for the communication with the SZR-gateway. + * + * @author Peter Danner + */ +public interface SZRGWConstants { + + //PersonData + String PD_PREFIX = "pr:"; + String PD_POSTFIX = ":pr"; + String PERSON = "Person"; + String PHYSICALPERSON = "PhysicalPerson"; + String CORPORATEBODY = "CorporateBody"; + String IDENTIFICATION = "Identification"; + String VALUE = "Value"; + String TYPE = "Type"; + String NAME = "Name"; + String GIVENNAME = "GivenName"; + String FAMILYNAME = "FamilyName"; + String DATEOFBIRTH = "DateOfBirth"; + String FULLNAME = "FullName"; + String ORGANIZATION = "Organization"; + + String POSTALADDRESS = "PostalAddress"; + String DELIVERYADDRESS = "DeliveryAddress"; + String MUNICIPALITY = "Municipality"; + String POSTALCODE = "PostalCode"; + String STREETNAME = "StreetName"; + String BUILDINGNUMBER = "BuildingNumber"; + String UNIT = "Unit"; + //String ADDRESS = "Address"; + //String COUNTRYCODE = "CountryCode"; + //String DOORNUMBER = "DoorNumber"; + + // SZR-gateway constants + String SZRGW_REQUEST_NS = "http://reference.e-government.gv.at/namespace/szrgw/20070807#"; + String MANDATE_NS = "http://reference.e-government.gv.at/namespace/mandates/20040701#"; + String SZRGW_PREFIX = "sgw:"; + String SZRGW_POSTFIX = ":sgw"; + String CREATE_MANDATE_REQUEST = "CreateMandateRequest"; + String CREATE_MANDATE_RESPONSE = "CreateMandateResponse"; + String ERROR_RESPONSE = "ErrorResponse"; + String MANDATOR = "Mandator"; + String REPRESENTATIVE = "Representative"; + String MANDATE = "Mandate"; + String MANDATE_PREFIX = "md:"; + String MANDATE_POSTFIX = ":md"; + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWSecureSocketFactory.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWSecureSocketFactory.java new file mode 100644 index 000000000..41a07d146 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/client/szrgw/SZRGWSecureSocketFactory.java @@ -0,0 +1,94 @@ +package at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw; + +import java.io.IOException; +import java.net.InetAddress; +import java.net.Socket; +import java.net.UnknownHostException; +import javax.net.ssl.SSLSocketFactory; +import org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory; + + +/** + * This class implements a secure protocol socket factory + * for the Apache HTTP client. + * + * @author Peter Danner + */ +public class SZRGWSecureSocketFactory implements SecureProtocolSocketFactory { + + /** + * The SSL socket factory. + */ + private SSLSocketFactory factory; + + /** + * Creates a new Secure socket factory for the + * Apache HTTP client. + * + * @param factory the SSL socket factory to use. + */ + public SZRGWSecureSocketFactory(SSLSocketFactory factory) { + this.factory = factory; + } + + + /** + * @see SecureProtocolSocketFactory#createSocket(java.lang.String,int,java.net.InetAddress,int) + */ + public Socket createSocket( + String host, + int port, + InetAddress clientHost, + int clientPort) + throws IOException, UnknownHostException { + + return this.factory.createSocket( + host, + port, + clientHost, + clientPort + ); + } + + /** + * @see SecureProtocolSocketFactory#createSocket(java.lang.String,int) + */ + public Socket createSocket(String host, int port) + throws IOException, UnknownHostException { + return this.factory.createSocket( + host, + port + ); + } + + /** + * @see SecureProtocolSocketFactory#createSocket(java.net.Socket,java.lang.String,int,boolean) + */ + public Socket createSocket( + Socket socket, + String host, + int port, + boolean autoClose) + throws IOException, UnknownHostException { + return this.factory.createSocket( + socket, + host, + port, + autoClose + ); + } + + /** + * @see java.lang.Object#equals(java.lang.Object) + */ + public boolean equals(Object obj) { + return ((obj != null) && obj.getClass().equals(SZRGWSecureSocketFactory.class)); + } + + /** + * @see java.lang.Object#hashCode() + */ + public int hashCode() { + return SZRGWSecureSocketFactory.class.hashCode(); + } +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/config/ParepConfiguration.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/config/ParepConfiguration.java new file mode 100644 index 000000000..c56555b2e --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/parep/config/ParepConfiguration.java @@ -0,0 +1,411 @@ +package at.gv.egovernment.moa.id.auth.validator.parep.config; + +import java.io.File; +import java.io.FileInputStream; +import java.util.HashMap; + +import org.apache.xpath.XPathAPI; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +import at.gv.egovernment.moa.id.auth.validator.parep.ParepUtils; +import at.gv.egovernment.moa.id.auth.validator.parep.ParepValidator; +import at.gv.egovernment.moa.id.auth.validator.parep.PartyRepresentative; +import at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw.SZRGWConstants; +import at.gv.egovernment.moa.id.config.ConfigurationException; +import at.gv.egovernment.moa.id.config.ConfigurationProvider; +import at.gv.egovernment.moa.id.config.ConnectionParameter; +import at.gv.egovernment.moa.logging.Logger; +import at.gv.egovernment.moa.util.BoolUtils; +import at.gv.egovernment.moa.util.Constants; + +/** + * This class implements the Configuration. + * + * @author Peter Danner + */ +public class ParepConfiguration { + + /** + * System property for config file. + */ + public final static String PAREP_VALIDATOR_CONFIG = "parep.validator.config"; + + /** + * SZR-GW connection parameters. + */ + private ConnectionParameter standardConnectionParameters; + + /** + * Input field processor. + */ + private String standardInputProcessorClass; + + /** + * Input field processor template. + */ + private String standardInputProcessorTemplate; + + /** + * Configured party representatives. + */ + private HashMap partyRepresentatives; + + /** + * The configuration element. + */ + private Element configElement = null; + + /** + * Defines whether the user input form must be shown on each + * request or not (also predefined mandates) + */ + private boolean alwaysShowForm = false; + + /** + * The configuration base directory. + */ + private String baseDir_; + + /** + * Gets the SZR-GW connection parameters. + * + * @return the connection parameters. + */ + public ConnectionParameter getConnectionParameters(String representationID) { + if (partyRepresentatives == null || "*".equals(representationID)) + return standardConnectionParameters; + PartyRepresentative pr = (PartyRepresentative) partyRepresentatives.get(representationID); + ConnectionParameter connectionParameters = pr.getConnectionParameters(); + if (connectionParameters==null) connectionParameters = standardConnectionParameters; + return connectionParameters; + } + + /** + * Sets the SZR-GW connection parameters for standard connection. + * + * @param connectionParameters + * the connection parameters. + */ + public void setStandardConnectionParameters(ConnectionParameter connectionParameters) { + this.standardConnectionParameters = connectionParameters; + } + + /* + * + */ + public String getFullDirectoryName(String fileString) { + return makeAbsoluteURL(fileString, baseDir_); + } + + /* + * + */ + private static String makeAbsoluteURL(String url, String root) { + // if url is relative to rootConfigFileDirName make it absolute + + File keyFile; + String newURL = url; + + if (null == url) + return null; + + if (url.startsWith("http:/") || url.startsWith("https:/") || url.startsWith("ftp:/") || url.startsWith("file:/") || url.startsWith("file:\\")) { + return url; + } else { + // check if absolute - if not make it absolute + keyFile = new File(url); + if (!keyFile.isAbsolute()) { + keyFile = new File(root, url); + newURL = keyFile.getPath(); + } + return newURL; + } + } + + /** + * Initializes the configuration with a given XML configuration element found + * in the MOA-ID configuration. + * + * @param configElem + * the configuration element. + * @throws ConfigurationException + * if an error occurs initializing the configuration. + */ + public ParepConfiguration(Element configElem) throws ConfigurationException { + + partyRepresentatives = new HashMap(); + partyRepresentatives.put("*", new PartyRepresentative(true, true)); + + String fileName = System.getProperty(ConfigurationProvider.CONFIG_PROPERTY_NAME); + + try { + + baseDir_ = (new File(fileName)).getParentFile().toURL().toString(); + Logger.trace("Config base directory: " + baseDir_); + // check for configuration in system properties + if (System.getProperty(PAREP_VALIDATOR_CONFIG) != null) { + Document doc = ParepUtils.readDocFromIs(new FileInputStream(System.getProperty(PAREP_VALIDATOR_CONFIG))); + this.configElement = doc.getDocumentElement(); + } else { + this.configElement = configElem; + } + } catch (Exception e) { + throw new ConfigurationException("Allgemeiner Fehler beim Einlesen der ParepValidatorConfiguration", null, e); + } + load(); + } + + /* + * + */ + private void load() throws ConfigurationException { + Logger.debug("Parse ParepValidator Konfiguration"); + try { + Element nameSpaceNode = configElement.getOwnerDocument().createElement("NameSpaceNode"); + nameSpaceNode.setAttribute("xmlns:" + Constants.MOA_ID_CONFIG_PREFIX, Constants.MOA_ID_CONFIG_NS_URI); + // nameSpaceNode.setAttribute("xmlns:sgw", + // SZRGWConstants.SZRGW_PROFILE_NS); + + Node inputProcessorNode = XPathAPI.selectSingleNode(configElement, Constants.MOA_ID_CONFIG_PREFIX + ":PartyRepresentation/" + + Constants.MOA_ID_CONFIG_PREFIX + ":InputProcessor", nameSpaceNode); + if (inputProcessorNode != null) { + this.standardInputProcessorTemplate = ((Element) inputProcessorNode).getAttribute("template"); + Node inputProcessorClassNode = XPathAPI.selectSingleNode(configElement, Constants.MOA_ID_CONFIG_PREFIX + ":PartyRepresentation/" + + Constants.MOA_ID_CONFIG_PREFIX + ":InputProcessor/text()", nameSpaceNode); + if (inputProcessorClassNode != null) { + this.standardInputProcessorClass = inputProcessorClassNode.getNodeValue(); + } + } + Node alwaysShowFormNode = XPathAPI.selectSingleNode(configElement, Constants.MOA_ID_CONFIG_PREFIX + ":PartyRepresentation/" + + Constants.MOA_ID_CONFIG_PREFIX + ":AlwaysShowForm/text()", nameSpaceNode); + if (alwaysShowFormNode != null) { + this.setAlwaysShowForm(alwaysShowFormNode.getNodeValue()); + } + + // load connection parameters + Logger.debug("Lade SZR-Gateway Standard Verbindungsparameter"); + Element connectionParamElement = (Element) XPathAPI.selectSingleNode(configElement, Constants.MOA_ID_CONFIG_PREFIX + ":PartyRepresentation/" + + Constants.MOA_ID_CONFIG_PREFIX + ":ConnectionParameter", nameSpaceNode); + if (connectionParamElement != null) { + // parse connection parameters + // ParepUtils.serializeElement(connectionParamElement, System.out); + this.standardConnectionParameters = buildConnectionParameter(connectionParamElement, nameSpaceNode); + } + + Logger.debug("Lade Konfiguration der Parteienvertreter"); + NodeList partyRepresentativeNodeList = XPathAPI.selectNodeList(configElement, Constants.MOA_ID_CONFIG_PREFIX + ":PartyRepresentation/" + + Constants.MOA_ID_CONFIG_PREFIX + ":PartyRepresentative", nameSpaceNode); + for (int i = 0; i < partyRepresentativeNodeList.getLength(); i++) { + + PartyRepresentative partyRepresentative = new PartyRepresentative(); + + Element partyRepresentativeElement = (Element) partyRepresentativeNodeList.item(i); + boolean representPhysicalParty = partyRepresentativeElement.getAttribute("representPhysicalParty").equalsIgnoreCase("true") ? true : false; + boolean representCorporateParty = partyRepresentativeElement.getAttribute("representCorporateParty").equalsIgnoreCase("true") ? true : false; + partyRepresentative.setOid(partyRepresentativeElement.getAttribute("oid")); + partyRepresentative.setRepresentingPhysicalParty(representPhysicalParty); + partyRepresentative.setRepresentingCorporateParty(representCorporateParty); + partyRepresentative.setRepresentationText(partyRepresentativeElement.getAttribute("representationText")); + + Node inputProcessorSubNode = XPathAPI.selectSingleNode(partyRepresentativeElement, Constants.MOA_ID_CONFIG_PREFIX + ":InputProcessor", nameSpaceNode); + if (inputProcessorSubNode != null) { + partyRepresentative.setInputProcessorTemplate(((Element) inputProcessorSubNode).getAttribute("template")); + Node inputProcessorClassSubNode = XPathAPI.selectSingleNode(partyRepresentativeElement, Constants.MOA_ID_CONFIG_PREFIX + + ":InputProcessor/text()", nameSpaceNode); + if (inputProcessorClassSubNode != null) { + partyRepresentative.setInputProcessorClass(inputProcessorClassSubNode.getNodeValue()); + } + } + + Element connectionParamSubElement = (Element) XPathAPI.selectSingleNode(partyRepresentativeElement, Constants.MOA_ID_CONFIG_PREFIX + + ":ConnectionParameter", nameSpaceNode); + if (connectionParamSubElement == null) { + if (this.standardConnectionParameters == null) { + throw new ConfigurationException("Fehler beim Parsen der ParepValidatorConfiguration: SZR-GW Verbindungsparameter zu Parteienvetreter " + + partyRepresentative.getOid() + " fehlen.", null, null); + } + } else { + // parse connection parameters + // ParepUtils.serializeElement(connectionParamSubElement, System.out); + partyRepresentative.setConnectionParameters(buildConnectionParameter(connectionParamSubElement, nameSpaceNode)); + } + partyRepresentatives.put(partyRepresentative.getOid(), partyRepresentative); + Logger.info("Parteienvertreter: " + partyRepresentative.getOid() + " erfolgreich konfiguriert (representPhysicalParty=" + + partyRepresentative.isRepresentingPhysicalParty() + ", representCorporateParty=" + partyRepresentative.isRepresentingCorporateParty() + + ", representationText=" + partyRepresentative.getRepresentationText() + + ")"); + } + + Logger.debug("ParepValidator Konfiguration erfolgreich geparst."); + } catch (Exception e) { + throw new ConfigurationException("Allgemeiner Fehler beim Parsen der MandateValidatorConfiguration", null, e); + } + } + + /* + * + */ + private ConnectionParameter buildConnectionParameter(Element connParamElement, Element nameSpaceNode) throws ConfigurationException { + try { + ConnectionParameter connectionParameter = new ConnectionParameter(); + + // parse connection url + String URL = connParamElement.getAttribute("URL"); + connectionParameter.setUrl(URL); + + // accepted server certificates + Node accServerCertsNode = XPathAPI.selectSingleNode(connParamElement, Constants.MOA_ID_CONFIG_PREFIX + ":AcceptedServerCertificates/text()", + nameSpaceNode); + if (accServerCertsNode != null) { + + String serverCertsDir = getFullDirectoryName(accServerCertsNode.getNodeValue()); + Logger.debug("Full directory name of accepted server certificates: " + serverCertsDir); + connectionParameter.setAcceptedServerCertificates(serverCertsDir); + } + + // client key store + Node clientKeyStoreNode = XPathAPI.selectSingleNode(connParamElement, Constants.MOA_ID_CONFIG_PREFIX + ":ClientKeyStore/text()", nameSpaceNode); + if (clientKeyStoreNode != null) { + String clientKeystore = getFullDirectoryName(clientKeyStoreNode.getNodeValue()); + connectionParameter.setClientKeyStore(clientKeystore); + } + + // client key store password + Node clientKeyStorePasswordNode = XPathAPI.selectSingleNode(connParamElement, Constants.MOA_ID_CONFIG_PREFIX + ":ClientKeyStore/@password", + nameSpaceNode); + if (clientKeyStorePasswordNode != null) { + connectionParameter.setClientKeyStorePassword(clientKeyStorePasswordNode.getNodeValue()); + } + + return connectionParameter; + } catch (Exception e) { + throw new ConfigurationException("Allgemeiner Fehler beim Parsen der ParepValidator ConnectionParameter.", null, e); + } + } + + public boolean isPartyRepresentative(String representationID) { + if (partyRepresentatives == null) + return false; + PartyRepresentative pr = (PartyRepresentative) partyRepresentatives.get(representationID); + return pr != null; + } + + public boolean isRepresentingCorporateParty(String representationID) { + if (partyRepresentatives == null) return false; + PartyRepresentative pr = (PartyRepresentative) partyRepresentatives.get(representationID); + if (pr == null) return false; + return pr.isRepresentingCorporateParty(); + } + + public boolean isRepresentingPhysicalParty(String representationID) { + if (partyRepresentatives == null) return false; + PartyRepresentative pr = (PartyRepresentative) partyRepresentatives.get(representationID); + if (pr == null) return false; + return pr.isRepresentingPhysicalParty(); + } + + public String getRepresentationText(String representationID) { + String result = ParepValidator.STANDARD_REPRESENTATION_TEXT; + if (partyRepresentatives != null) { + PartyRepresentative pr = (PartyRepresentative) partyRepresentatives.get(representationID); + if (pr != null) { + if (!ParepUtils.isEmpty(pr.getRepresentationText())) result = pr.getRepresentationText(); + } + } + return result; + } + + /** + * @return the input processor classname corresponding to representationID + * @param representationID + * the representation ID. + */ + public String getInputProcessorClass(String representationID) { + String inputProcessorClass = standardInputProcessorClass; + if (ParepUtils.isEmpty(inputProcessorClass)) inputProcessorClass = ParepValidator.PAREP_INPUT_PROCESSOR; + if (!(partyRepresentatives == null || "*".equals(representationID))) { + PartyRepresentative pr = (PartyRepresentative) partyRepresentatives.get(representationID); + if (pr!=null) { + String prInputProcessorClass = pr.getInputProcessorClass(); + if (!ParepUtils.isEmpty(prInputProcessorClass)) inputProcessorClass = prInputProcessorClass; + } + } + return inputProcessorClass; + } + + /** + * @param standardInputProcessorClass the standardInputProcessorClass to set + */ + public void setStandardInputProcessorClass(String standardInputProcessorClass) { + this.standardInputProcessorClass = standardInputProcessorClass; + } + + /** + * @return the InputProcessorTemplate + */ + public String getInputProcessorTemplate(String representationID) { + String inputProcessorTemplate = standardInputProcessorTemplate; + if (ParepUtils.isEmpty(inputProcessorTemplate)) inputProcessorTemplate = ParepValidator.PAREP_INPUT_TEMPLATE; + if (!(partyRepresentatives == null || "*".equals(representationID))) { + PartyRepresentative pr = (PartyRepresentative) partyRepresentatives.get(representationID); + if (pr!=null) { + String prInputProcessorTemplate = pr.getInputProcessorTemplate(); + if (!ParepUtils.isEmpty(prInputProcessorTemplate)) inputProcessorTemplate = prInputProcessorTemplate; + } + } + return inputProcessorTemplate; + } + + /** + * @param standardInputProcessorTemplate the standardInputProcessorTemplate to set + */ + public void setStandardInputProcessorTemplate(String standardInputProcessorTemplate) { + this.standardInputProcessorTemplate = standardInputProcessorTemplate; + } + + /** + * @return the alwaysShowForm + */ + public boolean isAlwaysShowForm() { + return alwaysShowForm; + } + + /** + * @param alwaysShowForm the alwaysShowForm to set + */ + public void setAlwaysShowForm(String alwaysShowForm) { + if (ParepUtils.isEmpty(alwaysShowForm)) { + this.alwaysShowForm = false; + } else { + this.alwaysShowForm = alwaysShowForm.equalsIgnoreCase("true"); + } + } + + public static boolean isMandateCompatibilityMode(Element configElement) throws ConfigurationException { + try { + Element nameSpaceNode = configElement.getOwnerDocument().createElement("NameSpaceNode"); + nameSpaceNode.setAttribute("xmlns:" + Constants.MOA_ID_CONFIG_PREFIX, Constants.MOA_ID_CONFIG_NS_URI); + Node mandateCompatibilityNode = XPathAPI.selectSingleNode(configElement, Constants.MOA_ID_CONFIG_PREFIX + ":CompatibilityMode/text()", nameSpaceNode); + if (mandateCompatibilityNode != null && !ParepUtils.isEmpty(mandateCompatibilityNode.getNodeValue())) { + return mandateCompatibilityNode.getNodeValue().equalsIgnoreCase("true"); + } + return false; + } catch (Exception e) { + throw new ConfigurationException("Allgemeiner Fehler beim Parsen der ParepValidator ConnectionParameter.", null, e); + } + + } + + +// public static void main(String[] args) throws Exception { +// System.setProperty(PAREP_VALIDATOR_CONFIG, "c:/Doku/work/Organwalter/ConfigurationSnippetAppSpecific.xml"); +// System.setProperty("moa.id.configuration", "c:/workspace33moa/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/conf/moa-id/SampleMOAWIDConfiguration_withTestBKsProxy.xml"); +// System.setProperty("log4j.configuration", "file:c:/workspace33moa/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/conf/moa-id/log4j.properties"); +// Configuration cfg = new Configuration(null); +// System.out.println(cfg.getInputProcessorClass("1.2.40.0.10.3.110")); +//} + +} diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationBuilder.java index 90b780526..27955602f 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationBuilder.java @@ -79,6 +79,9 @@ public class ConfigurationBuilder { /** an XPATH-Expression */ protected static final String AUTH_TEMPLATE_XPATH = ROOT + CONF + "AuthComponent/" + CONF + "Templates/" + CONF + "Template/@URL"; + /** an XPATH-Expression */ + protected static final String INPUT_PROCESSOR_TEMPLATE_XPATH = + ROOT + CONF + "AuthComponent/" + CONF + "Templates/" + CONF + "InputProcessorSignTemplate/@URL"; /** an XPATH-Expression */ public static final String AUTH_SECLAYER_TRANSFORMS_INFO_FILENAME_XPATH = ROOT + CONF + "AuthComponent/" + CONF + "SecurityLayer/" + CONF + "TransformsInfo/@filename"; @@ -392,6 +395,8 @@ public class ConfigurationBuilder { XPathUtils.getAttributeValue(configElem_, AUTH_BKUSELECT_TEMPLATE_XPATH, null); String templateURL = XPathUtils.getAttributeValue(configElem_, AUTH_TEMPLATE_XPATH, null); + String inputProcessorSignTemplateURL = + XPathUtils.getAttributeValue(configElem_, INPUT_PROCESSOR_TEMPLATE_XPATH, null); List OA_set = new ArrayList(); NodeList OAIter = XPathUtils.selectNodeList(configElem_, OA_XPATH); @@ -457,6 +462,7 @@ public class ConfigurationBuilder { oap.setProvideCertificate(BoolUtils.valueOf(authComponent.getAttribute("provideCertificate"))); oap.setBkuSelectionTemplateURL(buildTemplateURL(authComponent, OA_AUTH_COMPONENT_BKUSELECT_TEMPLATE_XPATH, bkuSelectionTemplateURL)); oap.setTemplateURL(buildTemplateURL(authComponent, OA_AUTH_COMPONENT_TEMPLATE_XPATH, templateURL)); + oap.setInputProcessorSignTemplateURL(buildTemplateURL(authComponent, INPUT_PROCESSOR_TEMPLATE_XPATH, inputProcessorSignTemplateURL)); // load OA specific transforms if present String[] transformsInfoFileNames = buildTransformsInfoFileNames(authComponent, OA_AUTH_COMPONENT_TRANSFORMS_INFO_FILENAME_XPATH); try { @@ -669,7 +675,7 @@ public class ConfigurationBuilder { String identifier = number.getAttribute("Identifier"); // remove all blanks identificationNumber = StringUtils.removeBlanks(identificationNumber); - if (number.getLocalName().equals("Firmenbuchnummer") || identifier.equalsIgnoreCase("fn")) { + if (number.getLocalName().equals("Firmenbuchnummer") || identifier.equalsIgnoreCase("fn") || identifier.equalsIgnoreCase("xfn")) { // delete zeros from the beginning of the number identificationNumber = StringUtils.deleteLeadingZeros(identificationNumber); // remove hyphens diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java index ba3b61f9d..132bebce3 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java @@ -64,6 +64,10 @@ public class OAAuthParameter extends OAParameter { * template for web page "Anmeldung mit Bürgerkarte" */ private String templateURL; + /** + * template for web page "Signatur der Anmeldedaten" + */ + private String inputProcessorSignTemplateURL; /** * Parameters for verifying infoboxes. */ @@ -163,6 +167,15 @@ public class OAAuthParameter extends OAParameter { return templateURL; } + /** + * Returns the inputProcessorSignTemplateURL url. + * @return The inputProcessorSignTemplateURL url or null if no url for + * a input processor sign template is set. + */ + public String getInputProcessorSignTemplateURL() { + return inputProcessorSignTemplateURL; + } + /** * Returns the parameters for verifying additional infoboxes. * @@ -257,6 +270,16 @@ public class OAAuthParameter extends OAParameter { this.templateURL = templateURL; } + /** + * Sets the input processor sign form template url. + * + * @param inputProcessorSignTemplateURL The url string specifying the + * location of the input processor sign form + */ + public void setInputProcessorSignTemplateURL(String inputProcessorSignTemplateURL) { + this.inputProcessorSignTemplateURL = inputProcessorSignTemplateURL; + } + /** * Sets the parameters for verifying additonal (to the identitylink infobox) infoboxes. * @@ -265,4 +288,5 @@ public class OAAuthParameter extends OAParameter { public void setVerifyInfoboxParameters(VerifyInfoboxParameters verifyInfoboxParameters) { this.verifyInfoboxParameters = verifyInfoboxParameters; } + } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/ServletUtils.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/ServletUtils.java new file mode 100644 index 000000000..a4a89e183 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/ServletUtils.java @@ -0,0 +1,63 @@ +/** + * + */ +package at.gv.egovernment.moa.id.util; + +import java.io.IOException; +import java.io.OutputStream; + +import javax.servlet.http.HttpServletResponse; + +import at.gv.egovernment.moa.id.MOAIDException; +import at.gv.egovernment.moa.id.auth.AuthenticationServer; +import at.gv.egovernment.moa.id.auth.builder.DataURLBuilder; +import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; +import at.gv.egovernment.moa.logging.Logger; + +/** + * @author Peter Danner + * + */ +public class ServletUtils { + + /** + * Writes out whether the CreateXMLSignatureRequest or a Redirect for form input processing + * depending on the requests starting text. + * + * @param resp The httpServletResponse + * @param session The current AuthenticationSession + * @param createXMLSignatureRequestOrRedirect The request + * @param servletGoal The servlet to which the redirect should happen + * @param servletName The servlet name for debug purposes + * @throws MOAIDException + * @throws IOException + */ + public static void writeCreateXMLSignatureRequestOrRedirect(HttpServletResponse resp, AuthenticationSession session, String createXMLSignatureRequestOrRedirect, String servletGoal, String servletName) + throws MOAIDException, + IOException + { + if (!createXMLSignatureRequestOrRedirect.startsWith("Redirect")) { + resp.setStatus(307); + String dataURL = new DataURLBuilder().buildDataURL( + session.getAuthURL(), AuthenticationServer.REQ_VERIFY_AUTH_BLOCK, session.getSessionID()); + resp.addHeader("Location", dataURL); + + //TODO test impact of explicit setting charset with older versions of BKUs (HotSign) + resp.setContentType("text/xml;charset=UTF-8"); + + OutputStream out = resp.getOutputStream(); + out.write(createXMLSignatureRequestOrRedirect.getBytes("UTF-8")); + out.flush(); + out.close(); + Logger.debug("Finished POST " + servletName); + } else { + String redirectURL = new DataURLBuilder().buildDataURL(session.getAuthURL(), servletGoal, session.getSessionID()); + resp.setContentType("text/html"); + resp.setStatus(302); + resp.addHeader("Location", redirectURL); + Logger.debug("REDIRECT TO: " + redirectURL); + + } + } + +} diff --git a/id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties b/id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties index 4cfa6f765..8e8f9583b 100644 --- a/id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties +++ b/id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties @@ -64,6 +64,7 @@ parser.07=Fehler beim Parsen: Assoziatives Array im {0}-InfoboxResponse enth builder.00=Fehler beim Aufbau der Struktur "{0}": {1} builder.01=Fehlerhaftes Template: Kennung "{0}" fehlt +builder.02=Fehler beim Ausblenden von Stammzahlen service.00=Fehler beim Aufruf des Web Service: {0} service.01=Fehler beim Aufruf des Web Service: kein Endpoint @@ -156,5 +157,11 @@ validator.49=Beim Ermitteln der Personenbindungs-OID im Zertifikat, mit dem die validator.50=Transformationskette in der Signatur stimmt mit keiner Transformationskette aus dem Prüfprofil überein. +validator.60=Überprüfung der {0}-Infobox fehlgeschlagen: Vollmachtenprüfung ist für diesen Typ von Vollmachten nicht aktiviert. Die übermittelte Vollmacht kann nicht für eine Anmeldung verwendet werden. +validator.61=Überprüfung der {0}-Infobox fehlgeschlagen: Vollmachtenprüfung ist für diesen Typ von Vollmachten für berufliche Parteienvertreter nicht aktiviert. Die übermittelte Vollmacht kann nicht für eine Anmeldung verwendet werden. +validator.62=Fehler in der Übermittlung: keine primäre Vollmacht übergeben. +validator.63=Es ist ein Fehler bei der Formulargenerierung für berufliche Parteienvetretung aufgetreten. +validator.64=Fehler beim Austausch von Vollmachtsdaten +validator.65=Es ist ein Fehler bei der Formulargenerierung für berufliche Parteienvetretung aufgetreten - kein Formular zur Anzeige vorhanden. ssl.01=Validierung des SSL-Server-Endzertifikates hat fehlgeschlagen diff --git a/id/server/idserverlib/src/main/resources/resources/templates/ParepMinTemplate.html b/id/server/idserverlib/src/main/resources/resources/templates/ParepMinTemplate.html new file mode 100644 index 000000000..a7608b9b4 --- /dev/null +++ b/id/server/idserverlib/src/main/resources/resources/templates/ParepMinTemplate.html @@ -0,0 +1,134 @@ + + + + + +Berufliche Parteieinvertretung + + +Berufliche Parteienvertretung einer natürlichen/juristischen Person +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Vertreter:
Vorname  Dieses Feld muss ausgefüllt sein! +
Name  Dieses Feld muss ausgefüllt sein! +
Geburtsdatum  Dieses Feld muss ausgefüllt sein! + - + - +

+ Ich bin berufsmäßig berechtigt für die nachfolgend genannte Person in dessen Namen mit der Bürgerkarte einzuschreiten.
 

+ Vetretene Person:
 natürliche Person: 
Vorname  Dieses Feld muss ausgefüllt sein! Vorname laut ZMR Schreibweise +
Name  Dieses Feld muss ausgefüllt sein! Familienname laut ZMR Schreibweise +
Geburtsdatum  Dieses Feld muss ausgefüllt sein! + - + -  Format: JJJJ-MM-TT +
otional: +
Straße  Straüe laut ZMR Schreibweise +
Hausnmummer  Hausnummer laut ZMR Schreibweise +
Einh. Nr.  Nutzungseinheitsnummer laut ZMR Schreibweise +
Postleitzahl  Postleitzahl laut ZMR Schreibweise +
Gemeinde  Gemeinde laut ZMR Schreibweise +
 
 juristische Person: 
Name  Dieses Feld muss ausgefüllt sein! Name der Organisation laut ZMR Schreibweise +
  Dieses Feld muss ausgefüllt sein! Ordnungsbegriff laut ZMR Schreibweise +
+
+

Bitte halten Sie Ihre Bürgerkartenumgebung bereit.

+ + +

+ + diff --git a/id/server/idserverlib/src/main/resources/resources/templates/ParepTemplate.html b/id/server/idserverlib/src/main/resources/resources/templates/ParepTemplate.html new file mode 100644 index 000000000..acfd9ead6 --- /dev/null +++ b/id/server/idserverlib/src/main/resources/resources/templates/ParepTemplate.html @@ -0,0 +1,171 @@ + + + + + + +Berufliche Parteieinvertretung + + + + + + + + + + +
+ + + +
+
E-Gov Logo
+
+

Berufliche Parteienvertretung

+
+
+Bitte beachten Sie +
+
+
+
+ Dieses Feld muss ausgefüllt sein!  Feld muss ausgefüllt sein +
+
+ Hilfe zum Ausfüllen   Ausfüllhilfe +
+
+ Angabe bitte ergänzen oder richtig stellen!   Fehlerhinweis
+
 
+ +

Berufliche Parteienvertretung einer natürlichen/juristischen Person +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Vertreter:
Vorname  Dieses Feld muss ausgefüllt sein! +
Name  Dieses Feld muss ausgefüllt sein! +
Geburtsdatum  Dieses Feld muss ausgefüllt sein! + - + - +

+ Ich bin berufsmäßig berechtigt für die nachfolgend genannte Person in dessen Namen mit der Bürgerkarte einzuschreiten.
 

+ Vetretene Person:
 natürliche Person: 
Vorname  Dieses Feld muss ausgefüllt sein! Vorname laut ZMR Schreibweise +
Name  Dieses Feld muss ausgefüllt sein! Familienname laut ZMR Schreibweise +
Geburtsdatum  Dieses Feld muss ausgefüllt sein! + - + -  Format: JJJJ-MM-TT +
otional: +
Straße  Straüe laut ZMR Schreibweise +
Hausnmummer  Hausnummer laut ZMR Schreibweise +
Einh. Nr.  Nutzungseinheitsnummer laut ZMR Schreibweise +
Postleitzahl  Postleitzahl laut ZMR Schreibweise +
Gemeinde  Gemeinde laut ZMR Schreibweise +
 
 juristische Person: 
Name  Dieses Feld muss ausgefüllt sein! Name der Organisation laut ZMR Schreibweise +
  Dieses Feld muss ausgefüllt sein! Ordnungsbegriff laut ZMR Schreibweise +
+
+

Bitte halten Sie Ihre Bürgerkartenumgebung bereit.

+ + +

+ +
+ + diff --git a/id/server/pom.xml b/id/server/pom.xml index 246aec38d..c7c938666 100644 --- a/id/server/pom.xml +++ b/id/server/pom.xml @@ -4,14 +4,14 @@ MOA id - 1.4.2beta1 + 1.4.2beta2 4.0.0 MOA.id moa-id pom - 1.4.2beta1 + 1.4.2beta2 MOA ID Server diff --git a/id/server/proxy/.classpath b/id/server/proxy/.classpath new file mode 100644 index 000000000..5d93de69c --- /dev/null +++ b/id/server/proxy/.classpath @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/id/server/proxy/.project b/id/server/proxy/.project new file mode 100644 index 000000000..4e175804c --- /dev/null +++ b/id/server/proxy/.project @@ -0,0 +1,14 @@ + + moa-id-proxy + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.jdt.core.javanature + + \ No newline at end of file diff --git a/id/server/proxy/.settings/org.eclipse.jdt.core.prefs b/id/server/proxy/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..5ffa1b7e5 --- /dev/null +++ b/id/server/proxy/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,5 @@ +#Wed Aug 22 09:50:03 CEST 2007 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.3 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.source=1.3 +org.eclipse.jdt.core.compiler.compliance=1.3 diff --git a/id/server/proxy/pom.xml b/id/server/proxy/pom.xml index 218ee02f9..172bb99b5 100644 --- a/id/server/proxy/pom.xml +++ b/id/server/proxy/pom.xml @@ -2,7 +2,7 @@ MOA.id moa-id - 1.4.2beta1 + 1.4.2beta2 @@ -13,7 +13,7 @@ MOA.id.server moa-id-proxy war - 1.4.2beta1 + 1.4.2beta2 MOA ID-Proxy WebService diff --git a/id/templates/.classpath b/id/templates/.classpath new file mode 100644 index 000000000..5d93de69c --- /dev/null +++ b/id/templates/.classpath @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/id/templates/.project b/id/templates/.project new file mode 100644 index 000000000..f0a8631ce --- /dev/null +++ b/id/templates/.project @@ -0,0 +1,14 @@ + + moa-id-templates + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.jdt.core.javanature + + \ No newline at end of file diff --git a/id/templates/.settings/org.eclipse.jdt.core.prefs b/id/templates/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..c959c9def --- /dev/null +++ b/id/templates/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,5 @@ +#Wed Aug 22 09:50:02 CEST 2007 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.3 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.source=1.3 +org.eclipse.jdt.core.compiler.compliance=1.3 diff --git a/id/templates/pom.xml b/id/templates/pom.xml index bbcd53262..ea6ac7c4f 100644 --- a/id/templates/pom.xml +++ b/id/templates/pom.xml @@ -4,14 +4,14 @@ MOA id - 1.4.2beta1 + 1.4.2beta2 4.0.0 MOA.id moa-id-templates war - 1.4.2beta1 + 1.4.2beta2 MOA ID Sample Templates diff --git a/id/templates/src/main/webapp/SampleInputProcessorSignTemplate.html b/id/templates/src/main/webapp/SampleInputProcessorSignTemplate.html new file mode 100644 index 000000000..c9b0a37b3 --- /dev/null +++ b/id/templates/src/main/webapp/SampleInputProcessorSignTemplate.html @@ -0,0 +1,45 @@ + + + +MOA ID - Identifizierter Zugang mit Bürgerkarte + + + + + + + + + +Organisation XY +

Sicherer Zugang zur Online-Anwendung mit Bürgerkarte

+

+ +Der identifizierte Zugang erfolgt über die Module für Online Applikationen (MOA) unter Verwendung einer Bürgerkarte und deren Signaturfunktion. + +

+

Sie werden in kuürze zur Signatur der Anmeldedaten aufgefordert. Wenn sie diese +signieren, so werden sie zur Online-Anwendung weitergeleitet und angemeldet.

+ +
+
+ + + + +
+
+ +
Valid HTML 4.01!
+

 

+ + + diff --git a/id/templates/src/main/webapp/SampleTemplate.html b/id/templates/src/main/webapp/SampleTemplate.html index e9756a036..824c7153c 100644 --- a/id/templates/src/main/webapp/SampleTemplate.html +++ b/id/templates/src/main/webapp/SampleTemplate.html @@ -2,11 +2,11 @@ MOA ID - Identifizierter Zugang mit Bürgerkarte - - - - - + + + + + @@ -24,33 +24,18 @@ signieren, so werden sie zur Online-Anwendung weitergeleitet und angemeldet.

- - - + + +
-
- - - - + + +

- - +
MOA MOA pom - 1.4.2beta1 + 1.4.2beta2 MOA @@ -154,6 +154,11 @@ commons-fileupload 1.1.1 + + commons-httpclient + commons-httpclient + 2.0.2 + dav4j dav4j @@ -176,25 +181,25 @@ MOA moa-common - 1.4.2beta1 + 1.4.2beta2 compile MOA.id.server moa-id-lib - 1.4.2beta1 + 1.4.2beta2 compile MOA.spss.server moa-spss-lib - 1.4.2beta1 + 1.4.2beta2 compile MOA moa-common - 1.4.2beta1 + 1.4.2beta2 test-jar test diff --git a/repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.jar b/repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.jar new file mode 100644 index 000000000..cd45919a0 Binary files /dev/null and b/repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.jar differ diff --git a/repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.jar.md5 b/repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.jar.md5 new file mode 100644 index 000000000..b509a4bd0 --- /dev/null +++ b/repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.jar.md5 @@ -0,0 +1 @@ +bab560c68f9b32974db19ac6b819ab05 \ No newline at end of file diff --git a/repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.jar.sha1 b/repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.jar.sha1 new file mode 100644 index 000000000..49cea445c --- /dev/null +++ b/repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.jar.sha1 @@ -0,0 +1 @@ +020581160238796f10fe534e335f0f7cbe29159c \ No newline at end of file diff --git a/repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.pom b/repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.pom new file mode 100644 index 000000000..4e3a79da1 --- /dev/null +++ b/repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.pom @@ -0,0 +1,7 @@ + + 4.0.0 + at.gv.egovernment.moa.id + mandate-validate + 1.0 + Mandate Infobox Validator for MOA-ID + diff --git a/repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.pom.md5 b/repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.pom.md5 new file mode 100644 index 000000000..489105d20 --- /dev/null +++ b/repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.pom.md5 @@ -0,0 +1 @@ +aede47770bdc200272ab25dc592ba9a2 \ No newline at end of file diff --git a/repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.pom.sha1 b/repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.pom.sha1 new file mode 100644 index 000000000..9a8d887f5 --- /dev/null +++ b/repository/at/gv/egovernment/moa/id/mandate-validate/1.0/mandate-validate-1.0.pom.sha1 @@ -0,0 +1 @@ +6ab04e68a562187282f0ec40209a07353f12c325 \ No newline at end of file diff --git a/spss/handbook/.settings/org.eclipse.jdt.core.prefs b/spss/handbook/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..93a06227e --- /dev/null +++ b/spss/handbook/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,5 @@ +#Fri Aug 31 11:22:24 CEST 2007 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.3 +org.eclipse.jdt.core.compiler.compliance=1.3 +org.eclipse.jdt.core.compiler.source=1.3 diff --git a/spss/handbook/clients/api/.classpath b/spss/handbook/clients/api/.classpath new file mode 100644 index 000000000..d8f291998 --- /dev/null +++ b/spss/handbook/clients/api/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/spss/handbook/clients/api/.project b/spss/handbook/clients/api/.project new file mode 100644 index 000000000..e46cff8c4 --- /dev/null +++ b/spss/handbook/clients/api/.project @@ -0,0 +1,23 @@ + + + moa-spss-handbook-apiClient + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.maven.ide.eclipse.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.maven.ide.eclipse.maven2Nature + + diff --git a/spss/handbook/clients/referencedData/.classpath b/spss/handbook/clients/referencedData/.classpath new file mode 100644 index 000000000..d8f291998 --- /dev/null +++ b/spss/handbook/clients/referencedData/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/spss/handbook/clients/referencedData/.project b/spss/handbook/clients/referencedData/.project new file mode 100644 index 000000000..dc5cac687 --- /dev/null +++ b/spss/handbook/clients/referencedData/.project @@ -0,0 +1,23 @@ + + + moa-spss-handbook-referencedData + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.maven.ide.eclipse.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.maven.ide.eclipse.maven2Nature + + diff --git a/spss/handbook/clients/webservice/.classpath b/spss/handbook/clients/webservice/.classpath new file mode 100644 index 000000000..0e7468e05 --- /dev/null +++ b/spss/handbook/clients/webservice/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/spss/handbook/clients/webservice/.project b/spss/handbook/clients/webservice/.project new file mode 100644 index 000000000..4ba485b19 --- /dev/null +++ b/spss/handbook/clients/webservice/.project @@ -0,0 +1,23 @@ + + + moa-spss-handbook-webserviceClient + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.maven.ide.eclipse.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.maven.ide.eclipse.maven2Nature + + diff --git a/spss/handbook/clients/webservice/.settings/org.eclipse.jdt.core.prefs b/spss/handbook/clients/webservice/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..1e3e5d4c9 --- /dev/null +++ b/spss/handbook/clients/webservice/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,5 @@ +#Tue Sep 04 14:06:58 CEST 2007 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.source=1.3 diff --git a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.response.xml b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.response.xml new file mode 100644 index 000000000..cb966151b --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Simple.response.xml @@ -0,0 +1,24 @@ + +tLODyeiWFbAkQKwhrR23jtcgu4k=2tI1Wv/LsUKr0hcsWSYXSHne7kbCBXGFrIiI/1WfAH2ba8vT5kVfJn4NOBOBatLAMIIELjCCAxagAwIBAgIBEzANBgkqhkiG9w0BAQUFADBEMQswCQYDVQQGEwJBVDEQ +MA4GA1UEChMHVFUgR3JhejENMAsGA1UECxMERUdJWjEUMBIGA1UEAxMLTU9BIFRl +c3QgQ0EwHhcNMDcwODIzMTM1ODU0WhcNMTIwODIzMTM1ODU0WjBpMQswCQYDVQQG +EwJBVDEQMA4GA1UEChMHVFUgR1JBWjENMAsGA1UECxMERUdJWjE5MDcGA1UEAxMw +VGVzdCBTaWduYXR1cmRpZW5zdCBhbGxlciBLdW5kZW46IEVDRFNBIChQMTkydjEp +MIHzMIG8BgcqhkjOPQIBMIGwAgEBMCQGByqGSM49AQECGQD///////////////// +///+//////////8wNAQY/////////////////////v/////////8BBhkIQUZ5ZyA +5w+n6atyJDBJ/rje7MFGubEEMQQYjagOsDCQ9ny/IOtDoYgA9P8K/YL/EBIHGSuV +/8jaeGMQEe1rJM3Vc/l3oR55SBECGQD///////////////+Z3vg2FGvJsbTSKDEC +AQEDMgAExf78b6N6BUhK+FHmunDUCQefSxpQmC6m4yq/+pqdDMJalTWATFhQwZqE +qSMXJ2Tqo4IBNDCCATAwDgYDVR0PAQH/BAQDAgbAMAwGA1UdEwEB/wQCMAAwHQYD +VR0OBBYEFBrwapQSMwabwPPOijtgOu3iNlt3MHAGA1UdIARpMGcwZQYMKwYBBAGV +EgECewEBMFUwUwYIKwYBBQUHAgIwRxpFVGhpcyBjZXJ0aWZpY2F0ZSBvbmx5IG1h +eSBiZSB1c2VkIGZvciBkZW1vbnN0cmF0aW9uIGFuZCB0ZXN0IHB1cnBvc2VzMEYG +A1UdHwQ/MD0wO6A5oDeGNWh0dHA6Ly9tb2EtaWRzcHNzLmVnb3ZsYWJzLmd2LmF0 +L2NybHMvbW9hLXRlc3QtY2EuY3JsMBYGByooAAoBAQEECxMJRUdJWi1UZXN0MB8G +A1UdIwQYMBaAFFKXvB3Ugd6H51ClcBGdjhYJNiRSMA0GCSqGSIb3DQEBBQUAA4IB +AQB60RLi9zIwF/Rmy/Wo0yf1/ZktElIt91vfBsXlpgLJ4Q6ol/4hTjMJ4FIa8GOl +0b9dIkEe+WGq77JFJVgltsRoJfQBSvnK9jdLfB5YJD0ETDnMdckBV+RsxkEtl5Lr +IrT6vExyJUAWz15XJiHgkYZncJCBTy1oh8f3V8cR1VZYwO4QBRDwRdVdZsaL5PME +vvLrcAMJhF5fS4AiqMex2Eh2kav5t6/I5bmB4CKEe+0+dPO8DGl7areEfzQEPd8p +jkkX5PnxriQvZfgVzwrdXGDqMTnBNaRtCGMiQU/0kp21a6BVtT4am27yr9p3ddhl +z7sJ4Z6ys1bwB0on/O65tdn7Diese Daten werden signiert. \ No newline at end of file diff --git a/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.response.xml b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.response.xml new file mode 100644 index 000000000..ac5d0a52f --- /dev/null +++ b/spss/handbook/clients/webservice/resources/requests/CreateXMLSignatureRequest.Supplements.response.xml @@ -0,0 +1,2 @@ + +2237Fehler beim Auflösen der internen Referenz (URI=Para2) \ No newline at end of file diff --git a/spss/handbook/conf/moa-spss/certstore/0A5C2C9276B649D088A86BD9FD97E2B95658481D/08CAE18D8CFF86144CB8FFD671B916CAAB8BD4E9 b/spss/handbook/conf/moa-spss/certstore/0A5C2C9276B649D088A86BD9FD97E2B95658481D/08CAE18D8CFF86144CB8FFD671B916CAAB8BD4E9 new file mode 100644 index 000000000..cac44093a Binary files /dev/null and b/spss/handbook/conf/moa-spss/certstore/0A5C2C9276B649D088A86BD9FD97E2B95658481D/08CAE18D8CFF86144CB8FFD671B916CAAB8BD4E9 differ diff --git a/spss/handbook/conf/moa-spss/certstore/10D143E18C03A4A29F783D26F2F67E3B64C35CB0/BE9D654B0DE0F3CC53CA36703DD9D9049A5F9330 b/spss/handbook/conf/moa-spss/certstore/10D143E18C03A4A29F783D26F2F67E3B64C35CB0/BE9D654B0DE0F3CC53CA36703DD9D9049A5F9330 new file mode 100644 index 000000000..32893db7f Binary files /dev/null and b/spss/handbook/conf/moa-spss/certstore/10D143E18C03A4A29F783D26F2F67E3B64C35CB0/BE9D654B0DE0F3CC53CA36703DD9D9049A5F9330 differ diff --git a/spss/handbook/conf/moa-spss/certstore/5E043AA9A832C33C7065B7633F4C007E0394BA19/069519EC949AC6B91D4C33A3F3665441F0220D20 b/spss/handbook/conf/moa-spss/certstore/5E043AA9A832C33C7065B7633F4C007E0394BA19/069519EC949AC6B91D4C33A3F3665441F0220D20 new file mode 100644 index 000000000..8b501d747 Binary files /dev/null and b/spss/handbook/conf/moa-spss/certstore/5E043AA9A832C33C7065B7633F4C007E0394BA19/069519EC949AC6B91D4C33A3F3665441F0220D20 differ diff --git a/spss/handbook/conf/moa-spss/certstore/5E043AA9A832C33C7065B7633F4C007E0394BA19/2F5EBA5055E9F7444852ADCEEB769E5DE157A03D b/spss/handbook/conf/moa-spss/certstore/5E043AA9A832C33C7065B7633F4C007E0394BA19/2F5EBA5055E9F7444852ADCEEB769E5DE157A03D new file mode 100644 index 000000000..b4b128903 Binary files /dev/null and b/spss/handbook/conf/moa-spss/certstore/5E043AA9A832C33C7065B7633F4C007E0394BA19/2F5EBA5055E9F7444852ADCEEB769E5DE157A03D differ diff --git a/spss/handbook/conf/moa-spss/certstore/92E5C38466AECA677325C25C3C3011C97D24CCF6/A149EE01A250491C07D5A279D3B58A646288DA22 b/spss/handbook/conf/moa-spss/certstore/92E5C38466AECA677325C25C3C3011C97D24CCF6/A149EE01A250491C07D5A279D3B58A646288DA22 new file mode 100644 index 000000000..7c6adedf5 Binary files /dev/null and b/spss/handbook/conf/moa-spss/certstore/92E5C38466AECA677325C25C3C3011C97D24CCF6/A149EE01A250491C07D5A279D3B58A646288DA22 differ diff --git a/spss/handbook/conf/moa-spss/certstore/92E5C38466AECA677325C25C3C3011C97D24CCF6/AD8ECBB67B9DC59406F92A296A38192297A4F169 b/spss/handbook/conf/moa-spss/certstore/92E5C38466AECA677325C25C3C3011C97D24CCF6/AD8ECBB67B9DC59406F92A296A38192297A4F169 new file mode 100644 index 000000000..70f5b7c91 Binary files /dev/null and b/spss/handbook/conf/moa-spss/certstore/92E5C38466AECA677325C25C3C3011C97D24CCF6/AD8ECBB67B9DC59406F92A296A38192297A4F169 differ diff --git a/spss/handbook/conf/moa-spss/certstore/AF03510E8BCAE72BB7C4E9D1910B4E12057075A4/7AC3EFA52DE27A930EC8754DB5E061476948E914 b/spss/handbook/conf/moa-spss/certstore/AF03510E8BCAE72BB7C4E9D1910B4E12057075A4/7AC3EFA52DE27A930EC8754DB5E061476948E914 new file mode 100644 index 000000000..911640d0e Binary files /dev/null and b/spss/handbook/conf/moa-spss/certstore/AF03510E8BCAE72BB7C4E9D1910B4E12057075A4/7AC3EFA52DE27A930EC8754DB5E061476948E914 differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/a-sign-TEST-nQual-01a.20041117-20080630.SerNo00da8b.cer b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/a-sign-TEST-nQual-01a.20041117-20080630.SerNo00da8b.cer new file mode 100644 index 000000000..32893db7f Binary files /dev/null and b/spss/handbook/conf/moa-spss/trustProfiles/certifiedSignature+Test/a-sign-TEST-nQual-01a.20041117-20080630.SerNo00da8b.cer differ diff --git a/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-TEST-Qual-01a.20041117-20141117.SerNo00da88.cer b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-TEST-Qual-01a.20041117-20141117.SerNo00da88.cer new file mode 100644 index 000000000..cac44093a Binary files /dev/null and b/spss/handbook/conf/moa-spss/trustProfiles/secureSignature+Test/a-sign-TEST-Qual-01a.20041117-20141117.SerNo00da88.cer differ diff --git a/spss/pom.xml b/spss/pom.xml index ca95ac9d0..97ccf975e 100644 --- a/spss/pom.xml +++ b/spss/pom.xml @@ -3,7 +3,7 @@ MOA MOA - 1.4.2beta1 + 1.4.2beta2 4.0.0 diff --git a/spss/server/history.txt b/spss/server/history.txt index 8e81af838..55e595d9d 100644 --- a/spss/server/history.txt +++ b/spss/server/history.txt @@ -1,5 +1,5 @@ ############## -1.4.2 beta 1 +1.4.2 beta1 ############## - Performance-Verbesserungen bei der Verwendnung von externen Referenzen. Diese diff --git a/spss/server/serverlib/.classpath b/spss/server/serverlib/.classpath new file mode 100644 index 000000000..01edb156d --- /dev/null +++ b/spss/server/serverlib/.classpath @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/spss/server/serverlib/.project b/spss/server/serverlib/.project new file mode 100644 index 000000000..8038e29f2 --- /dev/null +++ b/spss/server/serverlib/.project @@ -0,0 +1,36 @@ + + + moa-spss-lib + + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.maven.ide.eclipse.maven2Builder + + + + + org.eclipse.wst.validation.validationbuilder + + + + + + org.eclipse.jdt.core.javanature + org.maven.ide.eclipse.maven2Nature + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.eclipse.jem.workbench.JavaEMFNature + + diff --git a/spss/server/serverlib/.settings/org.eclipse.jdt.core.prefs b/spss/server/serverlib/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..c7b8a7c31 --- /dev/null +++ b/spss/server/serverlib/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +#Wed Oct 10 21:50:15 CEST 2007 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.source=1.4 diff --git a/spss/server/serverlib/.settings/org.eclipse.wst.common.component b/spss/server/serverlib/.settings/org.eclipse.wst.common.component new file mode 100644 index 000000000..ebc030867 --- /dev/null +++ b/spss/server/serverlib/.settings/org.eclipse.wst.common.component @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/spss/server/serverlib/.settings/org.eclipse.wst.common.project.facet.core.xml b/spss/server/serverlib/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 000000000..30c02fe23 --- /dev/null +++ b/spss/server/serverlib/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/spss/server/serverlib/pom.xml b/spss/server/serverlib/pom.xml index 514b43b82..b5c9c1ec2 100644 --- a/spss/server/serverlib/pom.xml +++ b/spss/server/serverlib/pom.xml @@ -9,7 +9,7 @@ MOA.spss.server moa-spss-lib jar - 1.4.2beta1 + 1.4.2beta2 MOA SP/SS API diff --git a/spss/server/serverlib/src/main/java/META-INF/MANIFEST.MF b/spss/server/serverlib/src/main/java/META-INF/MANIFEST.MF new file mode 100644 index 000000000..5e9495128 --- /dev/null +++ b/spss/server/serverlib/src/main/java/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/spss/server/serverws/.classpath b/spss/server/serverws/.classpath new file mode 100644 index 000000000..8cd9e4eb8 --- /dev/null +++ b/spss/server/serverws/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/spss/server/serverws/.project b/spss/server/serverws/.project new file mode 100644 index 000000000..692cf0e90 --- /dev/null +++ b/spss/server/serverws/.project @@ -0,0 +1,36 @@ + + + moa-spss-ws + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.wst.validation.validationbuilder + + + + + org.maven.ide.eclipse.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.maven.ide.eclipse.maven2Nature + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.eclipse.jem.workbench.JavaEMFNature + + diff --git a/spss/server/serverws/.settings/org.eclipse.jdt.core.prefs b/spss/server/serverws/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..920508ded --- /dev/null +++ b/spss/server/serverws/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +#Mon Sep 03 15:53:43 CEST 2007 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.4 diff --git a/spss/server/serverws/.settings/org.eclipse.wst.common.component b/spss/server/serverws/.settings/org.eclipse.wst.common.component new file mode 100644 index 000000000..06aa22f01 --- /dev/null +++ b/spss/server/serverws/.settings/org.eclipse.wst.common.component @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/spss/server/serverws/.settings/org.eclipse.wst.common.project.facet.core.xml b/spss/server/serverws/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 000000000..94d50aad1 --- /dev/null +++ b/spss/server/serverws/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/spss/server/serverws/WebContent/META-INF/MANIFEST.MF b/spss/server/serverws/WebContent/META-INF/MANIFEST.MF new file mode 100644 index 000000000..5e9495128 --- /dev/null +++ b/spss/server/serverws/WebContent/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/spss/server/serverws/WebContent/WEB-INF/web.xml b/spss/server/serverws/WebContent/WEB-INF/web.xml new file mode 100644 index 000000000..b3b3ad52d --- /dev/null +++ b/spss/server/serverws/WebContent/WEB-INF/web.xml @@ -0,0 +1,13 @@ + + + + moa-spss-ws + + index.html + index.htm + index.jsp + default.html + default.htm + default.jsp + + diff --git a/spss/server/serverws/pom.xml b/spss/server/serverws/pom.xml index 82293df82..b96ddf39f 100644 --- a/spss/server/serverws/pom.xml +++ b/spss/server/serverws/pom.xml @@ -10,7 +10,7 @@ MOA.spss.server moa-spss-ws war - 1.4.2beta1 + 1.4.2beta2 MOA SP/SS WebService diff --git a/spss/server/tools/.classpath b/spss/server/tools/.classpath new file mode 100644 index 000000000..82972d400 --- /dev/null +++ b/spss/server/tools/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/spss/server/tools/.project b/spss/server/tools/.project new file mode 100644 index 000000000..4b3ffd512 --- /dev/null +++ b/spss/server/tools/.project @@ -0,0 +1,23 @@ + + + moa-spss-tools + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.maven.ide.eclipse.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.maven.ide.eclipse.maven2Nature + + diff --git a/spss/server/tools/.settings/org.eclipse.jdt.core.prefs b/spss/server/tools/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..cc6503a3c --- /dev/null +++ b/spss/server/tools/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,5 @@ +#Wed Sep 12 09:45:48 CEST 2007 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.source=1.4 -- cgit v1.2.3 From aebb5cd04d43b25b8d65237ba49fddf5f5dd1a8c Mon Sep 17 00:00:00 2001 From: kstranacher Date: Tue, 7 Jul 2009 14:27:40 +0000 Subject: git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@1114 d688527b-c9ab-4aba-bd8d-4036d912da1d --- common/.classpath | 10 +- common/.project | 4 +- common/pom.xml | 4 +- .../java/at/gv/egovernment/moa/util/Constants.java | 4 +- .../resources/schemas/MOA-SPSS-config-1.4.5.xsd | 268 ++++++++++++++++++ id/history.txt | 9 + id/oa/.classpath | 16 +- id/oa/.project | 56 +++- id/pom.xml | 4 +- id/readme_1.4.5.txt | 246 ++++++++++++++++ id/server/auth/.classpath | 9 +- id/server/auth/.project | 6 + .../.settings/org.eclipse.wst.common.component | 15 +- .../org.eclipse.wst.common.project.facet.core.xml | 2 +- id/server/auth/pom.xml | 4 +- .../conf/moa-spss/SampleMOASPSSConfiguration.xml | 2 +- id/server/doc/moa_id/id-admin_2.htm | 4 +- id/server/idserverlib/.classpath | 8 +- id/server/idserverlib/pom.xml | 4 +- .../iaik/config/RevocationConfigurationImpl.java | 4 + .../moa/id/proxy/DefaultConnectionBuilder.java | 23 +- .../moa/id/proxy/ElakConnectionBuilder.java | 29 +- .../moa/id/proxy/EnhancedConnectionBuilder.java | 16 +- .../at/gv/egovernment/moa/id/util/SSLUtils.java | 5 +- id/server/pom.xml | 4 +- id/server/proxy/.classpath | 16 +- id/server/proxy/.project | 56 +++- id/server/proxy/pom.xml | 4 +- id/templates/.classpath | 16 +- id/templates/.project | 56 +++- id/templates/pom.xml | 2 +- pom.xml | 12 +- .../iaik/prod/iaik_moa/maven-metadata-MOA.xml | 3 +- spss/handbook/clients/api/.classpath | 3 +- spss/handbook/clients/api/.project | 6 + spss/handbook/clients/referencedData/.classpath | 10 +- spss/handbook/clients/referencedData/.project | 19 ++ spss/handbook/clients/webservice/.classpath | 4 +- spss/handbook/clients/webservice/.project | 6 + spss/handbook/conf/moa-spss/sp.minimum.config.xml | 2 +- spss/handbook/conf/moa-spss/spss.config.xml | 2 +- spss/handbook/conf/moa-spss/ss.minimum.config.xml | 2 +- .../handbook/config/MOA-SPSS-config-1.4.3.xsd | 312 --------------------- .../handbook/config/MOA-SPSS-config-1.4.5.xsd | 268 ++++++++++++++++++ spss/handbook/handbook/config/config.html | 51 +++- spss/handbook/handbook/faq/faq.html | 13 +- spss/handbook/handbook/index.html | 2 +- spss/handbook/handbook/install/install.html | 14 +- spss/handbook/handbook/intro/intro.html | 2 +- spss/handbook/handbook/usage/usage.html | 2 +- spss/pom.xml | 2 +- spss/server/history.txt | 12 + spss/server/readme.update.txt | 25 +- spss/server/serverlib/.classpath | 8 +- spss/server/serverlib/pom.xml | 2 +- .../server/config/ConfigurationPartsBuilder.java | 36 +++ .../spss/server/config/ConfigurationProvider.java | 40 ++- .../spss/server/iaik/config/IaikConfigurator.java | 2 +- .../iaik/config/RevocationConfigurationImpl.java | 12 + spss/server/serverws/.classpath | 9 +- spss/server/serverws/.project | 6 + .../.settings/org.eclipse.wst.common.component | 6 +- .../org.eclipse.wst.common.project.facet.core.xml | 2 +- spss/server/serverws/pom.xml | 2 +- spss/server/tools/.classpath | 6 +- spss/server/tools/.project | 6 + .../moa/spss/server/tools/ConfigTool.java | 4 +- .../main/resources/tools/ConfigurationMapper.xsl | 2 +- 68 files changed, 1317 insertions(+), 504 deletions(-) create mode 100644 common/src/main/resources/resources/schemas/MOA-SPSS-config-1.4.5.xsd create mode 100644 id/readme_1.4.5.txt delete mode 100644 spss/handbook/handbook/config/MOA-SPSS-config-1.4.3.xsd create mode 100644 spss/handbook/handbook/config/MOA-SPSS-config-1.4.5.xsd (limited to 'id/oa') diff --git a/common/.classpath b/common/.classpath index 220005c68..acbdc4f5b 100644 --- a/common/.classpath +++ b/common/.classpath @@ -1,10 +1,10 @@ - - - - - + + + + + diff --git a/common/.project b/common/.project index 57d49b107..bde7e0e97 100644 --- a/common/.project +++ b/common/.project @@ -16,12 +16,12 @@ - org.maven.ide.eclipse.maven2Builder + org.eclipse.wst.validation.validationbuilder - org.eclipse.wst.validation.validationbuilder + org.maven.ide.eclipse.maven2Builder diff --git a/common/pom.xml b/common/pom.xml index a454acd1f..98d537039 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -2,12 +2,12 @@ MOA MOA - 1.4.4 + 1.4.5 4.0.0 MOA moa-common - 1.4.4 + 1.4.5 jar MOA common library diff --git a/common/src/main/java/at/gv/egovernment/moa/util/Constants.java b/common/src/main/java/at/gv/egovernment/moa/util/Constants.java index a436c4b23..a32541749 100644 --- a/common/src/main/java/at/gv/egovernment/moa/util/Constants.java +++ b/common/src/main/java/at/gv/egovernment/moa/util/Constants.java @@ -78,7 +78,7 @@ public interface Constants { /** URI of the MOA configuration XML namespace. */ public static final String MOA_CONFIG_NS_URI = - "http://reference.e-government.gv.at/namespace/moaconfig/20021122#"; + "http://reference.e-government.gv.at/namespace/moaconfig/20090603#"; /** URI of the MOA ID configuration XML namespace. */ public static final String MOA_ID_CONFIG_NS_URI = @@ -92,7 +92,7 @@ public interface Constants { /** Local location of the MOA configuration XML schema definition. */ public static final String MOA_CONFIG_SCHEMA_LOCATION = - SCHEMA_ROOT + "MOA-SPSS-config-1.4.3.xsd"; + SCHEMA_ROOT + "MOA-SPSS-config-1.4.5.xsd"; /** Local location of the MOA ID configuration XML schema definition. */ public static final String MOA_ID_CONFIG_SCHEMA_LOCATION = diff --git a/common/src/main/resources/resources/schemas/MOA-SPSS-config-1.4.5.xsd b/common/src/main/resources/resources/schemas/MOA-SPSS-config-1.4.5.xsd new file mode 100644 index 000000000..2b6e1a295 --- /dev/null +++ b/common/src/main/resources/resources/schemas/MOA-SPSS-config-1.4.5.xsd @@ -0,0 +1,268 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/id/history.txt b/id/history.txt index 1aede7deb..6d166268b 100644 --- a/id/history.txt +++ b/id/history.txt @@ -2,6 +2,15 @@ Dieses Dokument zeigt die Ver von MOA-ID auf. History MOA-ID: +===== +Version MOA-ID 1.4.5: Änderungen seit Version MOA-ID 1.4.4: + +Fixes: +- Fixed Bug #335 (https://egovlabs.gv.at/tracker/index.php?func=detail&aid=335&group_id=6&atid=105) + +- IAIK Libraries aktualisiert: + iaik-moa: Version 1.26 + ===== Version MOA-ID 1.4.4: Änderungen seit Version MOA-ID 1.4.3: diff --git a/id/oa/.classpath b/id/oa/.classpath index 5d93de69c..ed2412886 100644 --- a/id/oa/.classpath +++ b/id/oa/.classpath @@ -1,4 +1,12 @@ - - - - \ No newline at end of file + + + + + + + + + + + + diff --git a/id/oa/.project b/id/oa/.project index cf4d83eff..8513e00a3 100644 --- a/id/oa/.project +++ b/id/oa/.project @@ -1,14 +1,42 @@ - - moa-id-oa - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.jdt.core.javanature - - + + + moa-id-oa + + + + + + org.eclipse.wst.jsdt.core.javascriptValidator + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.wst.validation.validationbuilder + + + + + org.maven.ide.eclipse.maven2Builder + + + + + + org.eclipse.jem.workbench.JavaEMFNature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.maven.ide.eclipse.maven2Nature + org.eclipse.jdt.core.javanature + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.wst.jsdt.core.jsNature + + diff --git a/id/pom.xml b/id/pom.xml index d7763f96f..e8d695167 100644 --- a/id/pom.xml +++ b/id/pom.xml @@ -3,14 +3,14 @@ MOA MOA - 1.4.4 + 1.4.5 4.0.0 MOA id pom - 1.4.4 + 1.4.5 MOA ID diff --git a/id/readme_1.4.5.txt b/id/readme_1.4.5.txt new file mode 100644 index 000000000..45d874c74 --- /dev/null +++ b/id/readme_1.4.5.txt @@ -0,0 +1,246 @@ +=============================================================================== +MOA ID Version 1.4.5 - Wichtige Informationen zur Installation +=============================================================================== + +------------------------------------------------------------------------------- +A. Neuerungen/Änderungen +------------------------------------------------------------------------------- + +Mit MOA ID Version 1.4.5 wurden folgende Neuerungen eingeführt, die jetzt +erstmals in der Veröffentlichung enthalten sind (siehe auch history.txt im +gleichen Verzeichnis): + +- JSSE Abhängigkeit wurde entfernt (Fixed Bug #335) +------------------------------------------------------------------------------- +B. Durchführung eines Updates +------------------------------------------------------------------------------- + +Es wird generell eine Neuinstallation lt. Handbuch empfohlen! Dennoch ist auch +eine Aktualisierung bestehender Installationen möglich. + +............................................................................... +B.1 Durchführung eines Updates von Version 1.4.3 oder 1.4.4 +............................................................................... + +1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird. + Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an. + +2. Entpacken Sie die Distribution von MOA ID Auth (moa-id-auth-1.4.5.zip) in + ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST + bezeichnet. + +3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth + beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps, + wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation + für MOA ID steht). Löschen Sie darin sowohl die Datei moa-id-auth.war als + auch das komplette Verzeichnis moa-id-auth. + +4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach + CATALINA_HOME_ID/webapps. + +5. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im + Logging von MOA ID beim Einlesen der erneuerten Konfiguration. + +............................................................................... +B.2 Durchführung eines Updates von Version 1.4.1 oder 1.4.2 (incl. beta 1) +............................................................................... + +1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird. + Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an. + +2. Entpacken Sie die Distribution von MOA ID Auth (moa-id-auth-1.4.5.zip) in + ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST + bezeichnet. + +3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth + beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps, + wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation + für MOA ID steht). Löschen Sie darin sowohl die Datei moa-id-auth.war als + auch das komplette Verzeichnis moa-id-auth. + +4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach + CATALINA_HOME_ID/webapps. + +5. Kopieren Sie die vier Dateien aus dem Verzeichnis + MOA_ID_AUTH_INST/conf/moa-id/transforms in das Verzeichnis transforms Ihres + Stammverzeichnisses für die MOA ID Konfiguration (für gewöhnlich lautet + dieses Stammverzeichnis CATALINA_HOME_ID/conf/moa-id; in weiterer Folge wird + davon ausgegangen). + +6. Kopieren Sie die vier Dateien aus dem Verzeichnis + MOA_ID_AUTH_INST/conf/moa-spss/profiles in das Verzeichnis profiles Ihres + Stammverzeichnisses für die MOA SPSS Konfiguration (für gewöhnlich lautet + dieses Stammverzeichnis CATALINA_HOME_SPSS/conf/moa-spss, wobei + CATALINA_HOME_SPSS für das Basisverzeichnis der Tomcat-Installation + für MOA SPSS steht; wenn Sie MOA SPSS nicht als eigenes Webservice + betreiben, sondern es von MOA ID über die API-Schnittstelle angesprochen + wird, lautet dieses Stammverzeichnis für gewöhnlich + CATALINA_HOME_ID/conf/moa-spss. + +7. Sichern Sie ihre MOA-ID Konfigurationsdatei. Kopieren Sie die + Beispielkonfigurationsdateien aus dem Verzeichnis + MOA_ID_AUTH_INST/conf/moa-id/SampleMOA*.xml nach + CATALINA_HOME_ID/conf/moa-id. + Verwenden Sie in Ihrer Installation bereits die Vollmachtenprüfung, so + verschieben Sie bitte in der MOA-ID Installationsdatei das Element + innerhalb des Konfigurationsteiles für die berufliche + Parteienvertreung (ParepSpecificParameters) unter das Element + ApplicationSpecificParameters. + +8. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im + Logging von MOA ID beim Einlesen der erneuerten Konfiguration. + +............................................................................... +B.3 Durchführung eines Updates von Version 1.3.1, 1.3.2 oder 1.3.3 +............................................................................... + +1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird. + Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an. + +2. Entpacken Sie die Distribution von MOA ID Auth (moa-id-auth-1.4.5.zip) in + ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST + bezeichnet. + +3. Erstellen Sie eine Sicherungskopie aller "iaik*.jar"-Dateien im Verzeichnis + JAVA_HOME\jre\lib\ext und löschen Sie diese Dateien danach. + +4. Kopieren Sie alle Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\ext in das + Verzeichnis JAVA_HOME\jre\lib\ext. + +5. Erstellen Sie eine Sicherungskopie aller Dateien im Verzeichnis + CATALINA_HOME\common\endorsed und löschen Sie die dort eventuell vorhandene + Dateien xmlParserAPIs.jar + +6. Kopieren Sie die Dateien aus dem Verzeichnis MOA_ID_INST_AUTH\endorsed + in das Verzeichnis CATALINA_HOME\common\endorsed. Überschreiben Sie dabei + etwaige gleichnamige Dateien. + +7. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth + beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps, + wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation + für MOA ID steht). Löschen Sie darin sowohl die Datei moa-id-auth.war als + auch das komplette Verzeichnis moa-id-auth. + +8. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach + CATALINA_HOME_ID/webapps. + +9. Kopieren Sie die vier Dateien aus dem Verzeichnis + MOA_ID_AUTH_INST/conf/moa-id/transforms in das Verzeichnis transforms Ihres + Stammverzeichnisses für die MOA ID Konfiguration (für gewöhnlich lautet + dieses Stammverzeichnis CATALINA_HOME_ID/conf/moa-id; in weiterer Folge wird + davon ausgegangen). + +10.Kopieren Sie die vier Dateien aus dem Verzeichnis + MOA_ID_AUTH_INST/conf/moa-spss/profiles in das Verzeichnis profiles Ihres + Stammverzeichnisses für die MOA SPSS Konfiguration (für gewöhnlich lautet + dieses Stammverzeichnis CATALINA_HOME_SPSS/conf/moa-spss, wobei + CATALINA_HOME_SPSS für das Basisverzeichnis der Tomcat-Installation + für MOA SPSS steht; wenn Sie MOA SPSS nicht als eigenes Webservice + betreiben, sondern es von MOA ID über dmie API-Schnittstelle angesprochen + wird, lautet dieses Stammverzeichnis für gewöhnlich + CATALINA_HOME_ID/conf/moa-spss; in weiterer Folge wird von letzterer + Variante ausgegangen). + +11.Update des Cert-Stores. + Kopieren Sie den Inhalt des Verzeichnisses + MOA_ID_INST_AUTH\conf\moa-spss\certstore in das Verzeichnis + CATALINA_HOME\conf\moa-spss\certstore. Wenn Sie gefragt werden, ob Sie + vorhandene Dateien oder Unterverzeichnisse überschreiben sollen, dann + bejahen sie das. + +12.Sollen zusätzliche Templates für ältere Bürgerkartenumgebungen aktiviert + werden, öffnen Sie die XML-Konfiguration von MOA ID (für gewöhnlich finden + Sie diese XML-Datei direkt im Stammverzeichnis für die MOA ID Konfiguration, + z.B. CATALINA_HOME_ID/conf/moa-id/SampleMOAIDConfiguration.xml); führen Sie + folgende Modifikationen an der XML-Konfiguration durch: + + a. Ändern Sie die applikationsübergreifende Konfiguration der AuthBlock + Transformationen. Sie finden diese Konfiguration im XML-Element + /MOA-IDConfiguration/AuthComponent/SecurityLayer. Fügen Sie zusätzlich zum + bisherigen Inhalt dieses Elements (für gewöhnlich ein Element + TransformsInfo, dessen Attribut filname den Wert + transforms/TransformsInfoAuthBlockText.xml aufweist) ein Element + TransformsInfo an, dessen Attribut filename auf die Datei für ältere BKU + zeigt. Sie können auch auf die vordefinierten Elemente aus den + Musterkonfigurationen dieser Distribution ( + MOA_ID_AUTH_INST/conf/moa-id/SampleMOAIDConfiguration.xml) zurückgreifen. + + b. Fügen Sie Profilbezeichner für die Transformationsprofile in der + Konfiguration für MOA SP an. Sie finden diesen Bezeichner im XML- + Element /MOA-IDConfiguration/AuthComponent/MOA-SP/VerifyAuthBlock. + Hängen Sie ein Element VerifyTransformsInfoProfileID an, das für die Über- + prüfung der Transformation älterer BKU vorgesehen ist. + Siehe auch Inhalt des Elements VerifyAuthBlock aus der Musterkonfiguration + dieser Distribution ( + MOA_ID_AUTH_INST/conf/moa-id/SampleMOAIDConfiguration.xml). + + c. Ändern Sie gegebenenfalls die applikationsspezifische Konfiguration + der Authblock-Tranformationen. Führen Sie dazu die folgende Tätigkeit + für jedes XML-Element /MOA-IDConfiguration/OnlineApplicaton/AuthComponent + durch: Fügen Sie zusätzlich zu einem bestehenden Element TransformsInfo + ein Elemnet TransformsInfo an, das die Transformation für ältere BKU + enthält - gleich wie dies bereits in Schritt a. durchgeführt wurde (wenn + Sie dieses Element nicht vorfinden, oder es auskommentiert ist, muss + Schritt c. nicht durchgeführt werden). + + Öffnen Sie die XML-Konfiguration von MOA SPSS (für gewöhnlich finden Sie + XML-Datei direkt im Stammverzeichnisses für die MOA SPSS Konfiguration, z.B. + CATALINA_HOME_ID/conf/moa-spss/SampleMOASPSSConfiguration.xml); führen Sie + folgende Modifikationen an der XML-Konfiguration durch: + + a. Ändern Sie die konfigurierten Profile für die zulässigen Transformationen + über die signierten Daten. Sie finden diese Profile am Ende der XML-Konfi- + guration von MOA SPSS (Elemente des Namens + cfg:VerifyTransformsInfoProfile). Fügen Sie zusätzlich zu den vorkommenden + Elementen dieses Namens (für gewöhnlich zwei Elemente) zwei weitere + Elemente dieses Namens hinzu, die die Profile für die älteren Bürger- + kartenumgebungen aufnehmen - diese sind durch den Namensteil "_deprecated" + gekennzeichnet (siehe auch Musterkonfigurationen dieser Distribution + MOA_ID_AUTH_INST/conf/moa-spss/SampleMOASPSSConfiguration.xml). + +13.Update der Trust-Profile. Achten sie bei Case-sensitiven Betriebssystemen auf + die Profilbezeichnungen. Aus trustprofiles wurde trustProfiles. + Wenn Sie Ihre alten Trust-Profile durch die neuen ersetzen wollen, dann gehen + Sie vor, wie in Punkt a). Wenn Sie Ihre eigenen Trust-Profile beibehalten + wollen, dann gehen Sie vor, wie in Punkt b). + + a. Gehen Sie wie folgt vor, um die Trust-Profile auszutauschen: + + 1) Löschen Sie das Verzeichnis CATALINA_HOME\conf\moa-spss\trustprofiles. + 2) Kopieren Sie das Verzeichnis + MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles in das Verzeichnis + CATALINA_HOME\conf\moa-spss. + + b. Falls Sie Ihre alten Trust-Profile beibehalten wollen, gehen Sie wie folgt + vor, um die Profile auf den aktuellen Stand zu bringen: + + 1) Benennen Sie ein eventuell vorhandenes Verzeichnis trustprofiles in + trustProfiles um (vergessen Sie nicht, diese Änderung in Ihrer MOA-SP/SS + Konfigurationsdatei ebenfalls zu berücksichtigen und benennen Sie dort + alle gleichartigen Vorkommen von trustprofiles in trustProfiles um) + + 2) Ergänzen Sie ihre Trustprofile durch alle Zertifikate aus den + entsprechenden Profilen im Verzeichnis + MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles, die nicht in Ihren + Profilen enthalten sind. Am einfachsten ist es, wenn Sie den Inhalt der + einzelnen Profile aus der Distribution ( + MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles) in die entsprechenden + Profile Ihrer Installation (CATALINA_HOME\conf\moa-spss\trustProfiles) + kopieren und dabei die vorhandenen gleichnamigen Zertifikate + überschreiben), also z.B: Kopieren des Inhalts von + MOA_ID_INST_AUTH\conf\moa-spss\trustProfiles\ + MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten nach + CATALINA_HOME\conf\moa-spss\trustProfiles\ + MOAIDBuergerkarteAuthentisierungsDatenMitTestkarten usw. + +14.Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im + Logging von MOA ID beim Einlesen der erneuerten Konfiguration. + +............................................................................... +B.4 Durchführung eines Updates von einer älteren Version +............................................................................... + +Bitte führen Sie eine Neuinstallation von MOA ID laut Handbuch durch und passen +Sie die mitgelieferte Musterkonfiguration entsprechend Ihren Bedürfnissen unter +Zuhilfenahme Ihrer bisherigen Konfiguration an. + diff --git a/id/server/auth/.classpath b/id/server/auth/.classpath index d6e7fdeb6..6acd7de03 100644 --- a/id/server/auth/.classpath +++ b/id/server/auth/.classpath @@ -1,7 +1,14 @@ + + - + + + + + + diff --git a/id/server/auth/.project b/id/server/auth/.project index c397a88ee..90cbf1ff3 100644 --- a/id/server/auth/.project +++ b/id/server/auth/.project @@ -8,6 +8,11 @@ moa-spss-lib + + org.eclipse.wst.jsdt.core.javascriptValidator + + + org.eclipse.jdt.core.javabuilder @@ -41,5 +46,6 @@ org.eclipse.wst.common.modulecore.ModuleCoreNature org.eclipse.jem.workbench.JavaEMFNature kr.javanese.devtools.m2wtp.m2wtpNature + org.eclipse.wst.jsdt.core.jsNature diff --git a/id/server/auth/.settings/org.eclipse.wst.common.component b/id/server/auth/.settings/org.eclipse.wst.common.component index 5f3e4a378..b116cf610 100644 --- a/id/server/auth/.settings/org.eclipse.wst.common.component +++ b/id/server/auth/.settings/org.eclipse.wst.common.component @@ -1,18 +1,17 @@ - - -uses - - -uses - - + + + uses + uses + + uses + diff --git a/id/server/auth/.settings/org.eclipse.wst.common.project.facet.core.xml b/id/server/auth/.settings/org.eclipse.wst.common.project.facet.core.xml index d0145894a..f30a1de6e 100644 --- a/id/server/auth/.settings/org.eclipse.wst.common.project.facet.core.xml +++ b/id/server/auth/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -1,5 +1,5 @@ - + diff --git a/id/server/auth/pom.xml b/id/server/auth/pom.xml index d2aa59f2e..6d5a5538e 100644 --- a/id/server/auth/pom.xml +++ b/id/server/auth/pom.xml @@ -2,14 +2,14 @@ MOA.id moa-id - 1.4.4 + 1.4.5 4.0.0 MOA.id.server moa-id-auth war - 1.4.4 + 1.4.5 MOA ID-Auth WebService diff --git a/id/server/data/deploy/conf/moa-spss/SampleMOASPSSConfiguration.xml b/id/server/data/deploy/conf/moa-spss/SampleMOASPSSConfiguration.xml index 62337d0fb..c0e23ecb1 100644 --- a/id/server/data/deploy/conf/moa-spss/SampleMOASPSSConfiguration.xml +++ b/id/server/data/deploy/conf/moa-spss/SampleMOASPSSConfiguration.xml @@ -1,6 +1,6 @@ - + diff --git a/id/server/doc/moa_id/id-admin_2.htm b/id/server/doc/moa_id/id-admin_2.htm index 80078c464..e3ceacba8 100644 --- a/id/server/doc/moa_id/id-admin_2.htm +++ b/id/server/doc/moa_id/id-admin_2.htm @@ -117,8 +117,8 @@ Projekt moa 

Konfiguration von MOA ID v.1.4

Die Konfiguration von MOA ID wird mittels einer XML-basierten Konfigurationsdatei, die dem Schema - MOA-ID-Configuration-1.4.4.xsd - MOA-ID-Configuration-1.4.4.xsd + MOA-ID-Configuration-1.4.5.xsd + MOA-ID-Configuration-1.4.5.xsd entspricht, durchgeführt.

Der Ort der Konfigurationsdatei wird im Abschnitt Deployment der Web-Applikation in Tomcat beschrieben. diff --git a/id/server/idserverlib/.classpath b/id/server/idserverlib/.classpath index 01edb156d..1c79cc393 100644 --- a/id/server/idserverlib/.classpath +++ b/id/server/idserverlib/.classpath @@ -1,9 +1,9 @@ - - - - + + + + diff --git a/id/server/idserverlib/pom.xml b/id/server/idserverlib/pom.xml index ee3c5fc7f..c046b1f19 100644 --- a/id/server/idserverlib/pom.xml +++ b/id/server/idserverlib/pom.xml @@ -2,14 +2,14 @@ MOA.id moa-id - 1.4.4 + 1.4.5 4.0.0 MOA.id.server moa-id-lib jar - 1.4.4 + 1.4.5 MOA ID API diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/iaik/config/RevocationConfigurationImpl.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/iaik/config/RevocationConfigurationImpl.java index 6f4de4ce1..cedaf2ccc 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/iaik/config/RevocationConfigurationImpl.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/iaik/config/RevocationConfigurationImpl.java @@ -48,4 +48,8 @@ public class RevocationConfigurationImpl extends ObservableImpl implements Revoc return false; } + public Integer getCrlRetentionInterval(String arg0) { + return null; + } + } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/proxy/DefaultConnectionBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/proxy/DefaultConnectionBuilder.java index 34a1f389b..a742a0aae 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/proxy/DefaultConnectionBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/proxy/DefaultConnectionBuilder.java @@ -32,8 +32,8 @@ import at.gv.egovernment.moa.id.util.MOAIDMessageProvider; import at.gv.egovernment.moa.logging.Logger; import at.gv.egovernment.moa.util.BoolUtils; -import com.sun.net.ssl.HostnameVerifier; -import com.sun.net.ssl.HttpsURLConnection; +//import com.sun.net.ssl.HostnameVerifier; +//import com.sun.net.ssl.HttpsURLConnection; /** * Defaultimplementierung von ConnectionBuilder. @@ -96,12 +96,14 @@ public class DefaultConnectionBuilder implements ConnectionBuilder { //conn.setUseCaches(false); //conn.setAllowUserInteraction(true); conn.setInstanceFollowRedirects(false); - if (conn instanceof HttpsURLConnection && sslSocketFactory != null) { + + // JSSE-Abhängigkeit + /*if (conn instanceof HttpsURLConnection && sslSocketFactory != null) { HttpsURLConnection httpsConn = (HttpsURLConnection) conn; httpsConn.setSSLSocketFactory(sslSocketFactory); if (cbDisableHostnameVerification) httpsConn.setHostnameVerifier(new HostnameNonVerifier()); - } + }*/ return conn; } @@ -151,14 +153,17 @@ public class DefaultConnectionBuilder implements ConnectionBuilder { * A private class to change the standard HostName verifier to disable the * Hostname Verification Check */ - private class HostnameNonVerifier implements HostnameVerifier { + + // JSSE Abhängigkeit + //private class HostnameNonVerifier implements HostnameVerifier { /** * @see com.sun.net.ssl.HostnameVerifier#verify(String, String) */ - public boolean verify(String arg0, String arg1) { - return true; - } - } +//JSSE Abhängigkeit +// public boolean verify(String arg0, String arg1) { +// return true; +// } +// } } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/proxy/ElakConnectionBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/proxy/ElakConnectionBuilder.java index bc39044ac..c8c1e85d9 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/proxy/ElakConnectionBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/proxy/ElakConnectionBuilder.java @@ -38,8 +38,8 @@ import at.gv.egovernment.moa.id.util.MOAIDMessageProvider; import at.gv.egovernment.moa.logging.Logger; import at.gv.egovernment.moa.util.BoolUtils; -import com.sun.net.ssl.HostnameVerifier; -import com.sun.net.ssl.HttpsURLConnection; +//import com.sun.net.ssl.HostnameVerifier; +//import com.sun.net.ssl.HttpsURLConnection; /** * Defaultimplementierung von ConnectionBuilder. @@ -198,12 +198,13 @@ public class ElakConnectionBuilder implements ConnectionBuilder { //conn.setUseCaches(false); webDavConn.setAllowUserInteraction(true); webDavConn.setInstanceFollowRedirects(false); - if (conn instanceof HttpsURLConnection && sslSocketFactory != null) { - HttpsURLConnection httpsConn = (HttpsURLConnection) conn; - httpsConn.setSSLSocketFactory(sslSocketFactory); - if (cbDisableHostnameVerification) - httpsConn.setHostnameVerifier(new HostnameNonVerifier()); - } + // JSSE Abhängigkeit +// if (conn instanceof HttpsURLConnection && sslSocketFactory != null) { +// HttpsURLConnection httpsConn = (HttpsURLConnection) conn; +// httpsConn.setSSLSocketFactory(sslSocketFactory); +// if (cbDisableHostnameVerification) +// httpsConn.setHostnameVerifier(new HostnameNonVerifier()); +// } return conn; } @@ -251,14 +252,16 @@ public class ElakConnectionBuilder implements ConnectionBuilder { * A private class to change the standard HostName verifier to disable the * Hostname Verification Check */ - private class HostnameNonVerifier implements HostnameVerifier { +//JSSE Abhängigkeit +// private class HostnameNonVerifier implements HostnameVerifier { /** * @see com.sun.net.ssl.HostnameVerifier#verify(String, String) */ - public boolean verify(String arg0, String arg1) { - return true; - } - } +//JSSE Abhängigkeit +// public boolean verify(String arg0, String arg1) { +// return true; +// } +// } } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/proxy/EnhancedConnectionBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/proxy/EnhancedConnectionBuilder.java index 49affe745..9ce1e3c8e 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/proxy/EnhancedConnectionBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/proxy/EnhancedConnectionBuilder.java @@ -31,7 +31,7 @@ import at.gv.egovernment.moa.id.util.MOAIDMessageProvider; import at.gv.egovernment.moa.logging.Logger; import at.gv.egovernment.moa.util.BoolUtils; -import com.sun.net.ssl.HostnameVerifier; +//import com.sun.net.ssl.HostnameVerifier; import HTTPClient.HttpURLConnection; import HTTPClient.HTTPConnection; @@ -160,16 +160,18 @@ public class EnhancedConnectionBuilder implements ConnectionBuilder { * A private class to change the standard HostName verifier to disable the * Hostname Verification Check */ - private class HostnameNonVerifier implements HostnameVerifier { + // JSSE Abhängigkeit + //private class HostnameNonVerifier implements HostnameVerifier { /** * @see com.sun.net.ssl.HostnameVerifier#verify(String, String) */ - public boolean verify(String arg0, String arg1) { - return true; - } - } - + // JSSE Abhängigkeit +// public boolean verify(String arg0, String arg1) { +// return true; +// } +// } +// /** * Removes parameters from the query-URL recursively * diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/SSLUtils.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/SSLUtils.java index 5f8e95925..bf38c40d9 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/SSLUtils.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/SSLUtils.java @@ -68,8 +68,9 @@ public class SSLUtils { */ public static void initialize() { sslSocketFactories = new HashMap(); - Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); - System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol"); + // JSSE Abhängigkeit +// Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); +// System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol"); } /** diff --git a/id/server/pom.xml b/id/server/pom.xml index 809aff640..497243114 100644 --- a/id/server/pom.xml +++ b/id/server/pom.xml @@ -4,14 +4,14 @@ MOA id - 1.4.4 + 1.4.5 4.0.0 MOA.id moa-id pom - 1.4.4 + 1.4.5 MOA ID Server diff --git a/id/server/proxy/.classpath b/id/server/proxy/.classpath index 5d93de69c..af4743f8a 100644 --- a/id/server/proxy/.classpath +++ b/id/server/proxy/.classpath @@ -1,4 +1,12 @@ - - - - \ No newline at end of file + + + + + + + + + + + + diff --git a/id/server/proxy/.project b/id/server/proxy/.project index 4e175804c..d58c7c25c 100644 --- a/id/server/proxy/.project +++ b/id/server/proxy/.project @@ -1,14 +1,42 @@ - - moa-id-proxy - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.jdt.core.javanature - - \ No newline at end of file + + + moa-id-proxy + + + + + + org.eclipse.wst.jsdt.core.javascriptValidator + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.wst.validation.validationbuilder + + + + + org.maven.ide.eclipse.maven2Builder + + + + + + org.eclipse.jem.workbench.JavaEMFNature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.maven.ide.eclipse.maven2Nature + org.eclipse.jdt.core.javanature + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.wst.jsdt.core.jsNature + + diff --git a/id/server/proxy/pom.xml b/id/server/proxy/pom.xml index 2255d6c01..da63b2d55 100644 --- a/id/server/proxy/pom.xml +++ b/id/server/proxy/pom.xml @@ -2,7 +2,7 @@ MOA.id moa-id - 1.4.4 + 1.4.5 @@ -13,7 +13,7 @@ MOA.id.server moa-id-proxy war - 1.4.4 + 1.4.5 MOA ID-Proxy WebService diff --git a/id/templates/.classpath b/id/templates/.classpath index 5d93de69c..af4743f8a 100644 --- a/id/templates/.classpath +++ b/id/templates/.classpath @@ -1,4 +1,12 @@ - - - - \ No newline at end of file + + + + + + + + + + + + diff --git a/id/templates/.project b/id/templates/.project index f0a8631ce..ecd7cdf14 100644 --- a/id/templates/.project +++ b/id/templates/.project @@ -1,14 +1,42 @@ - - moa-id-templates - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.jdt.core.javanature - - \ No newline at end of file + + + moa-id-templates + + + + + + org.eclipse.wst.jsdt.core.javascriptValidator + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.wst.validation.validationbuilder + + + + + org.maven.ide.eclipse.maven2Builder + + + + + + org.eclipse.jem.workbench.JavaEMFNature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.maven.ide.eclipse.maven2Nature + org.eclipse.jdt.core.javanature + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.wst.jsdt.core.jsNature + + diff --git a/id/templates/pom.xml b/id/templates/pom.xml index cb8c6c09c..0f1276fff 100644 --- a/id/templates/pom.xml +++ b/id/templates/pom.xml @@ -4,7 +4,7 @@ MOA id - 1.4.4 + 1.4.5 4.0.0 diff --git a/pom.xml b/pom.xml index 015eff21b..e1d899e12 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ MOA MOA pom - 1.4.4 + 1.4.5 MOA @@ -180,25 +180,25 @@ MOA moa-common - 1.4.4 + 1.4.5 compile MOA.id.server moa-id-lib - 1.4.4 + 1.4.5 compile MOA.spss.server moa-spss-lib - 1.4.4 + 1.4.5 compile MOA moa-common - 1.4.4 + 1.4.5 test-jar test @@ -249,7 +249,7 @@ iaik.prod iaik_moa - 1.24 + 1.26 compile diff --git a/repository/iaik/prod/iaik_moa/maven-metadata-MOA.xml b/repository/iaik/prod/iaik_moa/maven-metadata-MOA.xml index 6d363bcc7..d151c28df 100644 --- a/repository/iaik/prod/iaik_moa/maven-metadata-MOA.xml +++ b/repository/iaik/prod/iaik_moa/maven-metadata-MOA.xml @@ -1,11 +1,12 @@ iaik.prod iaik_moa - 1.24 + 1.26 1.23 1.24 + 1.26 20080911074128 diff --git a/spss/handbook/clients/api/.classpath b/spss/handbook/clients/api/.classpath index d8f291998..8619241eb 100644 --- a/spss/handbook/clients/api/.classpath +++ b/spss/handbook/clients/api/.classpath @@ -1,6 +1,7 @@ - + + diff --git a/spss/handbook/clients/api/.project b/spss/handbook/clients/api/.project index e46cff8c4..ec6e1354b 100644 --- a/spss/handbook/clients/api/.project +++ b/spss/handbook/clients/api/.project @@ -5,6 +5,11 @@ + + org.eclipse.wst.common.project.facet.core.builder + + + org.eclipse.jdt.core.javabuilder @@ -19,5 +24,6 @@ org.eclipse.jdt.core.javanature org.maven.ide.eclipse.maven2Nature + org.eclipse.wst.common.project.facet.core.nature diff --git a/spss/handbook/clients/referencedData/.classpath b/spss/handbook/clients/referencedData/.classpath index d8f291998..af4743f8a 100644 --- a/spss/handbook/clients/referencedData/.classpath +++ b/spss/handbook/clients/referencedData/.classpath @@ -1,6 +1,12 @@ - - + + + + + + + + diff --git a/spss/handbook/clients/referencedData/.project b/spss/handbook/clients/referencedData/.project index dc5cac687..e440a8d7a 100644 --- a/spss/handbook/clients/referencedData/.project +++ b/spss/handbook/clients/referencedData/.project @@ -5,11 +5,26 @@ + + org.eclipse.wst.jsdt.core.javascriptValidator + + + + + org.eclipse.wst.common.project.facet.core.builder + + + org.eclipse.jdt.core.javabuilder + + org.eclipse.wst.validation.validationbuilder + + + org.maven.ide.eclipse.maven2Builder @@ -17,7 +32,11 @@ + org.eclipse.jem.workbench.JavaEMFNature + org.eclipse.wst.common.modulecore.ModuleCoreNature org.eclipse.jdt.core.javanature org.maven.ide.eclipse.maven2Nature + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.wst.jsdt.core.jsNature diff --git a/spss/handbook/clients/webservice/.classpath b/spss/handbook/clients/webservice/.classpath index f820e0c3b..8619241eb 100644 --- a/spss/handbook/clients/webservice/.classpath +++ b/spss/handbook/clients/webservice/.classpath @@ -1,7 +1,7 @@ - - + + diff --git a/spss/handbook/clients/webservice/.project b/spss/handbook/clients/webservice/.project index 4ba485b19..8f4c7fe37 100644 --- a/spss/handbook/clients/webservice/.project +++ b/spss/handbook/clients/webservice/.project @@ -5,6 +5,11 @@ + + org.eclipse.wst.common.project.facet.core.builder + + + org.eclipse.jdt.core.javabuilder @@ -19,5 +24,6 @@ org.eclipse.jdt.core.javanature org.maven.ide.eclipse.maven2Nature + org.eclipse.wst.common.project.facet.core.nature diff --git a/spss/handbook/conf/moa-spss/sp.minimum.config.xml b/spss/handbook/conf/moa-spss/sp.minimum.config.xml index 77bb8ab25..4952cf125 100644 --- a/spss/handbook/conf/moa-spss/sp.minimum.config.xml +++ b/spss/handbook/conf/moa-spss/sp.minimum.config.xml @@ -1,6 +1,6 @@ - + diff --git a/spss/handbook/conf/moa-spss/spss.config.xml b/spss/handbook/conf/moa-spss/spss.config.xml index 9f79c5a19..8eeb10189 100644 --- a/spss/handbook/conf/moa-spss/spss.config.xml +++ b/spss/handbook/conf/moa-spss/spss.config.xml @@ -1,6 +1,6 @@ - + diff --git a/spss/handbook/conf/moa-spss/ss.minimum.config.xml b/spss/handbook/conf/moa-spss/ss.minimum.config.xml index 815ae8de6..c3944f6b8 100644 --- a/spss/handbook/conf/moa-spss/ss.minimum.config.xml +++ b/spss/handbook/conf/moa-spss/ss.minimum.config.xml @@ -1,6 +1,6 @@ - + diff --git a/spss/handbook/handbook/config/MOA-SPSS-config-1.4.3.xsd b/spss/handbook/handbook/config/MOA-SPSS-config-1.4.3.xsd deleted file mode 100644 index 2b2f1d689..000000000 --- a/spss/handbook/handbook/config/MOA-SPSS-config-1.4.3.xsd +++ /dev/null @@ -1,312 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/spss/handbook/handbook/config/MOA-SPSS-config-1.4.5.xsd b/spss/handbook/handbook/config/MOA-SPSS-config-1.4.5.xsd new file mode 100644 index 000000000..2b6e1a295 --- /dev/null +++ b/spss/handbook/handbook/config/MOA-SPSS-config-1.4.5.xsd @@ -0,0 +1,268 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/spss/handbook/handbook/config/config.html b/spss/handbook/handbook/config/config.html index 1d590ccfc..6ef096d2b 100644 --- a/spss/handbook/handbook/config/config.html +++ b/spss/handbook/handbook/config/config.html @@ -15,7 +15,7 @@


-

MOA: Serversignatur (SS) und Signaturprüfung (SP), V 1.4.4

+

MOA: Serversignatur (SS) und Signaturprüfung (SP), V 1.4.5

Konfiguration


Inhalt

@@ -31,6 +31,7 @@
  • Zentrale Konfigurationsdatei
    1. Aktualisierung auf das Format von MOA SP/SS 1.3
    2. +
    3. Aktualisierung auf das Format von MOA SP/SS 1.4.5
  • Bekanntmachung der Konfigurationsdatei @@ -76,7 +77,7 @@
  • Gültigkeitsmodell für die Zertifikatskettenprüfung
  • Vertrauensprofile
  • - +
  • Widerrufsprüfung
    1. Aktivieren @@ -119,7 +120,7 @@ cfg - http://reference.e-government.gv.at/namespace/moaconfig/20021122# + http://reference.e-government.gv.at/namespace/moaconfig/20090603# dsig @@ -135,7 +136,7 @@

      1.2 Zentrale Konfigurationsdatei

      -

      Die Konfiguration von MOA SP/SS erfolgt zentral über eine einzige Konfigurationsdatei. Das Format der Konfigurationsdatei ist XML und muss dem Schema MOA-SPSS-config-1.4.3.xsd entsprechen. Abschnitt 2 erläutert die Konfigurationsmöglichkeiten im Einzelnen.

      +

      Die Konfiguration von MOA SP/SS erfolgt zentral über eine einzige Konfigurationsdatei. Das Format der Konfigurationsdatei ist XML und muss dem Schema MOA-SPSS-config-1.4.5.xsd entsprechen. Abschnitt 2 erläutert die Konfigurationsmöglichkeiten im Einzelnen.

      1.2.1 Aktualisierung auf das Format von MOA SP/SS 1.3

      Mit dem Wechsel auf Version 1.3 verwendet MOA SP/SS ein neues, übersichtlicheres Format für die @@ -150,6 +151,12 @@ an, der zweite Parameter Pfad und Dateiname für die zu erzeugende Konfigurationsdatei im neuen Format (Hinweis: Die Beispielpfade beziehen sich auf Windows-Betriebssysteme; für Unix-Betriebssysteme wählen Sie bitte sinngemäße Pfade.).

      +

      1.2.2 + Aktualisierung auf das Format von MOA SP/SS 1.4.5

      +

      Mit dem Wechsel auf Version 1.4.5 verwendet MOA SP/SS ein neues Format für die + XML-Konfigurationsdatei.

      +

      Hierbei wurde die Möglichkeit hinzugefügt Retention Intervalle für bestimmte CAs zu definieren (siehe Abschnitt 2.3.1.3.6).

      +

      Die Aktualisierung erfolgt dabei einfach über das Austauschen des Namesraumes von http://reference.e-government.gv.at/namespace/moaconfig/20021122# auf http://reference.e-government.gv.at/namespace/moaconfig/20090603#.

      1.3 Bekanntmachung der Konfigurationsdatei

      Die zentrale Konfigurationsdatei von MOA SP/SS wird der Java Virtual Machine, in der MOA SP/SS läuft, durch eine System Property mitgeteilt (wird beim Starten der Java Virtual Machine in der Form -D<name>=<wert> gemacht). Der Name der System Property lautet moa.spss.server.configuration; als Wert der System Property ist der Pfad sowie der Name der Konfigurationsdatei im Dateisystem anzugeben, z.B.

      moa.spss.server.configuration=C:/Programme/apache/tomcat-4.1.30/conf/moa-spss/moa-spss.config.xml 
      @@ -549,7 +556,7 @@ IssuerDN (RFC2253) :
                 Signatur enthalten sind bzw. bei der Zertifikatspfaderstellung durch Auswertung der Zertifikatserweiterung Authority
                 Information Access (siehe
                 auch Parameter cfg:UseAuthorityInfoAccess) aus dem Internet geladen werden, automatisch
      -          in den lokalen Zertifikatsspeicher (siehe Abschnitt x.y.z) hinzugefügt werden sollen.

      + in den lokalen Zertifikatsspeicher hinzugefügt werden sollen.

      Zulässige Werte für diesen Parameter sind true oder false.

      @@ -639,7 +646,7 @@ als relativ zum Pfad jenes Verzeichnisses interpretiert werden, in dem die zentr oder pkix (Schalenmodell).
    2. - +
      2.3.1.2.2 Vertrauensprofile
      @@ -765,9 +772,9 @@ als relativ zum Pfad jenes Verzeichnisses interpretiert werden, in dem die zentr Widerrufs für ein Zertifikat kontaktieren soll, wenn für das Zertifikat mehrere unterschiedliche Widerrufsdienste (CRL, OCSP) verfügbar sind. Das Element weist folgendes Kindelement auf:

        -
      • cfg:Service: Dieses Element vom Typ xs:token muss genau zwei mal vorkommen. Gütlige Werte für den +
      • cfg:Service: Dieses Element vom Typ xs:token muss genau ein oder zwei mal vorkommen. Gütlige Werte für den Textinhalt des Elements sind OCSP und CRL. Damit kann entweder die Reihenfolge (CRL, OCSP) oder (OCSP, - CRL) festgelegt werden.
      • + CRL) festgelegt werden. Wird nur ein Element angegeben, so wird auch nur der jeweilige Dienst verwendet.

      Wird das Element nicht angegeben, so lautet die von MOA SP dann verwendete Default-Reihenfolge (CRL, OCSP).

      @@ -917,6 +924,32 @@ als relativ zum Pfad jenes Verzeichnisses interpretiert werden, in dem die zentr +
      2.3.1.3.6 + Konfiguration CRL Retention Intervallen
      + + + + + + + + + + + + + +
      Namecfg:SignatureVerification/cfg:CertificateValidation/cfg:RevocationChecking/cfg:CrlRetentionIntervals
      GebrauchNull oder einmal
      Erläuterung

      Das Element cfg:CrlRetentionIntervals kann dazu verwendet werden um Retention Intervalle für eine bestimmte CA zu konfigurieren. Das Element weist folgendes Kind-Element auf:

      +
        +
      • Element cfg:CA: Dieses Element legt ein Retention Intervall für eine spezielle CA an. Es weist folgende Kind-Elemente auf:
      • +
          +
        • Element cfg:X509IssuerName: Dieses Element vom Typ xs:string muss einmal vorkommen und definiert die entsprechende CA über einen RFC2253 String.
        • +
        • Element cfg:Interval: Dieses Element vom Typ xs:integer muss einmal vorkommen und enthält das Retention Intervall in Tagen. Wird der Wert auf -1 gesetzt, dann bedeutet dass ein unendlich langes Intervall..
        • +
        +
      +
      + +

      2.3.2 Profil für Transformationen

      @@ -1003,7 +1036,7 @@ als relativ zum Pfad jenes Verzeichnisses interpretiert werden, in dem die zentr

      Bitte beachten Sie: Das Erlauben von file-URIs birgt Sicherheitsrisikien. Eine Deaktivierung sollte nur in begründeten Ausnahmefällen in Erwägung gezogen werden.

      Bitte beachten Sie: Es werden keine file-URIs in Ergänzungsobjekten unterstützt.

      Zulässige Werte für diesen Parameter sind true oder false. Wird dieses Element nicht angegeben, so nimmt MOA den Wert false an.

      - +

      3 Beispielkonfigurationen

      diff --git a/spss/handbook/handbook/faq/faq.html b/spss/handbook/handbook/faq/faq.html index ef389ce03..99a9be134 100644 --- a/spss/handbook/handbook/faq/faq.html +++ b/spss/handbook/handbook/faq/faq.html @@ -15,7 +15,7 @@
      -

      MOA: Serversignatur (SS) und Signaturprüfung (SP), V 1.4.4

      +

      MOA: Serversignatur (SS) und Signaturprüfung (SP), V 1.4.5

      FAQ


      Inhalt

      @@ -45,6 +45,8 @@
    3. Ich möchte ein Zertifikat (z.B. einer Zwischen-Zertifizierungsstelle) manuell in den internen Zertifikatsspeicher von MOA SP importieren. Wie funktioniert das? [Zur Antwort]
    4. Meine bestehende Konfigurationsdatei funktioniert mit MOA SP/SS 1.3 oder höher nicht mehr. Was ist passiert? [Zur Antwort]
    5. +
    6. Meine bestehende Konfigurationsdatei funktioniert mit MOA SP/SS 1.4.5 oder höher nicht mehr. Was ist passiert? + [Zur Antwort]

    Verwendung

      @@ -104,6 +106,15 @@ http.nonProxyHosts="<exceptionhosts>" dem Sie Ihre Konfigurationsdatei vom bisherigen auf das neue Format migrieren können.

      Informationen zur Verwendung des Werkzeugs finden Sie in Abschnitt 1.2.1 des Konfigurationshandbuchs.

      +
    1. +
      Meine bestehende Konfigurationsdatei + funktioniert mit MOA SP/SS 1.4.5 oder höher nicht mehr. Was ist passiert?
      +

      Mit dem Wechsel auf Version 1.4.5 verwendet MOA SP/SS ein neues Format für die + XML-Konfigurationsdatei.

      +

      Wenn Sie von einer älteren Version (ab 1.3 aufwärts) von MOA SP/SS auf die Version 1.4.5 wechseln und Ihre bestehende + Konfiguration beibehalten wollen, müssen Sie den Namensraum von http://reference.e-government.gv.at/namespace/moaconfig/20021122# auf http://reference.e-government.gv.at/namespace/moaconfig/20090603# ändern.

      +

      Mehr Informationen finden Sie in Abschnitt 1.2.2 des Konfigurationshandbuchs.

      +

    Verwendung

      diff --git a/spss/handbook/handbook/index.html b/spss/handbook/handbook/index.html index 37b4c9db9..709743dbf 100644 --- a/spss/handbook/handbook/index.html +++ b/spss/handbook/handbook/index.html @@ -16,7 +16,7 @@

      MOA: Serversignatur (SS) und Signaturprüfung (SP)

      -

      Übersicht zur Dokumentation der Version 1.4.4

      +

      Übersicht zur Dokumentation der Version 1.4.5


      Einführung
      diff --git a/spss/handbook/handbook/install/install.html b/spss/handbook/handbook/install/install.html index 4df97ef4b..c327f877d 100644 --- a/spss/handbook/handbook/install/install.html +++ b/spss/handbook/handbook/install/install.html @@ -15,7 +15,7 @@
      -

      MOA: Serversignatur (SS) und Signaturprüfung (SP), V 1.4.4

      +

      MOA: Serversignatur (SS) und Signaturprüfung (SP), V 1.4.5

      Installation


      Inhalt

      @@ -127,7 +127,7 @@
      Installation von Apache Tomcat 4.1
      Installieren Sie Apache Tomcat 4.1.18 oder höher in ein Verzeichnis, das keine Leerzeichen im Pfadnamen enthält. Wir empfehlen die Installation von Apache Tomcat 4.1.31. Verwenden Sie bitte die zu Ihrem J2SE SDK passende Distribution von Tomcat. Das Wurzelverzeichnis der Tomcat-Installation wird im weiteren Verlauf als $CATALINA_HOME bezeichnet.
      Entpacken der MOA SP/SS Webservice Distribution
      -
      Entpacken Sie die Datei moa-spss-1.4.4.zip in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als $MOA_SPSS_INST bezeichnet.
      +
      Entpacken Sie die Datei moa-spss-1.4.5.zip in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als $MOA_SPSS_INST bezeichnet.
      Installation der Krypographiebibliotheken von SIC/IAIK

      Die Installation der Kryptographiebibliotheken von SIC/IAIK:

      @@ -380,7 +380,7 @@ INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null>
      Installation von J2SE SDK
      Installieren Sie J2SE 1.4.x SDK oder J2SE 5.0 SDK in ein beliebiges Verzeichnis. Wir empfehlen die Installation von J2SE 5.0 SDK. Das Wurzelverzeichnis der J2SE SDK Installation wird im weiteren Verlauf als $JAVA_HOME bezeichnet.
      Entpacken der MOA SP/SS Klassenbibliotheks-Distribution
      -
      Entpacken Sie die Datei moa-spss-1.4.4-lib.zip in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als $MOA_SPSS_INST bezeichnet.
      +
      Entpacken Sie die Datei moa-spss-1.4.5-lib.zip in ein beliebiges Verzeichnis. Dieses Verzeichnis wird im weiteren Verlauf als $MOA_SPSS_INST bezeichnet.
      Installation der Krypographiebibliotheken von SIC/IAIK

      Die Installation der Kryptographiebibliotheken von SIC/IAIK:

      @@ -399,13 +399,13 @@ INFO | 01 21:25:26,540 | Thread-3 | TID=1049225059594-100 NID=<null> MOA SP/SS -1.4.4  +1.4.5  moa-spss.jar, moa-common.jar MOA IAIK -1.20  -

      lib/iaik_moa-1.20.jar, - lib/iaik_cms-3.2.jar, lib/iaik_ixsil-1.2.2.3.jar

      +1.26  +

      lib/iaik_moa-1.26.jar, + lib/iaik_cms-3.2.jar, lib/iaik_ixsil-1.2.2.4.jar

      diff --git a/spss/handbook/handbook/intro/intro.html b/spss/handbook/handbook/intro/intro.html index 8a9fb1bd1..96d5492c2 100644 --- a/spss/handbook/handbook/intro/intro.html +++ b/spss/handbook/handbook/intro/intro.html @@ -15,7 +15,7 @@
      -

      MOA: Serversignatur (SS) und Signaturprüfung (SP), V 1.4.4

      +

      MOA: Serversignatur (SS) und Signaturprüfung (SP), V 1.4.5

      Einführung


      Inhalt

      diff --git a/spss/handbook/handbook/usage/usage.html b/spss/handbook/handbook/usage/usage.html index bec96d0a9..3b38eb010 100644 --- a/spss/handbook/handbook/usage/usage.html +++ b/spss/handbook/handbook/usage/usage.html @@ -15,7 +15,7 @@
      -

      MOA: Serversignatur (SS) und Signaturprüfung (SP), V 1.4.4

      +

      MOA: Serversignatur (SS) und Signaturprüfung (SP), V 1.4.5

      Anwendung


      Inhalt

      diff --git a/spss/pom.xml b/spss/pom.xml index a102fd8a1..68cf2a573 100644 --- a/spss/pom.xml +++ b/spss/pom.xml @@ -3,7 +3,7 @@ MOA MOA - 1.4.4 + 1.4.5 4.0.0 diff --git a/spss/server/history.txt b/spss/server/history.txt index 941713559..7a14b56ea 100644 --- a/spss/server/history.txt +++ b/spss/server/history.txt @@ -1,3 +1,15 @@ +############## +1.4.5 +############## + +- IAIK Libraries aktualisiert: + iaik-moa: Version 1.26 +- Überprüfung von ArchiveCutOff und Implementierung eines Retention Intervalls für CRLs. +- Hinzufügen der Möglichkeit Retention Intervalle für bestimmte CAs zu konfigurieren. + Dadurch wurde auch das Konfigurations Schema und der Namespace geändert. +- Weitere Änderung des Konfigurations Schemas: Bei der ServiceOrder für das Revocation + Checking kann nun auch nur jeweils ein Dienst (CRL oder OCSP) angegeben werden. + ############## 1.4.4 ############## diff --git a/spss/server/readme.update.txt b/spss/server/readme.update.txt index e87ecf5c5..e11649254 100644 --- a/spss/server/readme.update.txt +++ b/spss/server/readme.update.txt @@ -1,11 +1,11 @@ ====================================================================== - Update einer bestehenden MOA-SPSS-Installation auf Version 1.4.3 + Update einer bestehenden MOA-SPSS-Installation auf Version 1.4.5 ====================================================================== Es gibt zwei Möglichkeiten (im Folgenden als "Update Variante A" und "Update Variante B" bezeichnet), das Update von MOA-SPSS auf Version -1.4.3 durchzuführen. Update Variante A geht dabei den Weg über eine +1.4.5 durchzuführen. Update Variante A geht dabei den Weg über eine vorangestellte Neuinstallation, während Variante B direkt eine bestehende Installation aktualisiert. @@ -16,7 +16,7 @@ JAVA_HOME bezeichnet das Wurzelverzeichnis der JDK-Installation CATALINA_HOME bezeichnet das Wurzelverzeichnis der Tomcat-Installation MOA_SPSS_INST bezeichnet das Verzeichnis, in das Sie die Datei -moa-spss-1.4.3.zip entpackt haben. +moa-spss-1.4.5.zip entpackt haben. ================= @@ -40,7 +40,14 @@ Update Variante A Update Variante B, Punkt 9 beschrieben vor, um Ihre alten Trustprofile auf einen aktuellen Stand zu bringen. -5.) Nur wenn alte Installation älter als Version 1.3.0: +5a.) Nur wenn alte Installation älter als Version 1.4.5: + Falls Sie Ihre alte MOA-SP Konfigurationsdatei weiterverwenden wollen: + Seit dem Wechsel auf Version 1.4.5 verwendet MOA SP ein neues Format für die + XML-Konfigurationsdatei. Sie müssen die Konfigurationsdatei für MOA-SP aus + Ihrer alten Installation auf das neue Format konvertieren. + Details dazufinden Sie im MOA-SPSS-Installationshandbuch. + +5b.) Nur wenn alte Installation älter als Version 1.3.0: Falls Sie Ihre alte MOA-SP Konfigurationsdatei weiterverwenden wollen: Seit dem Wechsel auf Version 1.3.1 verwendet MOA SP ein neues Format für die XML-Konfigurationsdatei. Sie müssen die Konfigurationsdatei für MOA-SP aus @@ -55,7 +62,7 @@ Update Variante B 1.) Erstellen Sie eine Sicherungskopie des kompletten Tomcat-Verzeichnisses Ihrer MOA-SPSS-Installation. -2.) Entpacken Sie die Datei "moa-spss-1.4.3.zip" in das Verzeichnis MOA_SPSS_INST. +2.) Entpacken Sie die Datei "moa-spss-1.4.5.zip" in das Verzeichnis MOA_SPSS_INST. 3.) Erstellen Sie eine Sicherungskopie aller "iaik*.jar"-Dateien im Verzeichnis JAVA_HOME\jre\lib\ext und löschen Sie diese Dateien danach. @@ -124,7 +131,13 @@ Update Variante B in das Verzeichnis CATALINA_HOME\conf\moa-spss\certstore\10F17BDACD8DEAA1E8F23FBEAE7B3EC3D9773D1D. -11.) Nur wenn alte Installation älter als Version 1.3.0: +11a.) Nur wenn alte Installation älter als Version 1.4.5: + Mit dem Wechsel auf Version 1.4.5 verwendet MOA SP ein neues Format für die + XML-Konfigurationsdatei. Sie müssen die Konfigurationsdatei für MOA-SP aus + Ihrer alten Installation auf das neue Format konvertieren. Details dazu + finden Sie im MOA-SPSS-Installationshandbuch. + +11b.) Nur wenn alte Installation älter als Version 1.3.0: Mit dem Wechsel auf Version 1.3.0 verwendet MOA SP ein neues Format für die XML-Konfigurationsdatei. Sie müssen die Konfigurationsdatei für MOA-SP aus Ihrer alten Installation auf das neue Format konvertieren. Details dazu diff --git a/spss/server/serverlib/.classpath b/spss/server/serverlib/.classpath index 01edb156d..1c79cc393 100644 --- a/spss/server/serverlib/.classpath +++ b/spss/server/serverlib/.classpath @@ -1,9 +1,9 @@ - - - - + + + + diff --git a/spss/server/serverlib/pom.xml b/spss/server/serverlib/pom.xml index 972822a73..fe8ac16d4 100644 --- a/spss/server/serverlib/pom.xml +++ b/spss/server/serverlib/pom.xml @@ -9,7 +9,7 @@ MOA.spss.server moa-spss-lib jar - 1.4.4 + 1.4.5 MOA SP/SS API diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java index 058ce5280..3ad7b761f 100644 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java +++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationPartsBuilder.java @@ -39,6 +39,7 @@ import org.w3c.dom.traversal.NodeIterator; import org.xml.sax.SAXException; +import iaik.asn1.structures.Name; import iaik.ixsil.exceptions.URIException; import iaik.ixsil.util.URI; import iaik.pki.pathvalidation.ChainingModes; @@ -149,6 +150,12 @@ public class ConfigurationPartsBuilder { + CONF + "CertificateValidation/" + CONF + "RevocationChecking/" + CONF + "DistributionPoint"; + private static final String CRL_RETENTION_INTERVALS_CA_XPATH = + ROOT + CONF + "SignatureVerification/" + + CONF + "CertificateValidation/" + + CONF + "RevocationChecking/" + + CONF + "CrlRetentionIntervals/" + + CONF + "CA"; private static final String ENABLE_REVOCATION_CHECKING_XPATH_ = ROOT + CONF + "SignatureVerification/" + CONF + "CertificateValidation/" @@ -1264,4 +1271,33 @@ public class ConfigurationPartsBuilder { return Boolean.valueOf(permitFileURIs).booleanValue(); } + /** + * Returns a map of CRL retention intervals + * @return + */ + public Map getCrlRetentionIntervals() { + Map map = new HashMap(); + NodeIterator modIter = XPathUtils.selectNodeIterator( + getConfigElem(), + CRL_RETENTION_INTERVALS_CA_XPATH); + + Element modElem; + while ((modElem = (Element) modIter.nextNode()) != null) { + String x509IssuerName = getElementValue(modElem, CONF + "X509IssuerName", null); + String i = getElementValue(modElem, CONF + "Interval", null); + Integer interval = new Integer(i); + try { + RFC2253NameParser parser = new RFC2253NameParser(x509IssuerName); + Name name = parser.parse(); + map.put(name.getRFC2253String(), interval); + } catch (RFC2253NameParserException e) { + map.put(x509IssuerName, interval); + } + + //System.out.println("Name: " + x509IssuerName + " - Interval: " + interval); + } + + return map; + } + } diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.java index 05bd43087..7b72e3cc5 100644 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.java +++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProvider.java @@ -15,6 +15,11 @@ */ package at.gv.egovernment.moa.spss.server.config; +import iaik.asn1.structures.Name; +import iaik.pki.revocation.RevocationSourceTypes; +import iaik.utils.RFC2253NameParser; +import iaik.utils.RFC2253NameParserException; + import java.io.File; import java.io.FileInputStream; import java.io.IOException; @@ -24,22 +29,17 @@ import java.security.Principal; import java.security.cert.X509Certificate; import java.util.ArrayList; import java.util.Collections; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import org.w3c.dom.Element; -import iaik.asn1.structures.Name; -import iaik.pki.revocation.RevocationSourceTypes; -import iaik.utils.RFC2253NameParser; -import iaik.utils.RFC2253NameParserException; - import at.gv.egovernment.moa.logging.LogMsg; import at.gv.egovernment.moa.logging.Logger; -import at.gv.egovernment.moa.util.DOMUtils; - import at.gv.egovernment.moa.spss.util.MessageProvider; +import at.gv.egovernment.moa.util.DOMUtils; /** * A class providing access to the MOA configuration data. @@ -226,6 +226,11 @@ public class ConfigurationProvider */ private boolean permitFileURIs; + /** + * Indicates the CRL retention intervals + */ + private Map crlRetentionIntervals; + /** * Return the single instance of configuration data. * @@ -306,6 +311,7 @@ public class ConfigurationProvider // build the internal datastructures try { builder = new ConfigurationPartsBuilder(configElem, configRoot); + digestMethodAlgorithmName = builder.getDigestMethodAlgorithmName(); canonicalizationAlgorithmName = builder.getCanonicalizationAlgorithmName(); @@ -339,6 +345,16 @@ public class ConfigurationProvider supplementProfiles = builder.buildSupplementProfiles(); warnings = new ArrayList(builder.getWarnings()); permitFileURIs = builder.getPermitFileURIs(); + crlRetentionIntervals = builder.getCrlRetentionIntervals(); + +// Set set = crlRetentionIntervals.entrySet(); +// Iterator i = set.iterator(); +// while(i.hasNext()){ +// Map.Entry me = (Map.Entry)i.next(); +// System.out.println("Key: " + me.getKey() + " - Value: " + me.getValue() ); +// } + + } catch (Throwable t) { throw new ConfigurationException("config.11", null, t); } finally { @@ -714,4 +730,14 @@ public class ConfigurationProvider { return permitFileURIs; } + + /** + * Returns the map of retention intervals + * @return The map of retention intervals + */ + public Map getCrlRetentionIntervals() { + return crlRetentionIntervals; + } + + } \ No newline at end of file diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.java index 12c560855..4625ccf88 100644 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.java +++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfigurator.java @@ -72,7 +72,7 @@ public class IaikConfigurator { // Set customized CRL retriever to overcome a classloader problem when MOA is deployed in Tomcat RevocationSourceStore rss = RevocationFactory.getInstance(transId).getRevocationSourceStore(); - rss.setRetriever(new CRLRetriever(), RevocationSourceTypes.CRL); + //rss.setRetriever(new CRLRetriever(), RevocationSourceTypes.CRL); if ((moaConfig.getSoftwareKeyModules().size() > 0) || (moaConfig.getHardwareKeyModules().size() > 0)) { dumpKeyEntryIDs(); } diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/RevocationConfigurationImpl.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/RevocationConfigurationImpl.java index 74a268519..67eac5b55 100644 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/RevocationConfigurationImpl.java +++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/iaik/config/RevocationConfigurationImpl.java @@ -19,6 +19,7 @@ import iaik.pki.revocation.RevocationConfiguration; import java.security.cert.X509Certificate; import java.util.Date; +import java.util.Map; import java.util.Set; import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider; @@ -65,4 +66,15 @@ public class RevocationConfigurationImpl return config.getEnableRevocationArchiving(); } + /** + * @see iaik.pki.revocation.RevocationConfiguration#getCrlRetentionInterval(java.lang.String) + */ + public Integer getCrlRetentionInterval(String issuername) + { + Map map = config.getCrlRetentionIntervals(); + Integer interval = (Integer)map.get(issuername); + + return interval; +} + } diff --git a/spss/server/serverws/.classpath b/spss/server/serverws/.classpath index 8cd9e4eb8..3bcfa0901 100644 --- a/spss/server/serverws/.classpath +++ b/spss/server/serverws/.classpath @@ -1,8 +1,13 @@ - + + + + + + - + diff --git a/spss/server/serverws/.project b/spss/server/serverws/.project index 5be7350f1..a115e2dea 100644 --- a/spss/server/serverws/.project +++ b/spss/server/serverws/.project @@ -7,6 +7,11 @@ moa-spss-lib + + org.eclipse.wst.jsdt.core.javascriptValidator + + + org.eclipse.jdt.core.javabuilder @@ -34,5 +39,6 @@ org.eclipse.wst.common.project.facet.core.nature org.eclipse.wst.common.modulecore.ModuleCoreNature org.eclipse.jem.workbench.JavaEMFNature + org.eclipse.wst.jsdt.core.jsNature diff --git a/spss/server/serverws/.settings/org.eclipse.wst.common.component b/spss/server/serverws/.settings/org.eclipse.wst.common.component index 7ac34c6c2..c83fdc828 100644 --- a/spss/server/serverws/.settings/org.eclipse.wst.common.component +++ b/spss/server/serverws/.settings/org.eclipse.wst.common.component @@ -1,11 +1,11 @@ - - + + uses - + uses diff --git a/spss/server/serverws/.settings/org.eclipse.wst.common.project.facet.core.xml b/spss/server/serverws/.settings/org.eclipse.wst.common.project.facet.core.xml index 94d50aad1..f30a1de6e 100644 --- a/spss/server/serverws/.settings/org.eclipse.wst.common.project.facet.core.xml +++ b/spss/server/serverws/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -1,5 +1,5 @@ - + diff --git a/spss/server/serverws/pom.xml b/spss/server/serverws/pom.xml index 7dac91d35..7cdb6987f 100644 --- a/spss/server/serverws/pom.xml +++ b/spss/server/serverws/pom.xml @@ -10,7 +10,7 @@ MOA.spss.server moa-spss-ws war - 1.4.4 + 1.4.5 MOA SP/SS WebService diff --git a/spss/server/tools/.classpath b/spss/server/tools/.classpath index 82972d400..ad36587e9 100644 --- a/spss/server/tools/.classpath +++ b/spss/server/tools/.classpath @@ -1,8 +1,8 @@ - - - + + + diff --git a/spss/server/tools/.project b/spss/server/tools/.project index 4b3ffd512..4e931b799 100644 --- a/spss/server/tools/.project +++ b/spss/server/tools/.project @@ -5,6 +5,11 @@ + + org.eclipse.wst.common.project.facet.core.builder + + + org.eclipse.jdt.core.javabuilder @@ -19,5 +24,6 @@ org.eclipse.jdt.core.javanature org.maven.ide.eclipse.maven2Nature + org.eclipse.wst.common.project.facet.core.nature diff --git a/spss/server/tools/src/main/java/at/gv/egovernment/moa/spss/server/tools/ConfigTool.java b/spss/server/tools/src/main/java/at/gv/egovernment/moa/spss/server/tools/ConfigTool.java index d5c3b48c1..5848065b7 100644 --- a/spss/server/tools/src/main/java/at/gv/egovernment/moa/spss/server/tools/ConfigTool.java +++ b/spss/server/tools/src/main/java/at/gv/egovernment/moa/spss/server/tools/ConfigTool.java @@ -23,9 +23,9 @@ public class ConfigTool { if (args == null || args.length != 2) { - System.out.println("Usage: ConfigTool "); + System.out.println("Usage: ConfigTool "); System.out.println(" ... Old config file to be transformed"); - System.out.println(" ... New config file resulting from the transform"); + System.out.println(" ... New config file resulting from the transform"); System.exit(-1); } diff --git a/spss/server/tools/src/main/resources/tools/ConfigurationMapper.xsl b/spss/server/tools/src/main/resources/tools/ConfigurationMapper.xsl index fd47cbf84..3f0fe971b 100644 --- a/spss/server/tools/src/main/resources/tools/ConfigurationMapper.xsl +++ b/spss/server/tools/src/main/resources/tools/ConfigurationMapper.xsl @@ -1,5 +1,5 @@ - + -- cgit v1.2.3 From b96b2ef653f6bc62ca8a7880dde525dc44d9a8b7 Mon Sep 17 00:00:00 2001 From: kstranacher Date: Mon, 10 Aug 2009 09:23:17 +0000 Subject: git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@1123 d688527b-c9ab-4aba-bd8d-4036d912da1d --- .classpath | 6 +++++ .project | 17 ++++++++++++ .settings/org.eclipse.jdt.core.prefs | 5 ++++ .settings/org.maven.ide.eclipse.prefs | 9 +++++++ common/.settings/org.maven.ide.eclipse.prefs | 9 +++++++ .../java/at/gv/egovernment/moa/util/Constants.java | 2 +- .../resources/schemas/MOA-SPSS-config-1.4.5.xsd | 2 +- id/oa/.settings/.jsdtscope | 11 ++++++++ id/oa/.settings/org.eclipse.jdt.core.prefs | 7 +++++ id/oa/.settings/org.eclipse.wst.common.component | 8 ++++++ .../org.eclipse.wst.common.project.facet.core.xml | 5 ++++ .../org.eclipse.wst.jsdt.ui.superType.container | 1 + .../org.eclipse.wst.jsdt.ui.superType.name | 1 + id/oa/.settings/org.maven.ide.eclipse.prefs | 9 +++++++ id/oa/src/main/webapp/META-INF/MANIFEST.MF | 3 +++ id/server/.classpath | 6 +++++ id/server/.project | 29 +++++++++++++++++++++ id/server/.settings/org.eclipse.jdt.core.prefs | 5 ++++ id/server/.settings/org.maven.ide.eclipse.prefs | 9 +++++++ id/server/auth/.settings/.jsdtscope | 11 ++++++++ .../org.eclipse.wst.jsdt.ui.superType.container | 1 + .../org.eclipse.wst.jsdt.ui.superType.name | 1 + .../auth/.settings/org.maven.ide.eclipse.prefs | 9 +++++++ .../conf/moa-spss/SampleMOASPSSConfiguration.xml | 2 +- id/server/doc/moa_id/id-admin.htm | 2 +- .../.settings/org.maven.ide.eclipse.prefs | 9 +++++++ id/server/proxy/.settings/.jsdtscope | 11 ++++++++ .../.settings/org.eclipse.wst.common.component | 17 ++++++++++++ .../org.eclipse.wst.common.project.facet.core.xml | 5 ++++ .../org.eclipse.wst.jsdt.ui.superType.container | 1 + .../org.eclipse.wst.jsdt.ui.superType.name | 1 + .../proxy/.settings/org.maven.ide.eclipse.prefs | 9 +++++++ .../proxy/src/main/webapp/META-INF/MANIFEST.MF | 3 +++ id/templates/.settings/.jsdtscope | 11 ++++++++ .../.settings/org.eclipse.wst.common.component | 8 ++++++ .../org.eclipse.wst.common.project.facet.core.xml | 5 ++++ .../org.eclipse.wst.jsdt.ui.superType.container | 1 + .../org.eclipse.wst.jsdt.ui.superType.name | 1 + id/templates/.settings/org.maven.ide.eclipse.prefs | 9 +++++++ id/templates/src/main/webapp/META-INF/MANIFEST.MF | 3 +++ .../iaik/prod/iaik_moa/1.24/iaik_moa-1.26.jar | Bin 0 -> 710601 bytes .../iaik/prod/iaik_moa/1.24/iaik_moa-1.26.jar.md5 | 1 + .../iaik/prod/iaik_moa/1.24/iaik_moa-1.26.jar.sha1 | 1 + .../iaik/prod/iaik_moa/1.24/iaik_moa-1.26.pom | 7 +++++ .../iaik/prod/iaik_moa/1.24/iaik_moa-1.26.pom.md5 | 1 + .../iaik/prod/iaik_moa/1.24/iaik_moa-1.26.pom.sha1 | 1 + spss/handbook/.classpath | 6 +++++ spss/handbook/.project | 29 +++++++++++++++++++++ .../handbook/.settings/org.maven.ide.eclipse.prefs | 9 +++++++ spss/handbook/clients/.classpath | 6 +++++ spss/handbook/clients/.project | 29 +++++++++++++++++++++ .../clients/.settings/org.eclipse.jdt.core.prefs | 5 ++++ .../clients/.settings/org.maven.ide.eclipse.prefs | 9 +++++++ .../api/.settings/org.eclipse.jdt.core.prefs | 5 ++++ .../api/.settings/org.maven.ide.eclipse.prefs | 9 +++++++ .../clients/referencedData/.settings/.jsdtscope | 11 ++++++++ .../.settings/org.eclipse.jdt.core.prefs | 7 +++++ .../.settings/org.eclipse.wst.common.component | 8 ++++++ .../org.eclipse.wst.common.project.facet.core.xml | 5 ++++ .../org.eclipse.wst.jsdt.ui.superType.container | 1 + .../org.eclipse.wst.jsdt.ui.superType.name | 1 + .../.settings/org.maven.ide.eclipse.prefs | 9 +++++++ .../src/main/webapp/META-INF/MANIFEST.MF | 3 +++ .../.settings/org.maven.ide.eclipse.prefs | 9 +++++++ spss/handbook/conf/moa-spss/sp.minimum.config.xml | 2 +- spss/handbook/conf/moa-spss/spss.config.xml | 2 +- spss/handbook/conf/moa-spss/ss.minimum.config.xml | 2 +- .../handbook/config/MOA-SPSS-config-1.4.5.xsd | 2 +- spss/handbook/handbook/config/config.html | 9 +------ spss/handbook/handbook/faq/faq.html | 13 +-------- spss/server/.classpath | 6 +++++ spss/server/.project | 29 +++++++++++++++++++++ spss/server/.settings/org.eclipse.jdt.core.prefs | 5 ++++ spss/server/.settings/org.maven.ide.eclipse.prefs | 9 +++++++ spss/server/readme.update.txt | 17 ++---------- .../.settings/org.maven.ide.eclipse.prefs | 9 +++++++ spss/server/serverws/.settings/.jsdtscope | 11 ++++++++ .../org.eclipse.wst.jsdt.ui.superType.container | 1 + .../org.eclipse.wst.jsdt.ui.superType.name | 1 + .../serverws/.settings/org.maven.ide.eclipse.prefs | 9 +++++++ .../serverws/src/main/webapp/META-INF/MANIFEST.MF | 3 +++ .../main/resources/tools/ConfigurationMapper.xsl | 2 +- 82 files changed, 524 insertions(+), 44 deletions(-) create mode 100644 .classpath create mode 100644 .project create mode 100644 .settings/org.eclipse.jdt.core.prefs create mode 100644 .settings/org.maven.ide.eclipse.prefs create mode 100644 common/.settings/org.maven.ide.eclipse.prefs create mode 100644 id/oa/.settings/.jsdtscope create mode 100644 id/oa/.settings/org.eclipse.jdt.core.prefs create mode 100644 id/oa/.settings/org.eclipse.wst.common.component create mode 100644 id/oa/.settings/org.eclipse.wst.common.project.facet.core.xml create mode 100644 id/oa/.settings/org.eclipse.wst.jsdt.ui.superType.container create mode 100644 id/oa/.settings/org.eclipse.wst.jsdt.ui.superType.name create mode 100644 id/oa/.settings/org.maven.ide.eclipse.prefs create mode 100644 id/oa/src/main/webapp/META-INF/MANIFEST.MF create mode 100644 id/server/.classpath create mode 100644 id/server/.project create mode 100644 id/server/.settings/org.eclipse.jdt.core.prefs create mode 100644 id/server/.settings/org.maven.ide.eclipse.prefs create mode 100644 id/server/auth/.settings/.jsdtscope create mode 100644 id/server/auth/.settings/org.eclipse.wst.jsdt.ui.superType.container create mode 100644 id/server/auth/.settings/org.eclipse.wst.jsdt.ui.superType.name create mode 100644 id/server/auth/.settings/org.maven.ide.eclipse.prefs create mode 100644 id/server/idserverlib/.settings/org.maven.ide.eclipse.prefs create mode 100644 id/server/proxy/.settings/.jsdtscope create mode 100644 id/server/proxy/.settings/org.eclipse.wst.common.component create mode 100644 id/server/proxy/.settings/org.eclipse.wst.common.project.facet.core.xml create mode 100644 id/server/proxy/.settings/org.eclipse.wst.jsdt.ui.superType.container create mode 100644 id/server/proxy/.settings/org.eclipse.wst.jsdt.ui.superType.name create mode 100644 id/server/proxy/.settings/org.maven.ide.eclipse.prefs create mode 100644 id/server/proxy/src/main/webapp/META-INF/MANIFEST.MF create mode 100644 id/templates/.settings/.jsdtscope create mode 100644 id/templates/.settings/org.eclipse.wst.common.component create mode 100644 id/templates/.settings/org.eclipse.wst.common.project.facet.core.xml create mode 100644 id/templates/.settings/org.eclipse.wst.jsdt.ui.superType.container create mode 100644 id/templates/.settings/org.eclipse.wst.jsdt.ui.superType.name create mode 100644 id/templates/.settings/org.maven.ide.eclipse.prefs create mode 100644 id/templates/src/main/webapp/META-INF/MANIFEST.MF create mode 100644 repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.jar create mode 100644 repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.jar.md5 create mode 100644 repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.jar.sha1 create mode 100644 repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.pom create mode 100644 repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.pom.md5 create mode 100644 repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.pom.sha1 create mode 100644 spss/handbook/.classpath create mode 100644 spss/handbook/.project create mode 100644 spss/handbook/.settings/org.maven.ide.eclipse.prefs create mode 100644 spss/handbook/clients/.classpath create mode 100644 spss/handbook/clients/.project create mode 100644 spss/handbook/clients/.settings/org.eclipse.jdt.core.prefs create mode 100644 spss/handbook/clients/.settings/org.maven.ide.eclipse.prefs create mode 100644 spss/handbook/clients/api/.settings/org.eclipse.jdt.core.prefs create mode 100644 spss/handbook/clients/api/.settings/org.maven.ide.eclipse.prefs create mode 100644 spss/handbook/clients/referencedData/.settings/.jsdtscope create mode 100644 spss/handbook/clients/referencedData/.settings/org.eclipse.jdt.core.prefs create mode 100644 spss/handbook/clients/referencedData/.settings/org.eclipse.wst.common.component create mode 100644 spss/handbook/clients/referencedData/.settings/org.eclipse.wst.common.project.facet.core.xml create mode 100644 spss/handbook/clients/referencedData/.settings/org.eclipse.wst.jsdt.ui.superType.container create mode 100644 spss/handbook/clients/referencedData/.settings/org.eclipse.wst.jsdt.ui.superType.name create mode 100644 spss/handbook/clients/referencedData/.settings/org.maven.ide.eclipse.prefs create mode 100644 spss/handbook/clients/referencedData/src/main/webapp/META-INF/MANIFEST.MF create mode 100644 spss/handbook/clients/webservice/.settings/org.maven.ide.eclipse.prefs create mode 100644 spss/server/.classpath create mode 100644 spss/server/.project create mode 100644 spss/server/.settings/org.eclipse.jdt.core.prefs create mode 100644 spss/server/.settings/org.maven.ide.eclipse.prefs create mode 100644 spss/server/serverlib/.settings/org.maven.ide.eclipse.prefs create mode 100644 spss/server/serverws/.settings/.jsdtscope create mode 100644 spss/server/serverws/.settings/org.eclipse.wst.jsdt.ui.superType.container create mode 100644 spss/server/serverws/.settings/org.eclipse.wst.jsdt.ui.superType.name create mode 100644 spss/server/serverws/.settings/org.maven.ide.eclipse.prefs create mode 100644 spss/server/serverws/src/main/webapp/META-INF/MANIFEST.MF (limited to 'id/oa') diff --git a/.classpath b/.classpath new file mode 100644 index 000000000..f93d181b5 --- /dev/null +++ b/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/.project b/.project new file mode 100644 index 000000000..94bbfd821 --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + MOA + + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + + org.eclipse.wst.common.project.facet.core.nature + + diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..ecfce1f61 --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,5 @@ +#Tue Jul 07 16:07:12 CEST 2009 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.source=1.4 diff --git a/.settings/org.maven.ide.eclipse.prefs b/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 000000000..5c026f6b8 --- /dev/null +++ b/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Tue Jul 07 16:06:45 CEST 2009 +activeProfiles= +eclipse.preferences.version=1 +fullBuildGoals=process-test-resources +includeModules=false +resolveWorkspaceProjects=true +resourceFilterGoals=process-resources resources\:testResources +skipCompilerPlugin=true +version=1 diff --git a/common/.settings/org.maven.ide.eclipse.prefs b/common/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 000000000..6d43bf12f --- /dev/null +++ b/common/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Tue Jul 07 16:06:47 CEST 2009 +activeProfiles= +eclipse.preferences.version=1 +fullBuildGoals=process-test-resources +includeModules=false +resolveWorkspaceProjects=true +resourceFilterGoals=process-resources resources\:testResources +skipCompilerPlugin=true +version=1 diff --git a/common/src/main/java/at/gv/egovernment/moa/util/Constants.java b/common/src/main/java/at/gv/egovernment/moa/util/Constants.java index a32541749..993026c57 100644 --- a/common/src/main/java/at/gv/egovernment/moa/util/Constants.java +++ b/common/src/main/java/at/gv/egovernment/moa/util/Constants.java @@ -78,7 +78,7 @@ public interface Constants { /** URI of the MOA configuration XML namespace. */ public static final String MOA_CONFIG_NS_URI = - "http://reference.e-government.gv.at/namespace/moaconfig/20090603#"; + "http://reference.e-government.gv.at/namespace/moaconfig/20021122#"; /** URI of the MOA ID configuration XML namespace. */ public static final String MOA_ID_CONFIG_NS_URI = diff --git a/common/src/main/resources/resources/schemas/MOA-SPSS-config-1.4.5.xsd b/common/src/main/resources/resources/schemas/MOA-SPSS-config-1.4.5.xsd index 2b6e1a295..8da3a72b0 100644 --- a/common/src/main/resources/resources/schemas/MOA-SPSS-config-1.4.5.xsd +++ b/common/src/main/resources/resources/schemas/MOA-SPSS-config-1.4.5.xsd @@ -2,7 +2,7 @@ - + diff --git a/id/oa/.settings/.jsdtscope b/id/oa/.settings/.jsdtscope new file mode 100644 index 000000000..f40dd98e2 --- /dev/null +++ b/id/oa/.settings/.jsdtscope @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/id/oa/.settings/org.eclipse.jdt.core.prefs b/id/oa/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..fe7479929 --- /dev/null +++ b/id/oa/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +#Tue Jul 07 16:07:19 CEST 2009 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.source=1.3 diff --git a/id/oa/.settings/org.eclipse.wst.common.component b/id/oa/.settings/org.eclipse.wst.common.component new file mode 100644 index 000000000..10e0ef1df --- /dev/null +++ b/id/oa/.settings/org.eclipse.wst.common.component @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/id/oa/.settings/org.eclipse.wst.common.project.facet.core.xml b/id/oa/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 000000000..f30a1de6e --- /dev/null +++ b/id/oa/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/id/oa/.settings/org.eclipse.wst.jsdt.ui.superType.container b/id/oa/.settings/org.eclipse.wst.jsdt.ui.superType.container new file mode 100644 index 000000000..3bd5d0a48 --- /dev/null +++ b/id/oa/.settings/org.eclipse.wst.jsdt.ui.superType.container @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file diff --git a/id/oa/.settings/org.eclipse.wst.jsdt.ui.superType.name b/id/oa/.settings/org.eclipse.wst.jsdt.ui.superType.name new file mode 100644 index 000000000..05bd71b6e --- /dev/null +++ b/id/oa/.settings/org.eclipse.wst.jsdt.ui.superType.name @@ -0,0 +1 @@ +Window \ No newline at end of file diff --git a/id/oa/.settings/org.maven.ide.eclipse.prefs b/id/oa/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 000000000..b6ca61b99 --- /dev/null +++ b/id/oa/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Tue Jul 07 16:06:56 CEST 2009 +activeProfiles= +eclipse.preferences.version=1 +fullBuildGoals=process-test-resources +includeModules=false +resolveWorkspaceProjects=true +resourceFilterGoals=process-resources resources\:testResources +skipCompilerPlugin=true +version=1 diff --git a/id/oa/src/main/webapp/META-INF/MANIFEST.MF b/id/oa/src/main/webapp/META-INF/MANIFEST.MF new file mode 100644 index 000000000..5e9495128 --- /dev/null +++ b/id/oa/src/main/webapp/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/id/server/.classpath b/id/server/.classpath new file mode 100644 index 000000000..f93d181b5 --- /dev/null +++ b/id/server/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/id/server/.project b/id/server/.project new file mode 100644 index 000000000..4608c7645 --- /dev/null +++ b/id/server/.project @@ -0,0 +1,29 @@ + + + moa-id + + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.maven.ide.eclipse.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.maven.ide.eclipse.maven2Nature + org.eclipse.wst.common.project.facet.core.nature + + diff --git a/id/server/.settings/org.eclipse.jdt.core.prefs b/id/server/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..367041b1b --- /dev/null +++ b/id/server/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,5 @@ +#Tue Jul 07 16:07:16 CEST 2009 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.source=1.4 diff --git a/id/server/.settings/org.maven.ide.eclipse.prefs b/id/server/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 000000000..3f907cfa1 --- /dev/null +++ b/id/server/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Tue Jul 07 16:06:59 CEST 2009 +activeProfiles= +eclipse.preferences.version=1 +fullBuildGoals=process-test-resources +includeModules=false +resolveWorkspaceProjects=true +resourceFilterGoals=process-resources resources\:testResources +skipCompilerPlugin=true +version=1 diff --git a/id/server/auth/.settings/.jsdtscope b/id/server/auth/.settings/.jsdtscope new file mode 100644 index 000000000..f40dd98e2 --- /dev/null +++ b/id/server/auth/.settings/.jsdtscope @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/id/server/auth/.settings/org.eclipse.wst.jsdt.ui.superType.container b/id/server/auth/.settings/org.eclipse.wst.jsdt.ui.superType.container new file mode 100644 index 000000000..3bd5d0a48 --- /dev/null +++ b/id/server/auth/.settings/org.eclipse.wst.jsdt.ui.superType.container @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file diff --git a/id/server/auth/.settings/org.eclipse.wst.jsdt.ui.superType.name b/id/server/auth/.settings/org.eclipse.wst.jsdt.ui.superType.name new file mode 100644 index 000000000..05bd71b6e --- /dev/null +++ b/id/server/auth/.settings/org.eclipse.wst.jsdt.ui.superType.name @@ -0,0 +1 @@ +Window \ No newline at end of file diff --git a/id/server/auth/.settings/org.maven.ide.eclipse.prefs b/id/server/auth/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 000000000..a45f64227 --- /dev/null +++ b/id/server/auth/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Tue Jul 07 16:07:00 CEST 2009 +activeProfiles= +eclipse.preferences.version=1 +fullBuildGoals=process-test-resources +includeModules=false +resolveWorkspaceProjects=true +resourceFilterGoals=process-resources resources\:testResources +skipCompilerPlugin=true +version=1 diff --git a/id/server/data/deploy/conf/moa-spss/SampleMOASPSSConfiguration.xml b/id/server/data/deploy/conf/moa-spss/SampleMOASPSSConfiguration.xml index c0e23ecb1..62337d0fb 100644 --- a/id/server/data/deploy/conf/moa-spss/SampleMOASPSSConfiguration.xml +++ b/id/server/data/deploy/conf/moa-spss/SampleMOASPSSConfiguration.xml @@ -1,6 +1,6 @@ - + diff --git a/id/server/doc/moa_id/id-admin.htm b/id/server/doc/moa_id/id-admin.htm index c1c04cfc6..4c5a29b26 100644 --- a/id/server/doc/moa_id/id-admin.htm +++ b/id/server/doc/moa_id/id-admin.htm @@ -245,7 +245,7 @@ Die Versionsangaben beziehen sich auf die Versionen, mit denen die MOA ID Webapp Tomcat

      4.1.31
      - 5.0.25

      + 5.0.28

      diff --git a/id/server/idserverlib/.settings/org.maven.ide.eclipse.prefs b/id/server/idserverlib/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 000000000..3f907cfa1 --- /dev/null +++ b/id/server/idserverlib/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Tue Jul 07 16:06:59 CEST 2009 +activeProfiles= +eclipse.preferences.version=1 +fullBuildGoals=process-test-resources +includeModules=false +resolveWorkspaceProjects=true +resourceFilterGoals=process-resources resources\:testResources +skipCompilerPlugin=true +version=1 diff --git a/id/server/proxy/.settings/.jsdtscope b/id/server/proxy/.settings/.jsdtscope new file mode 100644 index 000000000..f40dd98e2 --- /dev/null +++ b/id/server/proxy/.settings/.jsdtscope @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/id/server/proxy/.settings/org.eclipse.wst.common.component b/id/server/proxy/.settings/org.eclipse.wst.common.component new file mode 100644 index 000000000..fad3275dd --- /dev/null +++ b/id/server/proxy/.settings/org.eclipse.wst.common.component @@ -0,0 +1,17 @@ + + + + + + uses + + + uses + + + uses + + + + + diff --git a/id/server/proxy/.settings/org.eclipse.wst.common.project.facet.core.xml b/id/server/proxy/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 000000000..f30a1de6e --- /dev/null +++ b/id/server/proxy/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/id/server/proxy/.settings/org.eclipse.wst.jsdt.ui.superType.container b/id/server/proxy/.settings/org.eclipse.wst.jsdt.ui.superType.container new file mode 100644 index 000000000..3bd5d0a48 --- /dev/null +++ b/id/server/proxy/.settings/org.eclipse.wst.jsdt.ui.superType.container @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file diff --git a/id/server/proxy/.settings/org.eclipse.wst.jsdt.ui.superType.name b/id/server/proxy/.settings/org.eclipse.wst.jsdt.ui.superType.name new file mode 100644 index 000000000..05bd71b6e --- /dev/null +++ b/id/server/proxy/.settings/org.eclipse.wst.jsdt.ui.superType.name @@ -0,0 +1 @@ +Window \ No newline at end of file diff --git a/id/server/proxy/.settings/org.maven.ide.eclipse.prefs b/id/server/proxy/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 000000000..3f907cfa1 --- /dev/null +++ b/id/server/proxy/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Tue Jul 07 16:06:59 CEST 2009 +activeProfiles= +eclipse.preferences.version=1 +fullBuildGoals=process-test-resources +includeModules=false +resolveWorkspaceProjects=true +resourceFilterGoals=process-resources resources\:testResources +skipCompilerPlugin=true +version=1 diff --git a/id/server/proxy/src/main/webapp/META-INF/MANIFEST.MF b/id/server/proxy/src/main/webapp/META-INF/MANIFEST.MF new file mode 100644 index 000000000..5e9495128 --- /dev/null +++ b/id/server/proxy/src/main/webapp/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/id/templates/.settings/.jsdtscope b/id/templates/.settings/.jsdtscope new file mode 100644 index 000000000..f40dd98e2 --- /dev/null +++ b/id/templates/.settings/.jsdtscope @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/id/templates/.settings/org.eclipse.wst.common.component b/id/templates/.settings/org.eclipse.wst.common.component new file mode 100644 index 000000000..1e8a98df8 --- /dev/null +++ b/id/templates/.settings/org.eclipse.wst.common.component @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/id/templates/.settings/org.eclipse.wst.common.project.facet.core.xml b/id/templates/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 000000000..f30a1de6e --- /dev/null +++ b/id/templates/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/id/templates/.settings/org.eclipse.wst.jsdt.ui.superType.container b/id/templates/.settings/org.eclipse.wst.jsdt.ui.superType.container new file mode 100644 index 000000000..3bd5d0a48 --- /dev/null +++ b/id/templates/.settings/org.eclipse.wst.jsdt.ui.superType.container @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file diff --git a/id/templates/.settings/org.eclipse.wst.jsdt.ui.superType.name b/id/templates/.settings/org.eclipse.wst.jsdt.ui.superType.name new file mode 100644 index 000000000..05bd71b6e --- /dev/null +++ b/id/templates/.settings/org.eclipse.wst.jsdt.ui.superType.name @@ -0,0 +1 @@ +Window \ No newline at end of file diff --git a/id/templates/.settings/org.maven.ide.eclipse.prefs b/id/templates/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 000000000..65774a979 --- /dev/null +++ b/id/templates/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Tue Jul 07 16:06:58 CEST 2009 +activeProfiles= +eclipse.preferences.version=1 +fullBuildGoals=process-test-resources +includeModules=false +resolveWorkspaceProjects=true +resourceFilterGoals=process-resources resources\:testResources +skipCompilerPlugin=true +version=1 diff --git a/id/templates/src/main/webapp/META-INF/MANIFEST.MF b/id/templates/src/main/webapp/META-INF/MANIFEST.MF new file mode 100644 index 000000000..5e9495128 --- /dev/null +++ b/id/templates/src/main/webapp/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.jar b/repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.jar new file mode 100644 index 000000000..081b1de49 Binary files /dev/null and b/repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.jar differ diff --git a/repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.jar.md5 b/repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.jar.md5 new file mode 100644 index 000000000..733571ded --- /dev/null +++ b/repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.jar.md5 @@ -0,0 +1 @@ +2DAE775314F1B40FA0FCEA54D8768280 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.jar.sha1 b/repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.jar.sha1 new file mode 100644 index 000000000..a5afe4d9c --- /dev/null +++ b/repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.jar.sha1 @@ -0,0 +1 @@ +BCA16470663CD25252BAF084FCE63BA6CC82A6F7 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.pom b/repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.pom new file mode 100644 index 000000000..e6d1c2263 --- /dev/null +++ b/repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.pom @@ -0,0 +1,7 @@ + + 4.0.0 + iaik.prod + iaik_moa + 1.26 + POM was created from install:install-file + \ No newline at end of file diff --git a/repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.pom.md5 b/repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.pom.md5 new file mode 100644 index 000000000..733571ded --- /dev/null +++ b/repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.pom.md5 @@ -0,0 +1 @@ +2DAE775314F1B40FA0FCEA54D8768280 \ No newline at end of file diff --git a/repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.pom.sha1 b/repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.pom.sha1 new file mode 100644 index 000000000..a5afe4d9c --- /dev/null +++ b/repository/iaik/prod/iaik_moa/1.24/iaik_moa-1.26.pom.sha1 @@ -0,0 +1 @@ +BCA16470663CD25252BAF084FCE63BA6CC82A6F7 \ No newline at end of file diff --git a/spss/handbook/.classpath b/spss/handbook/.classpath new file mode 100644 index 000000000..f93d181b5 --- /dev/null +++ b/spss/handbook/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/spss/handbook/.project b/spss/handbook/.project new file mode 100644 index 000000000..67a13396f --- /dev/null +++ b/spss/handbook/.project @@ -0,0 +1,29 @@ + + + moa-spss-handbook + + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.maven.ide.eclipse.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.maven.ide.eclipse.maven2Nature + org.eclipse.wst.common.project.facet.core.nature + + diff --git a/spss/handbook/.settings/org.maven.ide.eclipse.prefs b/spss/handbook/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 000000000..9bf914230 --- /dev/null +++ b/spss/handbook/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Tue Jul 07 16:06:52 CEST 2009 +activeProfiles= +eclipse.preferences.version=1 +fullBuildGoals=process-test-resources +includeModules=false +resolveWorkspaceProjects=true +resourceFilterGoals=process-resources resources\:testResources +skipCompilerPlugin=true +version=1 diff --git a/spss/handbook/clients/.classpath b/spss/handbook/clients/.classpath new file mode 100644 index 000000000..f93d181b5 --- /dev/null +++ b/spss/handbook/clients/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/spss/handbook/clients/.project b/spss/handbook/clients/.project new file mode 100644 index 000000000..a7f2e066e --- /dev/null +++ b/spss/handbook/clients/.project @@ -0,0 +1,29 @@ + + + moa-spss-handbook-clients + + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.maven.ide.eclipse.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.maven.ide.eclipse.maven2Nature + org.eclipse.wst.common.project.facet.core.nature + + diff --git a/spss/handbook/clients/.settings/org.eclipse.jdt.core.prefs b/spss/handbook/clients/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..99e7590e6 --- /dev/null +++ b/spss/handbook/clients/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,5 @@ +#Tue Jul 07 16:07:23 CEST 2009 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.source=1.4 diff --git a/spss/handbook/clients/.settings/org.maven.ide.eclipse.prefs b/spss/handbook/clients/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 000000000..9bf914230 --- /dev/null +++ b/spss/handbook/clients/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Tue Jul 07 16:06:52 CEST 2009 +activeProfiles= +eclipse.preferences.version=1 +fullBuildGoals=process-test-resources +includeModules=false +resolveWorkspaceProjects=true +resourceFilterGoals=process-resources resources\:testResources +skipCompilerPlugin=true +version=1 diff --git a/spss/handbook/clients/api/.settings/org.eclipse.jdt.core.prefs b/spss/handbook/clients/api/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..99e7590e6 --- /dev/null +++ b/spss/handbook/clients/api/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,5 @@ +#Tue Jul 07 16:07:23 CEST 2009 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.source=1.4 diff --git a/spss/handbook/clients/api/.settings/org.maven.ide.eclipse.prefs b/spss/handbook/clients/api/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 000000000..1964c59a4 --- /dev/null +++ b/spss/handbook/clients/api/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Tue Jul 07 16:06:54 CEST 2009 +activeProfiles= +eclipse.preferences.version=1 +fullBuildGoals=process-test-resources +includeModules=false +resolveWorkspaceProjects=true +resourceFilterGoals=process-resources resources\:testResources +skipCompilerPlugin=true +version=1 diff --git a/spss/handbook/clients/referencedData/.settings/.jsdtscope b/spss/handbook/clients/referencedData/.settings/.jsdtscope new file mode 100644 index 000000000..f40dd98e2 --- /dev/null +++ b/spss/handbook/clients/referencedData/.settings/.jsdtscope @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/spss/handbook/clients/referencedData/.settings/org.eclipse.jdt.core.prefs b/spss/handbook/clients/referencedData/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..fad2d811d --- /dev/null +++ b/spss/handbook/clients/referencedData/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +#Tue Jul 07 16:07:24 CEST 2009 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.source=1.3 diff --git a/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.common.component b/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.common.component new file mode 100644 index 000000000..ea8402b5f --- /dev/null +++ b/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.common.component @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.common.project.facet.core.xml b/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 000000000..f30a1de6e --- /dev/null +++ b/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.jsdt.ui.superType.container b/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.jsdt.ui.superType.container new file mode 100644 index 000000000..3bd5d0a48 --- /dev/null +++ b/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.jsdt.ui.superType.container @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file diff --git a/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.jsdt.ui.superType.name b/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.jsdt.ui.superType.name new file mode 100644 index 000000000..05bd71b6e --- /dev/null +++ b/spss/handbook/clients/referencedData/.settings/org.eclipse.wst.jsdt.ui.superType.name @@ -0,0 +1 @@ +Window \ No newline at end of file diff --git a/spss/handbook/clients/referencedData/.settings/org.maven.ide.eclipse.prefs b/spss/handbook/clients/referencedData/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 000000000..7eae03e88 --- /dev/null +++ b/spss/handbook/clients/referencedData/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Tue Jul 07 16:06:53 CEST 2009 +activeProfiles= +eclipse.preferences.version=1 +fullBuildGoals=process-test-resources +includeModules=false +resolveWorkspaceProjects=true +resourceFilterGoals=process-resources resources\:testResources +skipCompilerPlugin=true +version=1 diff --git a/spss/handbook/clients/referencedData/src/main/webapp/META-INF/MANIFEST.MF b/spss/handbook/clients/referencedData/src/main/webapp/META-INF/MANIFEST.MF new file mode 100644 index 000000000..5e9495128 --- /dev/null +++ b/spss/handbook/clients/referencedData/src/main/webapp/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/spss/handbook/clients/webservice/.settings/org.maven.ide.eclipse.prefs b/spss/handbook/clients/webservice/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 000000000..1964c59a4 --- /dev/null +++ b/spss/handbook/clients/webservice/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Tue Jul 07 16:06:54 CEST 2009 +activeProfiles= +eclipse.preferences.version=1 +fullBuildGoals=process-test-resources +includeModules=false +resolveWorkspaceProjects=true +resourceFilterGoals=process-resources resources\:testResources +skipCompilerPlugin=true +version=1 diff --git a/spss/handbook/conf/moa-spss/sp.minimum.config.xml b/spss/handbook/conf/moa-spss/sp.minimum.config.xml index 4952cf125..77bb8ab25 100644 --- a/spss/handbook/conf/moa-spss/sp.minimum.config.xml +++ b/spss/handbook/conf/moa-spss/sp.minimum.config.xml @@ -1,6 +1,6 @@ - + diff --git a/spss/handbook/conf/moa-spss/spss.config.xml b/spss/handbook/conf/moa-spss/spss.config.xml index 8eeb10189..9f79c5a19 100644 --- a/spss/handbook/conf/moa-spss/spss.config.xml +++ b/spss/handbook/conf/moa-spss/spss.config.xml @@ -1,6 +1,6 @@ - + diff --git a/spss/handbook/conf/moa-spss/ss.minimum.config.xml b/spss/handbook/conf/moa-spss/ss.minimum.config.xml index c3944f6b8..815ae8de6 100644 --- a/spss/handbook/conf/moa-spss/ss.minimum.config.xml +++ b/spss/handbook/conf/moa-spss/ss.minimum.config.xml @@ -1,6 +1,6 @@ - + diff --git a/spss/handbook/handbook/config/MOA-SPSS-config-1.4.5.xsd b/spss/handbook/handbook/config/MOA-SPSS-config-1.4.5.xsd index 2b6e1a295..8da3a72b0 100644 --- a/spss/handbook/handbook/config/MOA-SPSS-config-1.4.5.xsd +++ b/spss/handbook/handbook/config/MOA-SPSS-config-1.4.5.xsd @@ -2,7 +2,7 @@ - + diff --git a/spss/handbook/handbook/config/config.html b/spss/handbook/handbook/config/config.html index d703ef4cb..88c61e6ca 100644 --- a/spss/handbook/handbook/config/config.html +++ b/spss/handbook/handbook/config/config.html @@ -31,7 +31,6 @@
    1. Zentrale Konfigurationsdatei
      1. Aktualisierung auf das Format von MOA SP/SS 1.3
      2. -
      3. Aktualisierung auf das Format von MOA SP/SS 1.4.5
    2. Bekanntmachung der Konfigurationsdatei @@ -120,7 +119,7 @@ cfg - http://reference.e-government.gv.at/namespace/moaconfig/20090603# + http://reference.e-government.gv.at/namespace/moaconfig/20021122# dsig @@ -151,12 +150,6 @@ an, der zweite Parameter Pfad und Dateiname für die zu erzeugende Konfigurationsdatei im neuen Format (Hinweis: Die Beispielpfade beziehen sich auf Windows-Betriebssysteme; für Unix-Betriebssysteme wählen Sie bitte sinngemäße Pfade.).

      -

      1.2.2 - Aktualisierung auf das Format von MOA SP/SS 1.4.5

      -

      Mit dem Wechsel auf Version 1.4.5 verwendet MOA SP/SS ein neues Format für die - XML-Konfigurationsdatei.

      -

      Hierbei wurde die Möglichkeit hinzugefügt Retention Intervalle für bestimmte CAs zu definieren (siehe Abschnitt 2.3.1.3.6).

      -

      Die Aktualisierung erfolgt dabei einfach über das Austauschen des Namesraumes von http://reference.e-government.gv.at/namespace/moaconfig/20021122# auf http://reference.e-government.gv.at/namespace/moaconfig/20090603#.

      1.3 Bekanntmachung der Konfigurationsdatei

      Die zentrale Konfigurationsdatei von MOA SP/SS wird der Java Virtual Machine, in der MOA SP/SS läuft, durch eine System Property mitgeteilt (wird beim Starten der Java Virtual Machine in der Form -D<name>=<wert> gemacht). Der Name der System Property lautet moa.spss.server.configuration; als Wert der System Property ist der Pfad sowie der Name der Konfigurationsdatei im Dateisystem anzugeben, z.B.

      moa.spss.server.configuration=C:/Programme/apache/tomcat-4.1.30/conf/moa-spss/moa-spss.config.xml 
      diff --git a/spss/handbook/handbook/faq/faq.html b/spss/handbook/handbook/faq/faq.html
      index 99a9be134..2fbbbe95b 100644
      --- a/spss/handbook/handbook/faq/faq.html
      +++ b/spss/handbook/handbook/faq/faq.html
      @@ -44,9 +44,7 @@
           
    3. Ich möchte gerne die CRL-Archivierung von MOA verwenden, möchte aber eine andere als die in der Konfiguration erwähnte postgreSQL-Datenbank verwenden. Geht das? [Zur Antwort]
    4. Ich möchte ein Zertifikat (z.B. einer Zwischen-Zertifizierungsstelle) manuell in den internen Zertifikatsspeicher von MOA SP importieren. Wie funktioniert das? [Zur Antwort]
    5. Meine bestehende Konfigurationsdatei funktioniert mit MOA SP/SS 1.3 oder höher nicht mehr. Was ist passiert? - [Zur Antwort]
    6. -
    7. Meine bestehende Konfigurationsdatei funktioniert mit MOA SP/SS 1.4.5 oder höher nicht mehr. Was ist passiert? - [Zur Antwort]
    8. + [Zur Antwort]

    Verwendung

      @@ -106,15 +104,6 @@ http.nonProxyHosts="<exceptionhosts>" dem Sie Ihre Konfigurationsdatei vom bisherigen auf das neue Format migrieren können.

      Informationen zur Verwendung des Werkzeugs finden Sie in Abschnitt 1.2.1 des Konfigurationshandbuchs.

      -
    1. -
      Meine bestehende Konfigurationsdatei - funktioniert mit MOA SP/SS 1.4.5 oder höher nicht mehr. Was ist passiert?
      -

      Mit dem Wechsel auf Version 1.4.5 verwendet MOA SP/SS ein neues Format für die - XML-Konfigurationsdatei.

      -

      Wenn Sie von einer älteren Version (ab 1.3 aufwärts) von MOA SP/SS auf die Version 1.4.5 wechseln und Ihre bestehende - Konfiguration beibehalten wollen, müssen Sie den Namensraum von http://reference.e-government.gv.at/namespace/moaconfig/20021122# auf http://reference.e-government.gv.at/namespace/moaconfig/20090603# ändern.

      -

      Mehr Informationen finden Sie in Abschnitt 1.2.2 des Konfigurationshandbuchs.

      -

    Verwendung

      diff --git a/spss/server/.classpath b/spss/server/.classpath new file mode 100644 index 000000000..f93d181b5 --- /dev/null +++ b/spss/server/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/spss/server/.project b/spss/server/.project new file mode 100644 index 000000000..797ccb7d2 --- /dev/null +++ b/spss/server/.project @@ -0,0 +1,29 @@ + + + moa-spss + + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.maven.ide.eclipse.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.maven.ide.eclipse.maven2Nature + org.eclipse.wst.common.project.facet.core.nature + + diff --git a/spss/server/.settings/org.eclipse.jdt.core.prefs b/spss/server/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..02fbf27fb --- /dev/null +++ b/spss/server/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,5 @@ +#Tue Jul 07 16:07:22 CEST 2009 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.source=1.4 diff --git a/spss/server/.settings/org.maven.ide.eclipse.prefs b/spss/server/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 000000000..c76587513 --- /dev/null +++ b/spss/server/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Tue Jul 07 16:06:49 CEST 2009 +activeProfiles= +eclipse.preferences.version=1 +fullBuildGoals=process-test-resources +includeModules=false +resolveWorkspaceProjects=true +resourceFilterGoals=process-resources resources\:testResources +skipCompilerPlugin=true +version=1 diff --git a/spss/server/readme.update.txt b/spss/server/readme.update.txt index e11649254..a32e9ec3e 100644 --- a/spss/server/readme.update.txt +++ b/spss/server/readme.update.txt @@ -40,14 +40,7 @@ Update Variante A Update Variante B, Punkt 9 beschrieben vor, um Ihre alten Trustprofile auf einen aktuellen Stand zu bringen. -5a.) Nur wenn alte Installation älter als Version 1.4.5: - Falls Sie Ihre alte MOA-SP Konfigurationsdatei weiterverwenden wollen: - Seit dem Wechsel auf Version 1.4.5 verwendet MOA SP ein neues Format für die - XML-Konfigurationsdatei. Sie müssen die Konfigurationsdatei für MOA-SP aus - Ihrer alten Installation auf das neue Format konvertieren. - Details dazufinden Sie im MOA-SPSS-Installationshandbuch. - -5b.) Nur wenn alte Installation älter als Version 1.3.0: +5.) Nur wenn alte Installation älter als Version 1.3.0: Falls Sie Ihre alte MOA-SP Konfigurationsdatei weiterverwenden wollen: Seit dem Wechsel auf Version 1.3.1 verwendet MOA SP ein neues Format für die XML-Konfigurationsdatei. Sie müssen die Konfigurationsdatei für MOA-SP aus @@ -131,13 +124,7 @@ Update Variante B in das Verzeichnis CATALINA_HOME\conf\moa-spss\certstore\10F17BDACD8DEAA1E8F23FBEAE7B3EC3D9773D1D. -11a.) Nur wenn alte Installation älter als Version 1.4.5: - Mit dem Wechsel auf Version 1.4.5 verwendet MOA SP ein neues Format für die - XML-Konfigurationsdatei. Sie müssen die Konfigurationsdatei für MOA-SP aus - Ihrer alten Installation auf das neue Format konvertieren. Details dazu - finden Sie im MOA-SPSS-Installationshandbuch. - -11b.) Nur wenn alte Installation älter als Version 1.3.0: +11.) Nur wenn alte Installation älter als Version 1.3.0: Mit dem Wechsel auf Version 1.3.0 verwendet MOA SP ein neues Format für die XML-Konfigurationsdatei. Sie müssen die Konfigurationsdatei für MOA-SP aus Ihrer alten Installation auf das neue Format konvertieren. Details dazu diff --git a/spss/server/serverlib/.settings/org.maven.ide.eclipse.prefs b/spss/server/serverlib/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 000000000..373d31d5c --- /dev/null +++ b/spss/server/serverlib/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Tue Jul 07 16:06:50 CEST 2009 +activeProfiles= +eclipse.preferences.version=1 +fullBuildGoals=process-test-resources +includeModules=false +resolveWorkspaceProjects=true +resourceFilterGoals=process-resources resources\:testResources +skipCompilerPlugin=true +version=1 diff --git a/spss/server/serverws/.settings/.jsdtscope b/spss/server/serverws/.settings/.jsdtscope new file mode 100644 index 000000000..f40dd98e2 --- /dev/null +++ b/spss/server/serverws/.settings/.jsdtscope @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/spss/server/serverws/.settings/org.eclipse.wst.jsdt.ui.superType.container b/spss/server/serverws/.settings/org.eclipse.wst.jsdt.ui.superType.container new file mode 100644 index 000000000..3bd5d0a48 --- /dev/null +++ b/spss/server/serverws/.settings/org.eclipse.wst.jsdt.ui.superType.container @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file diff --git a/spss/server/serverws/.settings/org.eclipse.wst.jsdt.ui.superType.name b/spss/server/serverws/.settings/org.eclipse.wst.jsdt.ui.superType.name new file mode 100644 index 000000000..05bd71b6e --- /dev/null +++ b/spss/server/serverws/.settings/org.eclipse.wst.jsdt.ui.superType.name @@ -0,0 +1 @@ +Window \ No newline at end of file diff --git a/spss/server/serverws/.settings/org.maven.ide.eclipse.prefs b/spss/server/serverws/.settings/org.maven.ide.eclipse.prefs new file mode 100644 index 000000000..9203b873b --- /dev/null +++ b/spss/server/serverws/.settings/org.maven.ide.eclipse.prefs @@ -0,0 +1,9 @@ +#Tue Jul 07 16:06:51 CEST 2009 +activeProfiles= +eclipse.preferences.version=1 +fullBuildGoals=process-test-resources +includeModules=false +resolveWorkspaceProjects=true +resourceFilterGoals=process-resources resources\:testResources +skipCompilerPlugin=true +version=1 diff --git a/spss/server/serverws/src/main/webapp/META-INF/MANIFEST.MF b/spss/server/serverws/src/main/webapp/META-INF/MANIFEST.MF new file mode 100644 index 000000000..5e9495128 --- /dev/null +++ b/spss/server/serverws/src/main/webapp/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/spss/server/tools/src/main/resources/tools/ConfigurationMapper.xsl b/spss/server/tools/src/main/resources/tools/ConfigurationMapper.xsl index 3f0fe971b..fd47cbf84 100644 --- a/spss/server/tools/src/main/resources/tools/ConfigurationMapper.xsl +++ b/spss/server/tools/src/main/resources/tools/ConfigurationMapper.xsl @@ -1,5 +1,5 @@ - + -- cgit v1.2.3 From 27be7994027944015c290e41e688e8723965bd48 Mon Sep 17 00:00:00 2001 From: kstranacher Date: Wed, 26 Aug 2009 11:00:54 +0000 Subject: git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@1139 d688527b-c9ab-4aba-bd8d-4036d912da1d --- .project | 12 ++++++++++++ id/oa/.project | 5 ----- id/server/auth/.project | 5 ----- .../egovernment/moa/id/auth/servlet/AuthServlet.java | 18 +++++++++++++++++- id/server/proxy/.project | 5 ----- id/server/proxy/.settings/org.eclipse.jdt.core.prefs | 8 ++++---- id/templates/.project | 5 ----- id/templates/.settings/org.eclipse.jdt.core.prefs | 8 ++++---- spss/handbook/.settings/org.eclipse.jdt.core.prefs | 8 ++++---- spss/handbook/clients/referencedData/.project | 5 ----- .../.settings/org.eclipse.jdt.core.prefs | 6 +++--- .../moa/spss/server/invoke/DataObjectFactory.java | 18 ++++++++++-------- spss/server/serverws/.project | 5 ----- 13 files changed, 54 insertions(+), 54 deletions(-) (limited to 'id/oa') diff --git a/.project b/.project index 94bbfd821..39ef529c0 100644 --- a/.project +++ b/.project @@ -5,13 +5,25 @@ + + org.eclipse.jdt.core.javabuilder + + + org.eclipse.wst.common.project.facet.core.builder + + org.maven.ide.eclipse.maven2Builder + + + + org.eclipse.jdt.core.javanature + org.maven.ide.eclipse.maven2Nature org.eclipse.wst.common.project.facet.core.nature diff --git a/id/oa/.project b/id/oa/.project index 8513e00a3..4624cabc7 100644 --- a/id/oa/.project +++ b/id/oa/.project @@ -5,11 +5,6 @@ - - org.eclipse.wst.jsdt.core.javascriptValidator - - - org.eclipse.wst.common.project.facet.core.builder diff --git a/id/server/auth/.project b/id/server/auth/.project index 90cbf1ff3..46166c2f3 100644 --- a/id/server/auth/.project +++ b/id/server/auth/.project @@ -8,11 +8,6 @@ moa-spss-lib - - org.eclipse.wst.jsdt.core.javascriptValidator - - - org.eclipse.jdt.core.javabuilder diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/AuthServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/AuthServlet.java index ddd1df628..0656d37d3 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/AuthServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/AuthServlet.java @@ -161,10 +161,26 @@ public class AuthServlet extends HttpServlet implements MOAIDAuthConstants { if (item.isFormField()) { // Process only form fields - no file upload items + String logString = item.getString("UTF-8"); + + // TODO use RegExp + String startS = ""; + String endS = "urn:publicid:gv.at:baseid"; + String logWithMaskedBaseid = logString; + int start = logString.indexOf(startS); + if (start > -1) { + int end = logString.indexOf(endS); + if (end > -1) { + logWithMaskedBaseid = logString.substring(0, start); + logWithMaskedBaseid += startS; + logWithMaskedBaseid += "xxxxxxxxxxxxxxxxxxxxxxxx"; + logWithMaskedBaseid += logString.substring(end, logString.length()); + } + } parameters.put(item.getFieldName(), item.getString("UTF-8")); Logger.debug("Processed multipart/form-data request parameter: \nName: " + item.getFieldName() + "\nValue: " + - item.getString("UTF-8")); + logWithMaskedBaseid); } } } diff --git a/id/server/proxy/.project b/id/server/proxy/.project index d58c7c25c..5aa808c31 100644 --- a/id/server/proxy/.project +++ b/id/server/proxy/.project @@ -5,11 +5,6 @@ - - org.eclipse.wst.jsdt.core.javascriptValidator - - - org.eclipse.wst.common.project.facet.core.builder diff --git a/id/server/proxy/.settings/org.eclipse.jdt.core.prefs b/id/server/proxy/.settings/org.eclipse.jdt.core.prefs index 5ffa1b7e5..d70bf9268 100644 --- a/id/server/proxy/.settings/org.eclipse.jdt.core.prefs +++ b/id/server/proxy/.settings/org.eclipse.jdt.core.prefs @@ -1,5 +1,5 @@ -#Wed Aug 22 09:50:03 CEST 2007 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.3 +#Mon Aug 17 10:06:16 CEST 2009 eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.source=1.3 -org.eclipse.jdt.core.compiler.compliance=1.3 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.source=1.4 diff --git a/id/templates/.project b/id/templates/.project index ecd7cdf14..583a2a0e7 100644 --- a/id/templates/.project +++ b/id/templates/.project @@ -5,11 +5,6 @@ - - org.eclipse.wst.jsdt.core.javascriptValidator - - - org.eclipse.wst.common.project.facet.core.builder diff --git a/id/templates/.settings/org.eclipse.jdt.core.prefs b/id/templates/.settings/org.eclipse.jdt.core.prefs index c959c9def..f5e17a86f 100644 --- a/id/templates/.settings/org.eclipse.jdt.core.prefs +++ b/id/templates/.settings/org.eclipse.jdt.core.prefs @@ -1,5 +1,5 @@ -#Wed Aug 22 09:50:02 CEST 2007 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.3 +#Mon Aug 17 10:06:12 CEST 2009 eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.source=1.3 -org.eclipse.jdt.core.compiler.compliance=1.3 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.source=1.4 diff --git a/spss/handbook/.settings/org.eclipse.jdt.core.prefs b/spss/handbook/.settings/org.eclipse.jdt.core.prefs index 93a06227e..af3df77d1 100644 --- a/spss/handbook/.settings/org.eclipse.jdt.core.prefs +++ b/spss/handbook/.settings/org.eclipse.jdt.core.prefs @@ -1,5 +1,5 @@ -#Fri Aug 31 11:22:24 CEST 2007 +#Mon Aug 17 10:06:15 CEST 2009 eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.3 -org.eclipse.jdt.core.compiler.compliance=1.3 -org.eclipse.jdt.core.compiler.source=1.3 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.source=1.4 diff --git a/spss/handbook/clients/referencedData/.project b/spss/handbook/clients/referencedData/.project index e440a8d7a..23699368d 100644 --- a/spss/handbook/clients/referencedData/.project +++ b/spss/handbook/clients/referencedData/.project @@ -5,11 +5,6 @@ - - org.eclipse.wst.jsdt.core.javascriptValidator - - - org.eclipse.wst.common.project.facet.core.builder diff --git a/spss/handbook/clients/referencedData/.settings/org.eclipse.jdt.core.prefs b/spss/handbook/clients/referencedData/.settings/org.eclipse.jdt.core.prefs index fad2d811d..573b253b9 100644 --- a/spss/handbook/clients/referencedData/.settings/org.eclipse.jdt.core.prefs +++ b/spss/handbook/clients/referencedData/.settings/org.eclipse.jdt.core.prefs @@ -1,7 +1,7 @@ -#Tue Jul 07 16:07:24 CEST 2009 +#Mon Aug 17 10:06:17 CEST 2009 eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 org.eclipse.jdt.core.compiler.compliance=1.4 org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning -org.eclipse.jdt.core.compiler.source=1.3 +org.eclipse.jdt.core.compiler.source=1.4 diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java index fab8a6dd7..566784796 100644 --- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java +++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java @@ -210,19 +210,21 @@ public class DataObjectFactory { // For logging in Debug-Mode: Mask baseid with xxx String logString = new String(contentBytes); + // TODO use RegExp String startS = ""; String endS = "urn:publicid:gv.at:baseid"; - String logWithMaskedBaseid; + String logWithMaskedBaseid = logString; int start = logString.indexOf(startS); if (start > -1) { - int end = logString.indexOf(endS); - logWithMaskedBaseid = logString.substring(0, start); - logWithMaskedBaseid += startS; - logWithMaskedBaseid += "xxxxxxxxxxxxxxxxxxxxxxxx"; - logWithMaskedBaseid += logString.substring(end, logString.length()); + int end = logString.indexOf(endS); + if (end > -1) { + logWithMaskedBaseid = logString.substring(0, start); + logWithMaskedBaseid += startS; + logWithMaskedBaseid += "xxxxxxxxxxxxxxxxxxxxxxxx"; + logWithMaskedBaseid += logString.substring(end, logString.length()); + } } - else - logWithMaskedBaseid = logString; + // try to parse validating Logger.trace(">>> parsing the following content: \n" + logWithMaskedBaseid); try { diff --git a/spss/server/serverws/.project b/spss/server/serverws/.project index a115e2dea..c7e484cc8 100644 --- a/spss/server/serverws/.project +++ b/spss/server/serverws/.project @@ -7,11 +7,6 @@ moa-spss-lib - - org.eclipse.wst.jsdt.core.javascriptValidator - - - org.eclipse.jdt.core.javabuilder -- cgit v1.2.3 From ddd1125b3d9570dec334bd2965ec5a9387585906 Mon Sep 17 00:00:00 2001 From: kstranacher Date: Wed, 5 Oct 2011 08:35:56 +0000 Subject: git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@1216 d688527b-c9ab-4aba-bd8d-4036d912da1d --- .../java/at/gv/egovernment/moa/util/Constants.java | 2 +- .../schemas/MOA-ID-Configuration-1.5.1.xsd | 651 +++++++++++++++++++++ id/oa/.settings/org.eclipse.wst.common.component | 15 +- .../moa/id/auth/AuthenticationServer.java | 2 +- .../auth/builder/GetIdentityLinkFormBuilder.java | 194 +----- .../id/auth/servlet/GetMISSessionIDServlet.java | 10 +- .../id/auth/servlet/VerifyIdentityLinkServlet.java | 48 +- .../moa/id/config/ConfigurationBuilder.java | 47 +- .../moa/id/config/auth/OAAuthParameter.java | 36 +- 9 files changed, 715 insertions(+), 290 deletions(-) create mode 100644 common/src/main/resources/resources/schemas/MOA-ID-Configuration-1.5.1.xsd (limited to 'id/oa') diff --git a/common/src/main/java/at/gv/egovernment/moa/util/Constants.java b/common/src/main/java/at/gv/egovernment/moa/util/Constants.java index 08ca3fd0d..ed76c4ac7 100644 --- a/common/src/main/java/at/gv/egovernment/moa/util/Constants.java +++ b/common/src/main/java/at/gv/egovernment/moa/util/Constants.java @@ -105,7 +105,7 @@ public interface Constants { /** Local location of the MOA ID configuration XML schema definition. */ public static final String MOA_ID_CONFIG_SCHEMA_LOCATION = - SCHEMA_ROOT + "MOA-ID-Configuration-1.5.0.xsd"; + SCHEMA_ROOT + "MOA-ID-Configuration-1.5.1.xsd"; /** URI of the Security Layer 1.0 namespace. */ public static final String SL10_NS_URI = diff --git a/common/src/main/resources/resources/schemas/MOA-ID-Configuration-1.5.1.xsd b/common/src/main/resources/resources/schemas/MOA-ID-Configuration-1.5.1.xsd new file mode 100644 index 000000000..f8c38bdd3 --- /dev/null +++ b/common/src/main/resources/resources/schemas/MOA-ID-Configuration-1.5.1.xsd @@ -0,0 +1,651 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + enthält Parameter der Authentisierungs-Komponente + + + + + enthält Konfigurationsparameter der Proxy-Komponente + + + + + + enthält Parameter für die Kommunikation zw. Proxykomponente und Authenttisierungskomponente + + + + + + enthält Parameter für die SOAP-Verbindung von der Proxy-Komponente zur Auth-Komponente (vgl. AuthComponent/MOA-SP/ConnectionParameter) + + + + + + + + + + + enthält Parameter für die OA + + + + + + + + + + + + + + + + + + + + + + + spezifiziert den Algorithmus ("pkix" oder "chaining") für die Zertifikatspfadvalidierung + + + + + + ein vom SystemDefaultMode abweichender ChiningMode kann für jeden TrustAnchor gesetzt werden + + + + + + + + + + + + + + + + verweist auf ein Verzeichnis, das vertrauenswürdige CA (Zwischen-CA, Wurzel-CA) Zertifikate enthält. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + enthält Parameter für die Kommunikation mit dem Security-Layer + + + + + + + + + + enthält Konfiguratiosnparameter für die Kommunikation mit dem MOA SP Modul + + + + + + enthält Parameter für die SOAP-Verbindung von der AUTH-Komponente zu MOA-SP; das Attribut URL enthält den Endpunkt des Server; wird das Schema "https" verwendet müssen die Kind-Elemente angegeben werden; wird das Schema "http" verwendet dürfen keine Kind-Elemente angegeben werden; wird das Element nicht verwendet dann wird MOA-SP über das API aufgerufen + + + + + enthält Parameter für die Überprüfung der Personenbindung + + + + + + + + + + enthält Parameter für die Überprüfung des AUTH-Blocks + + + + + + + + + + + + + + enthält Informationen über akzeptierte Signers des IdentityLinks + + + + + + akzeptierte Signer des IdentityLinks werden per X509SubjectName (Kodierung nach RFC 2253) identifiziert + + + + + + + + enthält Defaultparameter für die Überprüfung weiterer Infoboxen + + + + + + + + Verbindungsparameter zum SZR-Gateway (GetIdentityLink) + + + + + + + + + + + Verbindungsparameter zum Online-Vollmachten-Service + + + + + + + + + + das Attribut filename verweist auf eine Datei mit globalem Element TransformsInfo vom Typ sl10:TransformsInfo; diese TransformsInfo werden in den CreateXMLSignatureRequest für die Signatur des AUTH-Blocks inkludiert + + + + + + + + + + + + + das Attribut URL spezifiziert die Lage des Templates + + + + + + Verifikation zusätzlicher Infoboxen + + + + + Optionales DefaultTrustprofil für die Überprüfung aller weiteren Infoboxen + + + + + + + + + + Parameter für Überprüfung weiterer Infoboxen + + + + + + + Parameter zur Überprüfung einzelner Infoboxen + + + + + optionalervName, der für Fehlermeldungen verwendet werden soll; z.B.: "Stellvertretungen" für "Mandates"; fehlt dieser Parameter, dann wird das Identifier-Attribut verwendet + + + + + TrustProfil, das für die Überprüfung der Infobox verwendet werden soll + + + + + Validatorklasse, die für die Prüfung der Infobox verwendet werden soll; muss gesetzt werden, wenn Package- und Klassenname vom Default Package- und Klassennamen abweichen + + + + + + Infobox spezifische Parameter, die der jeweiligen Prüfapplikation übergeben werden + + + + + + + + + + Infobox spezifische Parameter, die der Prüfapplikation für berufliche Parteienvertretung übergeben werden. Dies ist logisch Teil der ApplicationSpecificParameters, kann jedoch aufgrund der Strukturierung validierend geparst werden und dadurch wird eine funktionierende Konfiguration bei Programmstart garantiert. + + + + + + Falls Infoboxinhalte für die berufliche Parteienvertretung in der Vollmachten Infobox "mandates" abgelegt werden und Vertretung für berufliche Parteienvertreter aktiviert ist, so kann mit diesem Schalter die Vollmachtsprüfung für normale Vollmachten deaktiviert werden. Damit wird erreicht, dass mittels der Vollmachten Infobox ausschließlich berufliche Parteienvertretung aktiviert ist. Dieser Schalter ist nur für die Vollmachten Infobox "mandates" relevant. + + + + + Eigentlicher Konfigurationsteil für berufliche Parteienvertretung + + + + + + + + + + + + + + Spezifiziert die Lage von XML Schemas + + + + + + + + + + + + + + + + enthält Parameter über die OA, die die Authentisierungs-Komponente betreffen + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + enthält Parameter über die OA, die die Proxy-Komponente betreffen + + + + + + enthält Parameter über die OA, die die Proxy-Komponente betreffen + + + + + + + + + + + + + + + + + + URL zu einem Verzeichnis, das akzeptierte Server-Zertifikate der TLS-Verbindung enthält (keine CA-Zertifikate) + + + + + + + + + + + + URL zu einem KeyStore, der den privaten Schlüssel, der für die TLS-Client-Authentisierung verwendet wird, enthält + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Soll nicht nur bei leerer oder standardisierter Vollmacht mit unvollständigen Daten, sondern beispielsweise zu Kontrollzwecken das Eingabeformular immer angezeigt werden, wenn ein Einschreiten durch berufliche Parteienvertretung geschieht so kann dies mittels dieses Schalters veranlasst werden + + + + + + + + + + + Das Attribut spezifiziert die Lage des Templates, welches der InputProcessor zur Darstellung des Eingabeformulars nutzen soll + + + + + + + + + + Default InputProcessor. Konfiguration eines vom Standardprozess abweichenden Verarbeitungsvorgangs bei der beruflichen Parteienvertretung. Der Wert dieses Elements ist der vollständige Klassenname des InputProzessors + + + + + Default Wert für Formularanzeige. Soll nicht nur bei leerer oder standardisierter Vollmacht mit unvollständigen Daten, sondern beispielsweise zu Kontrollzwecken das Eingabeformular zur vervollständigung der Vertretenendaten immer angezeigt werden, wenn ein Einschreiten durch berufliche Parteienvertretung geschieht so kann dies mittels dieses Schalters veranlasst werden + + + + + Default Verbindungsparameter zum SZR-Gateway (für den EGIZ-Demonstrator im internen Netzwerk: https://129.27.142.5:8443/szr-gateway/services/MandateCreation) + + + + + Falls keine speziellen beruflichen ParteienvertreterInnen definiert sind (Element kommt nicht vor), werden ausschließlich standardisierte Vollmachten mit einer MandateID="*" akzeptiert + + + + + + + + + Konfiguration eines vom Standardprozess abweichenden Verarbeitungsvorgangs bei der beruflichen Parteienvertretung. Der Wert dieses Elements ist der vollständige Klassenname des InputProzessors + + + + + + Optionale Verbindungsparameter zu speziellem (SZR-)Gateway + + + + + + OID der Parteienvertretung lt. "Object Identifier der öffentlichen Verwaltung" - Konvention, Empfehlung. Diese ID muss mit der MandateID der übermittelten standardisierten Vollmacht übereinstimmen. Eine Parteienvertretung für standardisierte Vollmachten mit der MandateID "*" muss nicht definiert werden und erlaubt eine allgemeine berufliche Parteienvertretung mit Standardtexten. In anderen Fällen ist eine erlaubte OID mitttels dieses Attributs zu definieren + + + + + + Legt fest, ob berufliche Parteienvertretung für natürliche Personen erlaubt ist + + + + + + + + Legt fest, ob berufliche Parteienvertretung für juristische Personen erlaubt ist (welche z.B. ein Organwalter nicht vertreten darf und dieser Wert aus diesem Grund dort false sein muss) + + + + + + + + Beschreibender Text, der an Stelle des Standardtexts bei der Signatur der Anmeldedaten im Falle einer vorliegenden beruflichen Parteienvertretung zur Signatur vorgelegt wird + + + + + diff --git a/id/oa/.settings/org.eclipse.wst.common.component b/id/oa/.settings/org.eclipse.wst.common.component index 10e0ef1df..086feced3 100644 --- a/id/oa/.settings/org.eclipse.wst.common.component +++ b/id/oa/.settings/org.eclipse.wst.common.component @@ -1,8 +1,7 @@ - - - - - - - - + + + + + + + \ No newline at end of file diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java index ba3020958..94fd4f28e 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java @@ -461,7 +461,7 @@ public class AuthenticationServer implements MOAIDAuthConstants { String xmlInfoboxReadResponse = (String)infoboxReadResponseParameters.get(PARAM_XMLRESPONSE); - System.out.println("PB: " + xmlInfoboxReadResponse); + //System.out.println("PB: " + xmlInfoboxReadResponse); if (isEmpty(xmlInfoboxReadResponse)) throw new AuthenticationException("auth.10", new Object[] { REQ_VERIFY_IDENTITY_LINK, PARAM_XMLRESPONSE}); diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/GetIdentityLinkFormBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/GetIdentityLinkFormBuilder.java index f579790f8..f22db8e39 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/GetIdentityLinkFormBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/GetIdentityLinkFormBuilder.java @@ -102,104 +102,10 @@ public class GetIdentityLinkFormBuilder extends Builder { "" + nl + ""; - /** default HTML template for mandates */ - private static final String DEFAULT_HTML_TEMPLATE_FOR_MANDATES_OLD = - "" + nl + - "" + nl + - "" + nl + - "Vollmachten-Anmeldung" + nl + - "" + nl + - "" + nl + - "" + nl + - "

      Vollmachten-Anmeldung

      " + nl + - "" + nl + - "" + nl + - ""; - /** default HTML template - iFrame */ - private static final String DEFAULT_HTML_TEMPLATE_IFRAME_FOR_MANDATES_OLD = - "" + - "" + - //"" + - "" + - "Vollmachten-Anmeldung" + - "" + - "" + - "
      " + - " " + - " " + - " " + - " " + - "
      " + - "
      " + - " " + - " " + - " " + - "
      " + - "" + - ""; - /** default HTML template for Online mandates */ - private static final String DEFAULT_HTML_TEMPLATE_IFRAME_FOR_MANDATES = - "" + - "" + - "" + - "Vollmachten-Anmeldung" + - "" + - "" + - "
      " + - " " + - " " + - " " + - " " + - "
      " + - "
      " + - " " + - " " + - " " + - "
      " + - "" + - ""; - - /** + /** * Constructor for GetIdentityLinkFormBuilder. */ public GetIdentityLinkFormBuilder() { @@ -236,103 +142,7 @@ public class GetIdentityLinkFormBuilder extends Builder { return htmlForm; } - /** - * Builds the HTML form, including XML Request and data URL as parameters. - * - * @param xmlRequest XML Request to be sent as a parameter in the form - * @param bkuURL URL of the "Bürgerkartenumgebung" the form will be submitted to; - * may be null, in this case the default URL will be used - * @param dataURL DataURL to be sent as a parameter in the form - */ - public String buildCreateSignature( - String bkuURL, - String xmlRequest, - String dataURL, - String oaUrl) - throws BuildException - { - String htmlForm = ""; - OAAuthParameter oaParam; - try { - oaParam = AuthConfigurationProvider.getInstance().getOnlineApplicationParameter(oaUrl); - } catch (ConfigurationException e) { - Logger.error("Error on building HTMl form for online mandates: " + e.getMessage()); - throw new BuildException("builder.03", null); - } - - OnlineMandatesTemplates[] templatesOnlineMandates = oaParam.getTemplateOnlineMandates(); - if (templatesOnlineMandates == null) { - // no templates given - htmlForm = DEFAULT_HTML_TEMPLATE_IFRAME_FOR_MANDATES; - htmlForm = replaceTag(htmlForm, BKU_TAG, bkuURL, true, ALL); - htmlForm = replaceTag(htmlForm, XMLREQUEST_TAG, encodeParameter(xmlRequest), true, ALL); - htmlForm = replaceTag(htmlForm, DATAURL_TAG, dataURL, true, ALL); - } else { - String moaidTemplateUrl = null; - String mandateTemplateUrl = null; - // check for configured bku URL - for (int i = 0; i < templatesOnlineMandates.length; i++) { - if (templatesOnlineMandates[i].getBkuURL().compareToIgnoreCase(bkuURL) == 0) { - moaidTemplateUrl = templatesOnlineMandates[i].getMoaIdTemplateURL(); - mandateTemplateUrl = templatesOnlineMandates[i].getMandatesTemplateURL(); - } - } - if (moaidTemplateUrl == null || mandateTemplateUrl == null) { - Logger.debug("Configured and used BKU URL are not equal. So standard template is used."); - htmlForm = DEFAULT_HTML_TEMPLATE_IFRAME_FOR_MANDATES; - htmlForm = replaceTag(htmlForm, BKU_TAG, bkuURL, true, ALL); - htmlForm = replaceTag(htmlForm, XMLREQUEST_TAG, encodeParameter(xmlRequest), true, ALL); - htmlForm = replaceTag(htmlForm, DATAURL_TAG, dataURL, true, ALL); - } else { - // use configured templates - String moaidTemplate; - String mandateTemplate; - try { - moaidTemplate = new String(FileUtils.readURL(moaidTemplateUrl)); - } catch (IOException ex) { - throw new BuildException("auth.03", new Object[] { moaidTemplateUrl, ex.toString()},ex); - } - try { - mandateTemplate = new String(FileUtils.readURL(mandateTemplateUrl)); - } catch (IOException ex) { - throw new BuildException("auth.03", new Object[] { mandateTemplateUrl, ex.toString()},ex); - } - - - // Mandatem template with iFrame - htmlForm = mandateTemplate; - - - // HTML form with XML signature request, which is filled into the iFrame - String htmlFormiFrame = moaidTemplate; - htmlFormiFrame = replaceTag(htmlFormiFrame, BKU_TAG, bkuURL, true, ALL); - htmlFormiFrame = replaceTag(htmlFormiFrame, XMLREQUEST_TAG, encodeParameter(xmlRequest), true, ALL); - htmlFormiFrame = replaceTag(htmlFormiFrame, DATAURL_TAG, dataURL, true, ALL); - htmlFormiFrame = htmlFormiFrame.replaceAll("\"", "\\\""); - htmlFormiFrame = htmlFormiFrame.replaceAll("'", "\\\\'"); - - // add writeln('[data]') for each line in the iframe - BufferedReader reader = new BufferedReader(new StringReader(htmlFormiFrame)); - String str; - String htmlFormiFrameWriteLn = ""; - try { - while ((str = reader.readLine()) != null) { - if (str.length() > 0) - htmlFormiFrameWriteLn += "writeln('" + str + "');"; - } - } catch(IOException e) { - throw new BuildException("builder.03", null); - } - - htmlForm = replaceTag(htmlForm, MANDATE_TAG, htmlFormiFrameWriteLn, true, ALL); - - } - - } - - return htmlForm; - - } + /** * Encodes a string for inclusion as a parameter in the form. diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetMISSessionIDServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetMISSessionIDServlet.java index 5c193aca1..b1ae12084 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetMISSessionIDServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetMISSessionIDServlet.java @@ -176,8 +176,8 @@ public class GetMISSessionIDServlet extends AuthServlet { Logger.debug(createXMLSignatureRequestOrRedirect); - String request = getHTMLForm(createXMLSignatureRequestOrRedirect, session.getBkuURL(), dataurl, session.getPublicOAURLPrefix()); - + //String request = getHTMLForm(createXMLSignatureRequestOrRedirect, session.getBkuURL(), dataurl, session.getPublicOAURLPrefix()); + String request = null; resp.setContentType("text/html;charset=UTF-8"); PrintWriter out = new PrintWriter(resp.getOutputStream()); out.print(request); @@ -200,11 +200,5 @@ public class GetMISSessionIDServlet extends AuthServlet { } } - private static String getHTMLForm(String request, String bkuURI, String dataURL, String oaUrl) throws BuildException { - return new GetIdentityLinkFormBuilder().buildCreateSignature(bkuURI, request, dataURL, oaUrl); - - } - - } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyIdentityLinkServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyIdentityLinkServlet.java index bea81abf3..99ae497ba 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyIdentityLinkServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyIdentityLinkServlet.java @@ -171,33 +171,33 @@ public class VerifyIdentityLinkServlet extends AuthServlet { } } - else { - boolean useMandate = session.getUseMandate(); - if (useMandate) { // Mandate modus - // read certificate and set dataurl to VerifyCertificateServlet - - Logger.debug("Send InfoboxReadRequest to BKU to get signer certificate."); - - String infoboxReadRequest = new InfoboxReadRequestBuilderCertificate().build(true); - - // build dataurl - String dataurl = - new DataURLBuilder().buildDataURL( - session.getAuthURL(), - REQ_VERIFY_CERTIFICATE, - session.getSessionID()); - - - //Logger.debug("ContentType set to: application/x-www-form-urlencoded (ServletUtils)"); - //ServletUtils.writeCreateXMLSignatureRequestURLEncoded(resp, session, infoboxReadRequest, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "VerifyIdentityLink", dataurl); - Logger.debug("ContentType set to: text/xml;charset=UTF-8 (ServletUtils)"); - ServletUtils.writeCreateXMLSignatureRequest(resp, session, infoboxReadRequest, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "VerifyIdentityLink", dataurl); - - } +// else { +// boolean useMandate = session.getUseMandate(); +// if (useMandate) { // Mandate modus +// // read certificate and set dataurl to VerifyCertificateServlet +// +// Logger.debug("Send InfoboxReadRequest to BKU to get signer certificate."); +// +// String infoboxReadRequest = new InfoboxReadRequestBuilderCertificate().build(true); +// +// // build dataurl +// String dataurl = +// new DataURLBuilder().buildDataURL( +// session.getAuthURL(), +// REQ_VERIFY_CERTIFICATE, +// session.getSessionID()); +// +// +// //Logger.debug("ContentType set to: application/x-www-form-urlencoded (ServletUtils)"); +// //ServletUtils.writeCreateXMLSignatureRequestURLEncoded(resp, session, infoboxReadRequest, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "VerifyIdentityLink", dataurl); +// Logger.debug("ContentType set to: text/xml;charset=UTF-8 (ServletUtils)"); +// ServletUtils.writeCreateXMLSignatureRequest(resp, session, infoboxReadRequest, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "VerifyIdentityLink", dataurl); +// +// } else { ServletUtils.writeCreateXMLSignatureRequestOrRedirect(resp, session, createXMLSignatureRequestOrRedirect, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "VerifyIdentityLink"); } - } +// } } catch (ParseException ex) { diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationBuilder.java index f11938e91..bdd0c3294 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/ConfigurationBuilder.java @@ -490,8 +490,7 @@ public class ConfigurationBuilder { String inputProcessorSignTemplateURL = XPathUtils.getAttributeValue(configElem_, INPUT_PROCESSOR_TEMPLATE_XPATH, null); - OnlineMandatesTemplates[] templatesOnlineMandates = buildTemplateOnlineMandates(configElem_); - + List OA_set = new ArrayList(); NodeList OAIter = XPathUtils.selectNodeList(configElem_, OA_XPATH); @@ -557,10 +556,10 @@ public class ConfigurationBuilder { oap.setProvideStammzahl(BoolUtils.valueOf(authComponent.getAttribute("provideStammzahl"))); oap.setProvideAuthBlock(BoolUtils.valueOf(authComponent.getAttribute("provideAUTHBlock"))); oap.setProvideIdentityLink(BoolUtils.valueOf(authComponent.getAttribute("provideIdentityLink"))); - oap.setProvideCertificate(BoolUtils.valueOf(authComponent.getAttribute("provideCertificate"))); + oap.setProvideCertificate(BoolUtils.valueOf(authComponent.getAttribute("provideCertificate"))); + oap.setProvideFullMandatorData(BoolUtils.valueOf(authComponent.getAttribute("provideFullMandatorData"))); oap.setBkuSelectionTemplateURL(buildTemplateURL(authComponent, OA_AUTH_COMPONENT_BKUSELECT_TEMPLATE_XPATH, bkuSelectionTemplateURL)); - oap.setTemplateURL(buildTemplateURL(authComponent, OA_AUTH_COMPONENT_TEMPLATE_XPATH, templateURL)); - oap.setTemplateOnlineMandates(buildTemplateOnlineMandatesOA(authComponent, templatesOnlineMandates)); + oap.setTemplateURL(buildTemplateURL(authComponent, OA_AUTH_COMPONENT_TEMPLATE_XPATH, templateURL)); oap.setInputProcessorSignTemplateURL(buildTemplateURL(authComponent, INPUT_PROCESSOR_TEMPLATE_XPATH, inputProcessorSignTemplateURL)); // load OA specific transforms if present @@ -618,43 +617,7 @@ public class ConfigurationBuilder { - protected OnlineMandatesTemplates[] buildTemplateOnlineMandates(Node contextNode) { - String xpathExpr = AUTH_TEMPLATE_ONLINEMANDATES_BKU_XPATH; - List onlineMandatesTemplatesList = new ArrayList(); - - NodeIterator bkuIter = XPathUtils.selectNodeIterator(contextNode, xpathExpr); - - Element bkuElem; - while ((bkuElem = (Element) bkuIter.nextNode()) != null) { - String bkuUrl = XPathUtils.getAttributeValue(bkuElem, "@URL", null); - String moaidTemplateUrl = XPathUtils.getAttributeValue(bkuElem, CONF + "MOA-ID-Template/@URL", null); - String mandateTemplateUrl = XPathUtils.getAttributeValue(bkuElem, CONF + "MandateTemplate/@URL", null); - - OnlineMandatesTemplates template = new OnlineMandatesTemplates(); - template.setBkuURL(bkuUrl); - if (moaidTemplateUrl != null) { - moaidTemplateUrl = FileUtils.makeAbsoluteURL(moaidTemplateUrl, rootConfigFileDir_); - } - if (moaidTemplateUrl != null) { - mandateTemplateUrl = FileUtils.makeAbsoluteURL(mandateTemplateUrl, rootConfigFileDir_); - } - template.setMoaIdTemplateURL(moaidTemplateUrl); - template.setMandatesTemplateURL(mandateTemplateUrl); - - onlineMandatesTemplatesList.add(template); - - } - - if (onlineMandatesTemplatesList.isEmpty()) - return null; - - OnlineMandatesTemplates[] onlinemandatesTemplates = new OnlineMandatesTemplates[onlineMandatesTemplatesList.size()]; - onlineMandatesTemplatesList.toArray(onlinemandatesTemplates); - - return onlinemandatesTemplates; - - } - + protected OnlineMandatesTemplates[] buildTemplateOnlineMandatesOA(Node contextNode, OnlineMandatesTemplates[] defaultTemplatesOnlineMandates) { String xpathExpr = OA_AUTH_COMPONENT_TEMPLATE_ONLINEMANDATES_BKU_XPATH; diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java index a48923b07..1e169aef3 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java @@ -81,6 +81,10 @@ public class OAAuthParameter extends OAParameter { * determines whether the certificate is to be included in the authentication data */ private boolean provideCertificate; + /** + * determines whether the full mandator data (i.e. the mandate) is to be included in the authentication data + */ + private boolean provideFullMandatorData; /** * url to a template for web page "Auswahl der Bürgerkartenumgebung" */ @@ -90,7 +94,6 @@ public class OAAuthParameter extends OAParameter { */ private String templateURL; - private OnlineMandatesTemplates[] templateOnlineMandates; /** * template for web page "Signatur der Anmeldedaten" */ @@ -179,6 +182,16 @@ public class OAAuthParameter extends OAParameter { return provideCertificate; } + /** + * Returns true if the full mandator data should be provided within the + * authentication data, otherwise false. + * @return true if the full mandator data should be provided, + * otherwise false + */ + public boolean getProvideFullMandatorData() { + return provideFullMandatorData; + } + /** * Returns the key box identifier. @@ -252,20 +265,7 @@ public class OAAuthParameter extends OAParameter { public void setTransformsInfos(String[] transformsInfos) { this.transformsInfos = transformsInfos; } - /** - * @return the templateOnlineMandates - */ -public OnlineMandatesTemplates[] getTemplateOnlineMandates() { - return templateOnlineMandates; -} -/** - * @param templateOnlineMandates the templateOnlineMandates to set - */ -public void setTemplateOnlineMandates( - OnlineMandatesTemplates[] templateOnlineMandates) { - this.templateOnlineMandates = templateOnlineMandates; -} /** * Sets the provideAuthBlock. @@ -298,6 +298,14 @@ public void setTemplateOnlineMandates( public void setProvideCertificate(boolean provideCertificate) { this.provideCertificate = provideCertificate; } + + /** + * Sets the provideFullMandatorData variable. + * @param provideFullMandatorData The provideFullMandatorData value to set + */ + public void setProvideFullMandatorData(boolean provideFullMandatorData) { + this.provideFullMandatorData = provideFullMandatorData; + } /** * Sets the key box identifier. -- cgit v1.2.3 From 77c3560745fcba9e3975472dd77cb928924fb35f Mon Sep 17 00:00:00 2001 From: kstranacher Date: Thu, 6 Oct 2011 19:15:53 +0000 Subject: MOA-ID: - Fixed Bug #556 (https://egovlabs.gv.at/tracker/index.php?func=detail&aid=556&group_id=6&atid=105) - Update Einbindung Online-Vollmachten (Vor Auswahl der Vollmacht werden die Signaturdaten signiert) - Update Transformationen (für Online-Vollmachten) - Änderung der Konfiguration für Online-Vollmachten (keine Templates mehr für Online-Vollmachten; Attribute provideMandatorDate in OA-Konfiguration) - sampleTemplates in Standard-Konfiguration gelöscht - Update der Standard-Konfigurationen MOA-SPSS: - Library aktualisiert: Axis - Version 1.0_IAIK (gepatchte Variante von Axis 1.0 zur Vermeidung von XXE Attacken) - axis-1.0_IAIK.jar zu repository hinzugefügt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@1217 d688527b-c9ab-4aba-bd8d-4036d912da1d --- id/history.txt | 6 +- id/oa/.settings/org.eclipse.wst.common.component | 5 +- id/server/auth/src/main/webapp/iframeHandyBKU.html | 6 +- .../auth/src/main/webapp/iframeOnlineBKU.html | 11 +- id/server/auth/src/main/webapp/index.html | 15 +- .../conf/moa-id/SampleMOAIDConfiguration.xml | 92 +---- .../conf/moa-id/SampleMOAIDConfigurationProxy.xml | 89 +---- .../SampleMOAIDConfiguration_withTestBKs.xml | 83 +--- .../SampleMOAIDConfiguration_withTestBKsProxy.xml | 86 +--- .../conf/moa-id/SampleMOAWIDConfiguration.xml | 61 +-- .../conf/moa-id/SampleMOAWIDConfigurationProxy.xml | 55 +-- .../SampleMOAWIDConfiguration_withTestBKs.xml | 60 +-- .../SampleMOAWIDConfiguration_withTestBKsProxy.xml | 55 +-- .../moa-id/sampleTemplates/LIESMICH_TEMPLATES.txt | 26 -- .../ParepInputProcessorSignTemplate.html | 61 --- .../SampleBKUSelectionTemplate.html | 42 -- .../SampleInputProcessorSignTemplate.html | 39 -- .../moa-id/sampleTemplates/SampleTemplate.html | 56 --- .../sampleTemplates/handy_mandate_template.html | 26 -- .../sampleTemplates/handy_moa-id_template.html | 39 -- .../sampleTemplates/local_mandate_template.html | 26 -- .../sampleTemplates/local_moa-id_template.html | 31 -- .../sampleTemplates/online_mandate_template.html | 26 -- .../sampleTemplates/online_moa-id_template.html | 38 -- .../transforms/TransformsInfoAuthBlockTable_DE.xml | 41 +- .../transforms/TransformsInfoAuthBlockTable_EN.xml | 41 +- .../profiles/MOAIDTransformAuthBlockTable_DE.xml | 41 +- .../profiles/MOAIDTransformAuthBlockTable_EN.xml | 41 +- .../moa/id/auth/AuthenticationServer.java | 432 ++++++++++++--------- .../AuthenticationBlockAssertionBuilder.java | 47 +-- .../AuthenticationDataAssertionBuilder.java | 123 ++++++ .../moa/id/auth/builder/SAMLArtifactBuilder.java | 10 +- .../moa/id/auth/data/AuthenticationSession.java | 173 +++++++-- .../id/auth/servlet/GetMISSessionIDServlet.java | 68 ++-- .../auth/servlet/ProcessValidatorInputServlet.java | 2 +- .../servlet/VerifyAuthenticationBlockServlet.java | 24 ++ .../id/auth/servlet/VerifyCertificateServlet.java | 111 +++--- .../id/auth/servlet/VerifyIdentityLinkServlet.java | 30 +- .../id/util/client/mis/simple/MISSimpleClient.java | 19 +- .../AuthenticationBlockAssertionBuilderTest.java | 2 +- pom.xml | 2 +- repository/axis/axis/1.0_IAIK/axis-1.0_IAIK.jar | Bin 0 -> 1025987 bytes repository/axis/axis/1.0_IAIK/axis-1.0_IAIK.pom | 7 + spss/server/history.txt | 2 + 44 files changed, 863 insertions(+), 1387 deletions(-) delete mode 100644 id/server/data/deploy/conf/moa-id/sampleTemplates/LIESMICH_TEMPLATES.txt delete mode 100644 id/server/data/deploy/conf/moa-id/sampleTemplates/ParepInputProcessorSignTemplate.html delete mode 100644 id/server/data/deploy/conf/moa-id/sampleTemplates/SampleBKUSelectionTemplate.html delete mode 100644 id/server/data/deploy/conf/moa-id/sampleTemplates/SampleInputProcessorSignTemplate.html delete mode 100644 id/server/data/deploy/conf/moa-id/sampleTemplates/SampleTemplate.html delete mode 100644 id/server/data/deploy/conf/moa-id/sampleTemplates/handy_mandate_template.html delete mode 100644 id/server/data/deploy/conf/moa-id/sampleTemplates/handy_moa-id_template.html delete mode 100644 id/server/data/deploy/conf/moa-id/sampleTemplates/local_mandate_template.html delete mode 100644 id/server/data/deploy/conf/moa-id/sampleTemplates/local_moa-id_template.html delete mode 100644 id/server/data/deploy/conf/moa-id/sampleTemplates/online_mandate_template.html delete mode 100644 id/server/data/deploy/conf/moa-id/sampleTemplates/online_moa-id_template.html create mode 100644 repository/axis/axis/1.0_IAIK/axis-1.0_IAIK.jar create mode 100644 repository/axis/axis/1.0_IAIK/axis-1.0_IAIK.pom (limited to 'id/oa') diff --git a/id/history.txt b/id/history.txt index 59e127d6a..8d88f1bb1 100644 --- a/id/history.txt +++ b/id/history.txt @@ -7,7 +7,11 @@ History MOA-ID: Version MOA-ID 1.5.1: Änderungen seit Version MOA-ID 1.5.0: -- @TODO +- Fixed Bug #556 (https://egovlabs.gv.at/tracker/index.php?func=detail&aid=556&group_id=6&atid=105) +- Fixed Bug @TODO Apostroph +- Update Einbindung Online-Vollmachten (Vor Auswahl der Vollmacht werden die Signaturdaten signiert) +- Update Transformationen (für Online-Vollmachten) +- Änderung der Konfiguration für Online-Vollmachten ===== diff --git a/id/oa/.settings/org.eclipse.wst.common.component b/id/oa/.settings/org.eclipse.wst.common.component index 086feced3..3bc38ebcc 100644 --- a/id/oa/.settings/org.eclipse.wst.common.component +++ b/id/oa/.settings/org.eclipse.wst.common.component @@ -1,7 +1,8 @@ - + + - \ No newline at end of file + diff --git a/id/server/auth/src/main/webapp/iframeHandyBKU.html b/id/server/auth/src/main/webapp/iframeHandyBKU.html index f07b73265..a7e541b85 100644 --- a/id/server/auth/src/main/webapp/iframeHandyBKU.html +++ b/id/server/auth/src/main/webapp/iframeHandyBKU.html @@ -8,11 +8,13 @@ - - - - - - -
      -
      -
      - -
      -
      -
      -

      Berufliche Parteienvertretung

      -
      -
      -Bitte beachten Sie -
      -
      -
      -
      - Dieses Feld muss ausgefüllt sein!  Feld muss ausgefüllt sein -
      -
      - Hilfe zum Ausfüllen   Ausfüllhilfe -
      -
      - Angabe bitte ergänzen oder richtig stellen!   Fehlerhinweis
      -
       
      - -

      Berufliche Parteienvertretung einer natürlichen/juristischen Person -

      -
      -

      -
      - - - -      -
      -
      -
      - - diff --git a/id/server/data/deploy/conf/moa-id/sampleTemplates/SampleBKUSelectionTemplate.html b/id/server/data/deploy/conf/moa-id/sampleTemplates/SampleBKUSelectionTemplate.html deleted file mode 100644 index 983de7c70..000000000 --- a/id/server/data/deploy/conf/moa-id/sampleTemplates/SampleBKUSelectionTemplate.html +++ /dev/null @@ -1,42 +0,0 @@ - - - -MOA ID - Auswahl der B&uuuml;rgerkartenumgebung - - - - - - - -

      Auswahl der Bürgerkartenumgebung

      - -

      -

      Sie haben sich für Anmeldung mit Ihrer Bürgerkarte entschieden. Da es verschiedene Formen der Bürgerkarte gibt, müssen Sie nun wählen, welche Sie bei der Anmeldung verwenden wollen.

      -

      Auswahl der Bürgerkarte

      -
      - - - -
      -

      - - - - -

      Hinweise:

      - - - - - diff --git a/id/server/data/deploy/conf/moa-id/sampleTemplates/SampleInputProcessorSignTemplate.html b/id/server/data/deploy/conf/moa-id/sampleTemplates/SampleInputProcessorSignTemplate.html deleted file mode 100644 index 9c8e67a20..000000000 --- a/id/server/data/deploy/conf/moa-id/sampleTemplates/SampleInputProcessorSignTemplate.html +++ /dev/null @@ -1,39 +0,0 @@ - - - -MOA ID - Identifizierter Zugang mit Bürgerkarte - - - - - - - -

      Sicherer Zugang zur Online-Anwendung mit Bürgerkarte

      -

      - -Der identifizierte Zugang erfolgt über die Module für Online Applikationen (MOA) unter Verwendung einer Bürgerkarte und deren Signaturfunktion. - -

      -

      Sie werden in kuürze zur Signatur der Anmeldedaten aufgefordert. Wenn sie diese -signieren, so werden sie zur Online-Anwendung weitergeleitet und angemeldet.

      - -
      -
      - - - - -
      -
      - -

       

      - - - diff --git a/id/server/data/deploy/conf/moa-id/sampleTemplates/SampleTemplate.html b/id/server/data/deploy/conf/moa-id/sampleTemplates/SampleTemplate.html deleted file mode 100644 index 83a6639e6..000000000 --- a/id/server/data/deploy/conf/moa-id/sampleTemplates/SampleTemplate.html +++ /dev/null @@ -1,56 +0,0 @@ - - - -MOA ID - Identifizierter Zugang mit Bürgerkarte - - - - - - - -

      Sicherer Zugang zur Online-Anwendung mit Bürgerkarte

      - -

      - -Der identifizierte Zugang erfolgt über die Module für Online Applikationen (MOA) unter Verwendung einer Bürgerkarte und deren Signaturfunktion. - -

      -

      Wenn Sie in Folge die Schaltfläche "Anmeldung mit Bürgerkarte" -aktivieren, so werden Sie zur Signatur der Anmeldedaten aufgefordert. Wenn Sie diese -signieren, so werden Sie zur Online-Anwendung weitergeleitet und angemeldet.

      - - -
      -
      - - - - -
      -
      -
      - - - - -
      -

      - - -
      - - - diff --git a/id/server/data/deploy/conf/moa-id/sampleTemplates/handy_mandate_template.html b/id/server/data/deploy/conf/moa-id/sampleTemplates/handy_mandate_template.html deleted file mode 100644 index 58f2a9ec5..000000000 --- a/id/server/data/deploy/conf/moa-id/sampleTemplates/handy_mandate_template.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - Vollmachten-Anmeldung - - - - - -

      Vollmachten-Anmeldung (Handysignatur)

      - - - - \ No newline at end of file diff --git a/id/server/data/deploy/conf/moa-id/sampleTemplates/handy_moa-id_template.html b/id/server/data/deploy/conf/moa-id/sampleTemplates/handy_moa-id_template.html deleted file mode 100644 index 60d1a8733..000000000 --- a/id/server/data/deploy/conf/moa-id/sampleTemplates/handy_moa-id_template.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - -Vollmachten-Anmeldung - - -
      - - - - - - - - - - - - - -
      - -
      - - - -
      - - - diff --git a/id/server/data/deploy/conf/moa-id/sampleTemplates/local_mandate_template.html b/id/server/data/deploy/conf/moa-id/sampleTemplates/local_mandate_template.html deleted file mode 100644 index bbea993d8..000000000 --- a/id/server/data/deploy/conf/moa-id/sampleTemplates/local_mandate_template.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - Vollmachten-Anmeldung - - - - - -

      Vollmachten-Anmeldung (Lokale-BKU)

      - - - - \ No newline at end of file diff --git a/id/server/data/deploy/conf/moa-id/sampleTemplates/local_moa-id_template.html b/id/server/data/deploy/conf/moa-id/sampleTemplates/local_moa-id_template.html deleted file mode 100644 index 47dc64408..000000000 --- a/id/server/data/deploy/conf/moa-id/sampleTemplates/local_moa-id_template.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -Vollmachten-Anmeldung - - -
      - - - - -
      - -
      - - - -
      - - \ No newline at end of file diff --git a/id/server/data/deploy/conf/moa-id/sampleTemplates/online_mandate_template.html b/id/server/data/deploy/conf/moa-id/sampleTemplates/online_mandate_template.html deleted file mode 100644 index 6b75fcb6a..000000000 --- a/id/server/data/deploy/conf/moa-id/sampleTemplates/online_mandate_template.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - Vollmachten-Anmeldung - - - - - -

      Vollmachten-Anmeldung (Online-BKU)

      - - - - \ No newline at end of file diff --git a/id/server/data/deploy/conf/moa-id/sampleTemplates/online_moa-id_template.html b/id/server/data/deploy/conf/moa-id/sampleTemplates/online_moa-id_template.html deleted file mode 100644 index 33c7f39c6..000000000 --- a/id/server/data/deploy/conf/moa-id/sampleTemplates/online_moa-id_template.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - -Vollmachten-Anmeldung - - -
      - - - - - - - - - - - -
      - -
      - - - -
      - - - - diff --git a/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlockTable_DE.xml b/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlockTable_DE.xml index bfcb95be9..4ec0f94ae 100644 --- a/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlockTable_DE.xml +++ b/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlockTable_DE.xml @@ -10,8 +10,8 @@ @@ -46,25 +46,11 @@ - + Vollmacht: - Ich bin ermächtigt, für - - - , geboren am - - . - - . - - - - , - - - , zu handeln. + Ich melde mich in Vertretung an. Im nächsten Schritt wird mir eine Liste der für mich verfügbaren Vertretungsverhältnisse angezeigt, aus denen ich eines auswählen werde. @@ -98,6 +84,15 @@ + + + + Vollmachten-Referenz: + + + + + @@ -116,14 +111,6 @@ - - - Identifikator des Vollmachtgebers: - - - - - OID: @@ -171,4 +158,4 @@ application/xhtml+xml - \ No newline at end of file + diff --git a/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlockTable_EN.xml b/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlockTable_EN.xml index 17691ca8d..5e45cd6d0 100644 --- a/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlockTable_EN.xml +++ b/id/server/data/deploy/conf/moa-id/transforms/TransformsInfoAuthBlockTable_EN.xml @@ -10,8 +10,8 @@ @@ -46,27 +46,11 @@ - + Mandate: - I am also authorized as - - of - - - , born on - - . - - . - - - - , - - - , to act on their behalf. + I log in as representative. In the next step a list of available mandates is shown. Here I select one mandate. @@ -100,6 +84,15 @@ + + + + Mandate Reference: + + + + + @@ -118,14 +111,6 @@ - - - Identifier of the principal: - - - - - OID: diff --git a/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlockTable_DE.xml b/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlockTable_DE.xml index 3387aa462..74bede15c 100644 --- a/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlockTable_DE.xml +++ b/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlockTable_DE.xml @@ -1,6 +1,6 @@ - + @@ -11,8 +11,8 @@ @@ -47,25 +47,11 @@ - + Vollmacht: - Ich bin ermächtigt, für - - - , geboren am - - . - - . - - - - , - - - , zu handeln. + Ich melde mich in Vertretung an. Im nächsten Schritt wird mir eine Liste der für mich verfügbaren Vertretungsverhältnisse angezeigt, aus denen ich eines auswählen werde. @@ -99,6 +85,15 @@ + + + + Vollmachten-Referenz: + + + + + @@ -117,14 +112,6 @@ - - - Identifikator des Vollmachtgebers: - - - - - OID: diff --git a/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlockTable_EN.xml b/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlockTable_EN.xml index 207296d52..bf72e4689 100644 --- a/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlockTable_EN.xml +++ b/id/server/data/deploy/conf/moa-spss/profiles/MOAIDTransformAuthBlockTable_EN.xml @@ -11,8 +11,8 @@ @@ -47,27 +47,11 @@ - + Mandate: - I am also authorized as - - of - - - , born on - - . - - . - - - - , - - - , to act on their behalf. + I log in as representative. In the next step a list of available mandates is shown. Here I select one mandate. @@ -101,6 +85,15 @@ + + + + Mandate Reference: + + + + + @@ -119,14 +112,6 @@ - - - Identifier of the principal: - - - - - OID: diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java index 94fd4f28e..9e15e04dd 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java @@ -550,7 +550,7 @@ public class AuthenticationServer implements MOAIDAuthConstants { // now validate the extended infoboxes verifyInfoboxes(session, infoboxReadResponseParameters, !oaParam.getProvideStammzahl()); - return getCreateXMLSignatureRequestAuthBlockOrRedirect(session, authConf, oaParam, false); + return getCreateXMLSignatureRequestAuthBlockOrRedirect(session, authConf, oaParam); } @@ -571,7 +571,7 @@ public class AuthenticationServer implements MOAIDAuthConstants { * the BKU including the <InfoboxReadResponse> * @return String representation of the <CreateXMLSignatureRequest> */ - public String verifyMandate(String sessionID, MISMandate mandate) + public void verifyMandate(String sessionID, MISMandate mandate) throws AuthenticationException, BuildException, @@ -591,28 +591,25 @@ public class AuthenticationServer implements MOAIDAuthConstants { AuthenticationSession session = getSession(sessionID); - AuthConfigurationProvider authConf = AuthConfigurationProvider.getInstance(); - - OAAuthParameter oaParam = AuthConfigurationProvider.getInstance().getOnlineApplicationParameter( session.getPublicOAURLPrefix()); - try { - // set extended SAML attributes - setExtendedSAMLAttributeForMandates(session, mandate, oaParam.getBusinessService()); - } catch (SAXException e) { - throw new AuthenticationException("auth.16", new Object[] { GET_MIS_SESSIONID}, e); - } catch (IOException e) { - throw new AuthenticationException("auth.16", new Object[] { GET_MIS_SESSIONID}, e); - } catch (ParserConfigurationException e) { - throw new AuthenticationException("auth.16", new Object[] { GET_MIS_SESSIONID}, e); - } catch (TransformerException e) { - throw new AuthenticationException("auth.16", new Object[] { GET_MIS_SESSIONID}, e); + if (oaParam.getProvideFullMandatorData()) { + try { + // set extended SAML attributes if provideMandatorData is true + setExtendedSAMLAttributeForMandates(session, mandate, oaParam.getBusinessService()); + } catch (SAXException e) { + throw new AuthenticationException("auth.16", new Object[] { GET_MIS_SESSIONID}, e); + } catch (IOException e) { + throw new AuthenticationException("auth.16", new Object[] { GET_MIS_SESSIONID}, e); + } catch (ParserConfigurationException e) { + throw new AuthenticationException("auth.16", new Object[] { GET_MIS_SESSIONID}, e); + } catch (TransformerException e) { + throw new AuthenticationException("auth.16", new Object[] { GET_MIS_SESSIONID}, e); + } } - - - return getCreateXMLSignatureRequestAuthBlockOrRedirect(session, authConf, oaParam, true); + } /** @@ -625,7 +622,7 @@ public class AuthenticationServer implements MOAIDAuthConstants { * @throws BuildException * @throws ValidateException */ - public String getCreateXMLSignatureRequestAuthBlockOrRedirect(AuthenticationSession session, AuthConfigurationProvider authConf, OAAuthParameter oaParam, boolean fromMandate) + public String getCreateXMLSignatureRequestAuthBlockOrRedirect(AuthenticationSession session, AuthConfigurationProvider authConf, OAAuthParameter oaParam) throws ConfigurationException, BuildException, @@ -638,7 +635,7 @@ public class AuthenticationServer implements MOAIDAuthConstants { if (oaParam==null) oaParam = AuthConfigurationProvider.getInstance(). getOnlineApplicationParameter(session.getPublicOAURLPrefix()); - if (!fromMandate) { +// if (!fromMandate) { //BZ.., calculate bPK for signing to be already present in AuthBlock IdentityLink identityLink = session.getIdentityLink(); if (identityLink.getIdentificationType().equals(Constants.URN_PREFIX_BASEID)) { @@ -649,11 +646,11 @@ public class AuthenticationServer implements MOAIDAuthConstants { identityLink.setIdentificationValue(bpkBase64); } //..BZ - } +// } // builds the AUTH-block - String authBlock = buildAuthenticationBlock(session, fromMandate); + String authBlock = buildAuthenticationBlock(session); // session.setAuthBlock(authBlock); // builds the @@ -837,7 +834,7 @@ public class AuthenticationServer implements MOAIDAuthConstants { * @throws BuildException If an error occurs on serializing an extended SAML attribute * to be appended to the AUTH-Block. */ - private String buildAuthenticationBlock(AuthenticationSession session, boolean fromMandate) throws BuildException { + private String buildAuthenticationBlock(AuthenticationSession session) throws BuildException { IdentityLink identityLink = session.getIdentityLink(); String issuer = identityLink.getName(); String gebDat = identityLink.getDateOfBirth(); @@ -862,8 +859,7 @@ public class AuthenticationServer implements MOAIDAuthConstants { oaURL, gebDat, extendedSAMLAttributes, - session, - fromMandate); + session); return authBlock; } @@ -949,7 +945,7 @@ public class AuthenticationServer implements MOAIDAuthConstants { throw new ValidateException("validator.43", new Object[] {friendlyName}); } // set compatibility mode for mandates infobox and all infoboxes (it is possible to be a parep infobox) - session.setMandateCompatibilityMode(ParepConfiguration.isMandateCompatibilityMode(verifyInfoboxParameter.getApplicationSpecificParams())); + //session.setMandateCompatibilityMode(ParepConfiguration.isMandateCompatibilityMode(verifyInfoboxParameter.getApplicationSpecificParams())); // check for party representation in mandates infobox if (Constants.INFOBOXIDENTIFIER_MANDATES.equalsIgnoreCase(identifier) && !((infoboxTokenList == null || infoboxTokenList.size() == 0))){ //We need app specific parameters @@ -1187,6 +1183,7 @@ public class AuthenticationServer implements MOAIDAuthConstants { Vector extendedSamlAttributes = new Vector(); + extendedSamlAttributes.clear(); //extendedSamlAttributes.add(new ExtendedSAMLAttributeImpl(ParepValidator.EXT_SAML_MANDATE_RAW, mandate, SZRGWConstants.MANDATE_NS, ExtendedSAMLAttribute.NOT_ADD_TO_AUTHBLOCK)); @@ -1404,72 +1401,189 @@ public class AuthenticationServer implements MOAIDAuthConstants { } - // Exchange person data information by a mandate if needed - boolean mandateMode = session.getUseMandate(); + // builds authentication data and stores it together with a SAML artifact + AuthenticationData authData = buildAuthenticationData(session, vsresp); - List oaAttributes = session.getExtendedSAMLAttributesOA(); - IdentityLink replacementIdentityLink = null; + if (session.getUseMandate()) { + // mandate mode + return null; + } + else { + + String samlAssertion = + new AuthenticationDataAssertionBuilder().build( + authData, + session.getAssertionPrPerson(), + session.getAssertionAuthBlock(), + session.getAssertionIlAssertion(), + session.getBkuURL(), + session.getAssertionSignerCertificateBase64(), + session.getAssertionBusinessService(), + session.getExtendedSAMLAttributesOA()); + authData.setSamlAssertion(samlAssertion); + + String assertionFile = AuthConfigurationProvider.getInstance().getGenericConfigurationParameter("AuthenticationServer.WriteAssertionToFile"); + if (!ParepUtils.isEmpty(assertionFile)) + try { + ParepUtils.saveStringToFile(samlAssertion, new File(assertionFile)); + } catch (IOException e) { + throw new BuildException( + "builder.00", + new Object[] { "AuthenticationData", e.toString()}, + e); + } + + String samlArtifact = + new SAMLArtifactBuilder().build(session.getAuthURL(), session.getSessionID()); + storeAuthenticationData(samlArtifact, authData); + + // invalidates the authentication session + sessionStore.remove(sessionID); + Logger.info( + "Anmeldedaten zu MOASession " + sessionID + " angelegt, SAML Artifakt " + samlArtifact); + return samlArtifact; + + } + + + + + } + + /** + * Processes a <CreateXMLSignatureResponse> sent by the + * security layer implementation.
      + *
        + *
      • Validates given <CreateXMLSignatureResponse>
      • + *
      • Parses <CreateXMLSignatureResponse> for error codes
      • + *
      • Parses authentication block enclosed in + * <CreateXMLSignatureResponse>
      • + *
      • Verifies authentication block by calling the MOA SP component
      • + *
      • Creates authentication data
      • + *
      • Creates a corresponding SAML artifact
      • + *
      • Stores authentication data in the authentication data store + * indexed by the SAML artifact
      • + *
      • Deletes authentication session
      • + *
      • Returns the SAML artifact, encoded BASE64
      • + *
      + * + * @param sessionID session ID of the running authentication session + * @param xmlCreateXMLSignatureReadResponse String representation of the + * <CreateXMLSignatureResponse> + * @return SAML artifact needed for retrieving authentication data, encoded BASE64 + */ + public String verifyAuthenticationBlockMandate( + String sessionID, + Element mandate) + throws + AuthenticationException, + BuildException, + ParseException, + ConfigurationException, + ServiceException, + ValidateException { + + if (isEmpty(sessionID)) + throw new AuthenticationException("auth.10", new Object[] { REQ_VERIFY_AUTH_BLOCK, PARAM_SESSIONID}); + AuthenticationSession session = getSession(sessionID); + //AuthConfigurationProvider authConf = AuthConfigurationProvider.getInstance(); -// if (mandateMode) { -// Iterator it = oaAttributes.iterator(); -// //ExtendedSAMLAttribute samlAttribute = (ExtendedSAMLAttribute)it.next(); -// Element mandate = session.getMandateElem(); -// replacementIdentityLink = new IdentityLink(); -// Element mandator = ParepUtils.extractMandator(mandate); -// String dateOfBirth = ""; -// Element prPerson = null; -// String familyName = ""; -// String givenName = ""; -// String identificationType = ""; -// String identificationValue = ""; -// if (mandator != null) { -// boolean physical = ParepUtils.isPhysicalPerson(mandator); -// if (physical) { -// familyName = ParepUtils.extractText(mandator, "descendant-or-self::pr:Name/pr:FamilyName/text()"); -// givenName = ParepUtils.extractText(mandator, "descendant-or-self::pr:Name/pr:GivenName/text()"); -// dateOfBirth = ParepUtils.extractMandatorDateOfBirth(mandator); -// } else { -// familyName = ParepUtils.extractMandatorFullName(mandator); -// } -// identificationType = ParepUtils.getIdentification(mandator, "Type"); -// identificationValue = ParepUtils.extractMandatorWbpk(mandator); -// prPerson = ParepUtils.extractPrPersonOfMandate(mandate); -// if (physical && session.getBusinessService() && identificationType!=null && Constants.URN_PREFIX_BASEID.equals(identificationType)) { -// // now we calculate the wbPK and do so if we got it from the BKU -// identificationType = Constants.URN_PREFIX_WBPK + "+" + session.getDomainIdentifier(); -// identificationValue = new BPKBuilder().buildWBPK(identificationValue, session.getDomainIdentifier()); -// ParepUtils.HideStammZahlen(prPerson, true, null, null, true); -// } -// -// -// replacementIdentityLink.setDateOfBirth(dateOfBirth); -// replacementIdentityLink.setFamilyName(familyName); -// replacementIdentityLink.setGivenName(givenName); -// replacementIdentityLink.setIdentificationType(identificationType); -// replacementIdentityLink.setIdentificationValue(identificationValue); -// replacementIdentityLink.setPrPerson(prPerson); -// try { -// replacementIdentityLink.setSamlAssertion(session.getIdentityLink().getSamlAssertion()); -// } catch (Exception e) { -// throw new ValidateException("validator.64", null); -// } -// -// } -// -// } + + IdentityLink tempIdentityLink = null; + + if (session.getUseMandate()) { + tempIdentityLink = new IdentityLink(); + Element mandator = ParepUtils.extractMandator(mandate); + String dateOfBirth = ""; + Element prPerson = null; + String familyName = ""; + String givenName = ""; + String identificationType = ""; + String identificationValue = ""; + if (mandator != null) { + boolean physical = ParepUtils.isPhysicalPerson(mandator); + if (physical) { + familyName = ParepUtils.extractText(mandator, "descendant-or-self::pr:Name/pr:FamilyName/text()"); + givenName = ParepUtils.extractText(mandator, "descendant-or-self::pr:Name/pr:GivenName/text()"); + dateOfBirth = ParepUtils.extractMandatorDateOfBirth(mandator); + } else { + familyName = ParepUtils.extractMandatorFullName(mandator); + } + identificationType = ParepUtils.getIdentification(mandator, "Type"); + identificationValue = ParepUtils.extractMandatorWbpk(mandator); + prPerson = ParepUtils.extractPrPersonOfMandate(mandate); + if (physical && session.getBusinessService() && identificationType!=null && Constants.URN_PREFIX_BASEID.equals(identificationType)) { + // now we calculate the wbPK and do so if we got it from the BKU + identificationType = Constants.URN_PREFIX_WBPK + "+" + session.getDomainIdentifier(); + identificationValue = new BPKBuilder().buildWBPK(identificationValue, session.getDomainIdentifier()); + ParepUtils.HideStammZahlen(prPerson, true, null, null, true); + } + + + tempIdentityLink.setDateOfBirth(dateOfBirth); + tempIdentityLink.setFamilyName(familyName); + tempIdentityLink.setGivenName(givenName); + tempIdentityLink.setIdentificationType(identificationType); + tempIdentityLink.setIdentificationValue(identificationValue); + tempIdentityLink.setPrPerson(prPerson); + try { + tempIdentityLink.setSamlAssertion(session.getIdentityLink().getSamlAssertion()); + } catch (Exception e) { + throw new ValidateException("validator.64", null); + } + + } + + } // builds authentication data and stores it together with a SAML artifact - AuthenticationData authData = buildAuthenticationData(session, vsresp, replacementIdentityLink); - String samlArtifact = - new SAMLArtifactBuilder().build(session.getAuthURL(), session.getSessionID()); - storeAuthenticationData(samlArtifact, authData); + AuthenticationData authData = session.getAssertionAuthData(); //buildAuthenticationData(session, vsresp, replacementIdentityLink); - // invalidates the authentication session - sessionStore.remove(sessionID); - Logger.info( - "Anmeldedaten zu MOASession " + sessionID + " angelegt, SAML Artifakt " + samlArtifact); - return samlArtifact; + Element mandatePerson = tempIdentityLink.getPrPerson(); + String mandateData = null; + try { + mandateData = DOMUtils.serializeNode(mandatePerson); + } catch (TransformerException e1) { + throw new AuthenticationException("auth.16", new Object[] { GET_MIS_SESSIONID}); + } catch (IOException e1) { + throw new AuthenticationException("auth.16", new Object[] { GET_MIS_SESSIONID}); + } + + String samlAssertion = + new AuthenticationDataAssertionBuilder().buildMandate( + authData, + session.getAssertionPrPerson(), + mandateData, + session.getAssertionAuthBlock(), + session.getAssertionIlAssertion(), + session.getBkuURL(), + session.getAssertionSignerCertificateBase64(), + session.getAssertionBusinessService(), + session.getExtendedSAMLAttributesOA()); + authData.setSamlAssertion(samlAssertion); + + String assertionFile = AuthConfigurationProvider.getInstance().getGenericConfigurationParameter("AuthenticationServer.WriteAssertionToFile"); + if (!ParepUtils.isEmpty(assertionFile)) + try { + ParepUtils.saveStringToFile(samlAssertion, new File(assertionFile)); + } catch (IOException e) { + throw new BuildException( + "builder.00", + new Object[] { "AuthenticationData", e.toString()}, + e); + } + + String samlArtifact = + new SAMLArtifactBuilder().build(session.getAuthURL(), session.getSessionID()); + storeAuthenticationData(samlArtifact, authData); + + // invalidates the authentication session + sessionStore.remove(sessionID); + Logger.info( + "Anmeldedaten zu MOASession " + sessionID + " angelegt, SAML Artifakt " + samlArtifact); + return samlArtifact; + } /** @@ -1540,79 +1654,45 @@ public class AuthenticationServer implements MOAIDAuthConstants { } } - // Exchange person data information by a mandate if needed - List oaAttributes = session.getExtendedSAMLAttributesOA(); - IdentityLink replacementIdentityLink = null; - if (session.isMandateCompatibilityMode() && oaAttributes != null && oaAttributes.size()>0) { - // look if we have a mandate - boolean foundMandate = false; - Iterator it = oaAttributes.iterator(); - while (!foundMandate && it.hasNext()) { - ExtendedSAMLAttribute samlAttribute = (ExtendedSAMLAttribute)it.next(); - if (ParepValidator.EXT_SAML_MANDATE_RAW.equals(samlAttribute.getName())) { - Object value = samlAttribute.getValue(); - if (value instanceof Element) { - Element mandate = (Element) value; - replacementIdentityLink = new IdentityLink(); - Element mandator = ParepUtils.extractMandator(mandate); - String dateOfBirth = ""; - Element prPerson = null; - String familyName = ""; - String givenName = ""; - String identificationType = ""; - String identificationValue = ""; - if (mandator != null) { - boolean physical = ParepUtils.isPhysicalPerson(mandator); - if (physical) { - familyName = ParepUtils.extractText(mandator, "descendant-or-self::pr:Name/pr:FamilyName/text()"); - givenName = ParepUtils.extractText(mandator, "descendant-or-self::pr:Name/pr:GivenName/text()"); - dateOfBirth = ParepUtils.extractMandatorDateOfBirth(mandator); - } else { - familyName = ParepUtils.extractMandatorFullName(mandator); - } - identificationType = ParepUtils.getIdentification(mandator, "Type"); - identificationValue = ParepUtils.extractMandatorWbpk(mandator); - prPerson = ParepUtils.extractPrPersonOfMandate(mandate); - if (physical && session.getBusinessService() && identificationType!=null && Constants.URN_PREFIX_BASEID.equals(identificationType)) { - // now we calculate the wbPK and do so if we got it from the BKU - identificationType = Constants.URN_PREFIX_WBPK + "+" + session.getDomainIdentifier(); - identificationValue = new BPKBuilder().buildWBPK(identificationValue, session.getDomainIdentifier()); - ParepUtils.HideStammZahlen(prPerson, true, null, null, true); - } - - } - replacementIdentityLink.setDateOfBirth(dateOfBirth); - replacementIdentityLink.setFamilyName(familyName); - replacementIdentityLink.setGivenName(givenName); - replacementIdentityLink.setIdentificationType(identificationType); - replacementIdentityLink.setIdentificationValue(identificationValue); - replacementIdentityLink.setPrPerson(prPerson); - try { - replacementIdentityLink.setSamlAssertion(session.getIdentityLink().getSamlAssertion()); - } catch (Exception e) { - throw new ValidateException("validator.64", null); - } - } else { - Logger.info("The type of Mandate SAML-Attribute is not \"org.w3c.dom.Element\""); - throw new ValidateException("validator.64", null); - } - } - } - } - VerifyXMLSignatureResponse vsresp = new VerifyXMLSignatureResponse(); X509Certificate cert = session.getForeignSignerCertificate(); vsresp.setX509certificate(cert); - AuthenticationData authData = buildAuthenticationData(session, vsresp, replacementIdentityLink); - String samlArtifact = - new SAMLArtifactBuilder().build(session.getAuthURL(), session.getSessionID()); - storeAuthenticationData(samlArtifact, authData); - - // invalidates the authentication session - sessionStore.remove(sessionID); - Logger.info( - "Anmeldedaten zu MOASession " + sessionID + " angelegt, SAML Artifakt " + samlArtifact); - return samlArtifact; + AuthenticationData authData = buildAuthenticationData(session, vsresp); + + + String samlAssertion = + new AuthenticationDataAssertionBuilder().build( + authData, + session.getAssertionPrPerson(), + session.getAssertionAuthBlock(), + session.getAssertionIlAssertion(), + session.getBkuURL(), + session.getAssertionSignerCertificateBase64(), + session.getAssertionBusinessService(), + session.getExtendedSAMLAttributesOA()); + authData.setSamlAssertion(samlAssertion); + + String assertionFile = AuthConfigurationProvider.getInstance().getGenericConfigurationParameter("AuthenticationServer.WriteAssertionToFile"); + if (!ParepUtils.isEmpty(assertionFile)) + try { + ParepUtils.saveStringToFile(samlAssertion, new File(assertionFile)); + } catch (IOException e) { + throw new BuildException( + "builder.00", + new Object[] { "AuthenticationData", e.toString()}, + e); + } + + String samlArtifact = + new SAMLArtifactBuilder().build(session.getAuthURL(), session.getSessionID()); + storeAuthenticationData(samlArtifact, authData); + + // invalidates the authentication session + sessionStore.remove(sessionID); + Logger.info( + "Anmeldedaten zu MOASession " + sessionID + " angelegt, SAML Artifakt " + samlArtifact); + + return samlArtifact; } /** @@ -1626,18 +1706,10 @@ public class AuthenticationServer implements MOAIDAuthConstants { */ private AuthenticationData buildAuthenticationData( AuthenticationSession session, - VerifyXMLSignatureResponse verifyXMLSigResp, - IdentityLink replacementIdentityLink) + VerifyXMLSignatureResponse verifyXMLSigResp) throws ConfigurationException, BuildException { - IdentityLink identityLink; - if (replacementIdentityLink == null) { - identityLink = session.getIdentityLink(); - } else { - // We have got data form a mandate we need now to use to stay compatible with applications - identityLink = replacementIdentityLink; - } - + IdentityLink identityLink = session.getIdentityLink(); AuthenticationData authData = new AuthenticationData(); OAAuthParameter oaParam = AuthConfigurationProvider.getInstance().getOnlineApplicationParameter( @@ -1661,6 +1733,7 @@ public class AuthenticationServer implements MOAIDAuthConstants { authData.setIdentificationValue(identityLink.getIdentificationValue()); } String prPerson = new PersonDataBuilder().build(identityLink, provideStammzahl); + try { String signerCertificateBase64 = ""; if (oaParam.getProvideCertifcate()) { @@ -1696,22 +1769,17 @@ public class AuthenticationServer implements MOAIDAuthConstants { ilAssertion = StringUtils.replaceAll(ilAssertion, identityLink.getIdentificationValue(), ""); } String authBlock = oaParam.getProvideAuthBlock() ? session.getAuthBlock() : ""; - String samlAssertion = - new AuthenticationDataAssertionBuilder().build( - authData, - prPerson, - authBlock, - ilAssertion, - session.getBkuURL(), - signerCertificateBase64, - businessService, - session.getExtendedSAMLAttributesOA()); - authData.setSamlAssertion(samlAssertion); - String assertionFile = AuthConfigurationProvider.getInstance().getGenericConfigurationParameter("AuthenticationServer.WriteAssertionToFile"); - if (!ParepUtils.isEmpty(assertionFile)) ParepUtils.saveStringToFile(samlAssertion, new File(assertionFile)); //Ex: "c:/saml_assertion.xml" - + session.setAssertionAuthBlock(authBlock); + session.setAssertionAuthData(authData); + session.setAssertionBusinessService(businessService); + session.setAssertionIlAssertion(ilAssertion); + session.setAssertionPrPerson(prPerson); + session.setAssertionSignerCertificateBase64(signerCertificateBase64); + return authData; + + } catch (Throwable ex) { throw new BuildException( "builder.00", @@ -1735,7 +1803,7 @@ public class AuthenticationServer implements MOAIDAuthConstants { } AuthenticationData authData = null; synchronized (authenticationDataStore) { - System.out.println("assertionHandle: " + assertionHandle); + //System.out.println("assertionHandle: " + assertionHandle); authData = (AuthenticationData) authenticationDataStore.get(assertionHandle); if (authData == null) { Logger.error("Assertion not found for SAML Artifact: " + samlArtifact); diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationBlockAssertionBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationBlockAssertionBuilder.java index d48054e4b..35c4244c6 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationBlockAssertionBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationBlockAssertionBuilder.java @@ -49,6 +49,7 @@ import at.gv.egovernment.moa.id.config.ConfigurationException; import at.gv.egovernment.moa.id.config.TargetToSectorNameMapper; import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider; import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; +import at.gv.egovernment.moa.id.util.Random; import at.gv.egovernment.moa.logging.Logger; import at.gv.egovernment.moa.util.Constants; import at.gv.egovernment.moa.util.DOMUtils; @@ -154,15 +155,14 @@ public class AuthenticationBlockAssertionBuilder extends AuthenticationAssertion String oaURL, String gebDat, List extendedSAMLAttributes, - AuthenticationSession session, - boolean fromMandate) + AuthenticationSession session) throws BuildException { session.setSAMLAttributeGebeORwbpk(true); String gebeORwbpk = ""; String wbpkNSDeclaration = ""; - //BZ.., reading OA parameters + //reading OA parameters OAAuthParameter oaParam; try { oaParam = AuthConfigurationProvider.getInstance().getOnlineApplicationParameter( @@ -171,7 +171,6 @@ public class AuthenticationBlockAssertionBuilder extends AuthenticationAssertion Logger.error("Error on building AUTH-Block: " + e.getMessage()); throw new BuildException("builder.00", new Object[] { "AUTH-Block", e.toString()}); } - //..BZ if (target == null) { @@ -181,12 +180,11 @@ public class AuthenticationBlockAssertionBuilder extends AuthenticationAssertion gebeORwbpk = MessageFormat.format(WBPK_ATTRIBUTE, new Object[] { identityLinkValue, identityLinkType }); wbpkNSDeclaration = " xmlns:pr=\"" + PD_NS_URI + "\""; - //BZ.., adding type of wbPK domain identifier + //adding type of wbPK domain identifier ExtendedSAMLAttribute idLinkDomainIdentifierTypeAttribute = new ExtendedSAMLAttributeImpl("IdentityLinkDomainIdentifierType", oaParam.getIdentityLinkDomainIdentifierType(), Constants.MOA_NS_URI, ExtendedSAMLAttribute.ADD_TO_AUTHBLOCK_ONLY); extendedSAMLAttributes.add(idLinkDomainIdentifierTypeAttribute); - //..BZ } else { // We do not have a wbPK, therefore no SAML-Attribute is provided @@ -194,13 +192,11 @@ public class AuthenticationBlockAssertionBuilder extends AuthenticationAssertion } } else { // OA is a govermental application - //BZ.. String sectorName = TargetToSectorNameMapper.getSectorNameViaTarget(target); //gebeORwbpk = MessageFormat.format(GESCHAEFTS_BEREICH_ATTRIBUTE, new Object[] { target }); gebeORwbpk = MessageFormat.format(GESCHAEFTS_BEREICH_ATTRIBUTE, new Object[] { target + " (" + sectorName + ")" }); - //..BZ - //BZ.., no business service, adding bPK + //no business service, adding bPK Element bpkSamlValueElement; try { @@ -213,34 +209,41 @@ public class AuthenticationBlockAssertionBuilder extends AuthenticationAssertion // String s = xmlToString(bpkSamlValueElement); // System.out.println("bpkSamlValueElement: " + s); - - if (!fromMandate) { - ExtendedSAMLAttribute bpkAttribute = - new ExtendedSAMLAttributeImpl("bPK", bpkSamlValueElement, Constants.MOA_NS_URI, ExtendedSAMLAttribute.ADD_TO_AUTHBLOCK_ONLY); - - //System.out.println("extendedSAMLAttributes: " + extendedSAMLAttributes.size()); - - extendedSAMLAttributes.add(bpkAttribute); - } + ExtendedSAMLAttribute bpkAttribute = + new ExtendedSAMLAttributeImpl("bPK", bpkSamlValueElement, Constants.MOA_NS_URI, ExtendedSAMLAttribute.ADD_TO_AUTHBLOCK_ONLY); + extendedSAMLAttributes.add(bpkAttribute); + + boolean useMandate = session.getUseMandate(); + if (useMandate) { + String mandateReferenceValue = Random.nextRandom(); + // remove leading "-" + if (mandateReferenceValue.startsWith("-")) + mandateReferenceValue = mandateReferenceValue.substring(1); + + session.setMandateReferenceValue(mandateReferenceValue); + + ExtendedSAMLAttribute mandateReferenceValueAttribute = + new ExtendedSAMLAttributeImpl("mandateReferenceValue", mandateReferenceValue, Constants.MOA_NS_URI, ExtendedSAMLAttribute.ADD_TO_AUTHBLOCK); + + extendedSAMLAttributes.add(mandateReferenceValueAttribute); + } //gebeORwbpk = gebeORwbpk + MessageFormat.format(BPK_ATTRIBUTE, new Object[] { identityLinkValue, identityLinkType }); wbpkNSDeclaration = " xmlns:pr=\"" + PD_NS_URI + "\""; - //..BZ } - //BZ.., adding friendly name of OA + //adding friendly name of OA String oaFriendlyName = StringUtils.isEmpty(oaParam.getFriendlyName()) ? "" : oaParam.getFriendlyName(); ExtendedSAMLAttribute oaFriendlyNameAttribute = new ExtendedSAMLAttributeImpl("oaFriendlyName", oaFriendlyName, Constants.MOA_NS_URI, ExtendedSAMLAttribute.ADD_TO_AUTHBLOCK_ONLY); extendedSAMLAttributes.add(oaFriendlyNameAttribute); - //..BZ String assertion; - try { + try { assertion = MessageFormat.format( AUTH_BLOCK, new Object[] { wbpkNSDeclaration, diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataAssertionBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataAssertionBuilder.java index 640c60e49..367116c73 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataAssertionBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataAssertionBuilder.java @@ -74,6 +74,40 @@ public class AuthenticationDataAssertionBuilder extends AuthenticationAssertionB "{12}" + " " + NL + ""; + + /** + * XML template for the <saml:Assertion> to be built + */ + private static final String AUTH_DATA_MANDATE = + "" + NL + + "" + NL + + " " + NL + + " " + NL + + " {4}" + NL + + " " + NL + + " " + MOA_NS_URI + "cm" + NL + + " {5}{6}" + NL + + " " + NL + + " " + NL + + " " + NL + + " {7}" + NL + + " " + NL + + " " + NL + + " {8}" + NL + + " " + NL + + " " + NL + + " {9}" + NL + + " " + NL + + " " + NL + + " {10}" + NL + + " " + NL + + "{11}" + + "{12}" + + "{13}" + + " " + NL + + ""; /** * XML template for the <saml:Attribute> named "isPublicAuthority", * to be inserted into the <saml:Assertion> @@ -181,5 +215,94 @@ public class AuthenticationDataAssertionBuilder extends AuthenticationAssertionB } return assertion; } + + /** + * Builds the authentication data <saml:Assertion>. + * + * @param authData the AuthenticationData to build the + * <saml:Assertion> from + * @param xmlPersonData lt;pr:Person> element as a String + * @param xmlAuthBlock authentication block to be included in a + * lt;saml:SubjectConfirmationData> element; may include + * the "Stammzahl" or not; may be empty + * @param xmlIdentityLink the IdentityLink + * @param signerCertificateBase64 Base64 encoded certificate of the signer. Maybe + * an empty string if the signer certificate should not be provided. + * Will be ignored if the businessService parameter is + * set to false. + * @param businessService true if the online application is a + * business service, otherwise false + * @return the <saml:Assertion> + * @throws BuildException if an error occurs during the build process + */ + public String buildMandate( + AuthenticationData authData, + String xmlPersonData, + String xmlMandateData, + String xmlAuthBlock, + String xmlIdentityLink, + String bkuURL, + String signerCertificateBase64, + boolean businessService, + List extendedSAMLAttributes) + throws BuildException + { + + String isQualifiedCertificate = authData.isQualifiedCertificate() ? "true" : "false"; + String publicAuthorityAttribute = ""; + if (authData.isPublicAuthority()) { + String publicAuthorityIdentification = authData.getPublicAuthorityCode(); + if (publicAuthorityIdentification == null) + publicAuthorityIdentification = "True"; + publicAuthorityAttribute = MessageFormat.format( + PUBLIC_AUTHORITY_ATT, new Object[] { publicAuthorityIdentification }); + } + + + String signerCertificateAttribute = ""; + if (signerCertificateBase64 != "") { + signerCertificateAttribute = MessageFormat.format( + SIGNER_CERTIFICATE_ATT, new Object[] { signerCertificateBase64 }); + } + + String pkType; + String pkValue; + if (businessService) { + pkType = authData.getIdentificationType(); + pkValue = authData.getWBPK(); + + } else { + // always has the bPK as type/value + pkType = URN_PREFIX_BPK; + pkValue = authData.getBPK(); + } + +// System.out.println("pkType; " + pkType); +// System.out.println("pkValue; " + pkValue); + + String assertion; + try { + + assertion = MessageFormat.format(AUTH_DATA_MANDATE, new Object[] { + authData.getAssertionID(), + authData.getIssuer(), + authData.getIssueInstant(), + pkType, + pkValue, + StringUtils.removeXMLDeclaration(xmlAuthBlock), + StringUtils.removeXMLDeclaration(xmlIdentityLink), + StringUtils.removeXMLDeclaration(xmlPersonData), + StringUtils.removeXMLDeclaration(xmlMandateData), + isQualifiedCertificate, + bkuURL, + publicAuthorityAttribute, + signerCertificateAttribute, + buildExtendedSAMLAttributes(extendedSAMLAttributes)}); + } catch (ParseException e) { + Logger.error("Error on building Authentication Data Assertion: " + e.getMessage()); + throw new BuildException("builder.00", new Object[] { "Authentication Data Assertion", e.toString()}); + } + return assertion; + } } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/SAMLArtifactBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/SAMLArtifactBuilder.java index 556b0cb6a..41e4cd37d 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/SAMLArtifactBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/SAMLArtifactBuilder.java @@ -74,8 +74,8 @@ public class SAMLArtifactBuilder { // alternative sourceId String alternativeSourceID = AuthConfigurationProvider.getInstance().getGenericConfigurationParameter(GENERIC_CONFIG_PARAM_SOURCEID); - System.out.println("alternativeSourceID: " + alternativeSourceID); - System.out.println("authURL: " + authURL); + //System.out.println("alternativeSourceID: " + alternativeSourceID); + //System.out.println("authURL: " + authURL); if (!ParepUtils.isEmpty(alternativeSourceID)) { // if generic config parameter "AuthenticationServer.SourceID" is given, use that sourceID instead of authURL; @@ -85,7 +85,7 @@ public class SAMLArtifactBuilder { sourceID = md.digest(authURL.getBytes()); } - System.out.println("sourceID: " + new String(sourceID)); + //System.out.println("sourceID: " + new String(sourceID)); byte[] assertionHandle = md.digest(sessionID.getBytes()); ByteArrayOutputStream out = new ByteArrayOutputStream(42); @@ -94,9 +94,9 @@ public class SAMLArtifactBuilder { out.write(sourceID, 0, 20); out.write(assertionHandle, 0, 20); byte[] samlArtifact = out.toByteArray(); - System.out.println("samlArtifact: " + new String(samlArtifact)); + //System.out.println("samlArtifact: " + new String(samlArtifact)); String samlArtifactBase64 = Base64Utils.encode(samlArtifact); - System.out.println("samlArtifact Base64: " + samlArtifactBase64); + //System.out.println("samlArtifact Base64: " + samlArtifactBase64); return samlArtifactBase64; } catch (Throwable ex) { diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java index bae95c2a6..61e4cd28b 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java @@ -36,6 +36,7 @@ import org.w3c.dom.Element; import at.gv.egovernment.moa.id.auth.validator.InfoboxValidator; import at.gv.egovernment.moa.id.auth.validator.parep.ParepUtils; +import at.gv.egovernment.moa.id.data.AuthenticationData; import at.gv.egovernment.moa.logging.Logger; import at.gv.egovernment.moa.util.Constants; @@ -87,25 +88,41 @@ public class AuthenticationSession { private boolean useMandate; /** - * Selected mandate + * Reference value for mandate */ - private Element mandateElem; + private String mandateReferenceValue; /** - * @return the mandateElem - */ - public Element getMandateElem() { - return mandateElem; - } - - /** - * @param mandateElem the mandateElem to set - */ - public void setMandateElem(Element mandateElem) { - this.mandateElem = mandateElem; - } - - /** + * Authentication data for the assertion + */ + private AuthenticationData assertionAuthData; + + /** + * Persondata for the assertion + */ + private String assertionPrPerson; + + /** + * Authblock for the assertion + */ + private String assertionAuthBlock; + + /** + * Identitylink assertion for the (MOA) assertion + */ + private String assertionIlAssertion; + + /** + * Signer certificate (base64 encoded) for the assertion + */ + private String assertionSignerCertificateBase64; + + /** + * bussiness service for the assertion + */ + boolean assertionBusinessService; + + /** * SessionID for MIS */ private String misSessionID; @@ -176,14 +193,7 @@ public class AuthenticationSession { */ private String pushInfobox; - /** - * AppSpecificConfiguration entry of then mandates infobox-validator. Tells - * whether person data from the representative have to be exchanged by data - * from the mandate - */ - private boolean mandateCompatibilityMode = false; - - + /** * Constructor for AuthenticationSession. @@ -562,20 +572,6 @@ public class AuthenticationSession { return null; } - /** - * @return the mandateCompatibilityMode - */ - public boolean isMandateCompatibilityMode() { - return mandateCompatibilityMode; - } - - /** - * @param mandateCompatibilityMode the mandateCompatibilityMode to set - */ - public void setMandateCompatibilityMode(boolean mandateCompatibilityMode) { - this.mandateCompatibilityMode = mandateCompatibilityMode; - } - /** * Returns domain identifier (the register and number in the register parameter). * null in the case of not a business service. @@ -660,4 +656,105 @@ public class AuthenticationSession { public String getMISSessionID() { return this.misSessionID; } + + /** + * @return the assertionAuthData + */ + public AuthenticationData getAssertionAuthData() { + return assertionAuthData; + } + + /** + * @param assertionAuthData the assertionAuthData to set + */ + public void setAssertionAuthData(AuthenticationData assertionAuthData) { + this.assertionAuthData = assertionAuthData; + } + + /** + * @return the assertionPrPerson + */ + public String getAssertionPrPerson() { + return assertionPrPerson; + } + + /** + * @param assertionPrPerson the assertionPrPerson to set + */ + public void setAssertionPrPerson(String assertionPrPerson) { + this.assertionPrPerson = assertionPrPerson; + } + + /** + * @return the assertionAuthBlock + */ + public String getAssertionAuthBlock() { + return assertionAuthBlock; + } + + /** + * @param assertionAuthBlock the assertionAuthBlock to set + */ + public void setAssertionAuthBlock(String assertionAuthBlock) { + this.assertionAuthBlock = assertionAuthBlock; + } + + /** + * @return the assertionIlAssertion + */ + public String getAssertionIlAssertion() { + return assertionIlAssertion; + } + + /** + * @param assertionIlAssertion the assertionIlAssertion to set + */ + public void setAssertionIlAssertion(String assertionIlAssertion) { + this.assertionIlAssertion = assertionIlAssertion; + } + + /** + * @return the assertionSignerCertificateBase64 + */ + public String getAssertionSignerCertificateBase64() { + return assertionSignerCertificateBase64; + } + + /** + * @param assertionSignerCertificateBase64 the assertionSignerCertificateBase64 to set + */ + public void setAssertionSignerCertificateBase64(String assertionSignerCertificateBase64) { + this.assertionSignerCertificateBase64 = assertionSignerCertificateBase64; + } + + /** + * @return the assertionBusinessService + */ + public boolean getAssertionBusinessService() { + return assertionBusinessService; + } + + /** + * @param assertionBusinessService the assertionBusinessService to set + */ + public void setAssertionBusinessService(boolean assertionBusinessService) { + this.assertionBusinessService = assertionBusinessService; + } + + /** + * @return the mandateReferenceValue + */ + public String getMandateReferenceValue() { + return mandateReferenceValue; + } + + /** + * @param mandateReferenceValue the mandateReferenceValue to set + */ + public void setMandateReferenceValue(String mandateReferenceValue) { + this.mandateReferenceValue = mandateReferenceValue; + } + + } + diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetMISSessionIDServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetMISSessionIDServlet.java index b1ae12084..977784a6b 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetMISSessionIDServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetMISSessionIDServlet.java @@ -27,7 +27,6 @@ package at.gv.egovernment.moa.id.auth.servlet; import iaik.pki.PKIException; import java.io.IOException; -import java.io.PrintWriter; import java.security.GeneralSecurityException; import java.util.List; @@ -38,16 +37,14 @@ import javax.servlet.http.HttpServletResponse; import javax.xml.parsers.ParserConfigurationException; import org.apache.commons.lang.StringEscapeUtils; -import org.w3c.dom.Document; +import org.w3c.dom.Element; import org.xml.sax.SAXException; -import at.gv.egovernment.moa.id.BuildException; import at.gv.egovernment.moa.id.MOAIDException; import at.gv.egovernment.moa.id.auth.AuthenticationServer; import at.gv.egovernment.moa.id.auth.MOAIDAuthConstants; import at.gv.egovernment.moa.id.auth.WrongParametersException; import at.gv.egovernment.moa.id.auth.builder.DataURLBuilder; -import at.gv.egovernment.moa.id.auth.builder.GetIdentityLinkFormBuilder; import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; import at.gv.egovernment.moa.id.config.ConnectionParameter; import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider; @@ -58,6 +55,7 @@ import at.gv.egovernment.moa.id.util.client.mis.simple.MISSimpleClient; import at.gv.egovernment.moa.id.util.client.mis.simple.MISSimpleClientException; import at.gv.egovernment.moa.logging.Logger; import at.gv.egovernment.moa.util.DOMUtils; +import at.gv.egovernment.moa.util.URLEncoder; /** * Servlet requested for getting the foreign eID @@ -139,8 +137,6 @@ public class GetMISSessionIDServlet extends AuthServlet { String misSessionID = session.getMISSessionID(); - //System.out.println("MIS Session ID (GetMISServlet): " + misSessionID); - AuthConfigurationProvider authConf= AuthConfigurationProvider.getInstance(); ConnectionParameter connectionParameters = authConf.getOnlineMandatesConnectionParameter(); SSLSocketFactory sslFactory = SSLUtils.getSSLSocketFactory(AuthConfigurationProvider.getInstance(), connectionParameters); @@ -158,31 +154,36 @@ public class GetMISSessionIDServlet extends AuthServlet { // for now: list contains only one element MISMandate mandate = (MISMandate)list.get(0); - + // verify mandate signature - String createXMLSignatureRequestOrRedirect = AuthenticationServer.getInstance().verifyMandate(sessionID, mandate); + AuthenticationServer.getInstance().verifyMandate(sessionID, mandate); byte[] byteMandate = mandate.getMandate(); String stringMandate = new String(byteMandate); - Document mandateDoc = DOMUtils.parseDocument(stringMandate, false, null, null); - session.setMandateElem(mandateDoc.getDocumentElement()); - //System.out.println("stringMandate: " + stringMandate); + Element mandateDoc = DOMUtils.parseDocument(stringMandate, false, null, null).getDocumentElement(); + //session.setMandateElem(mandateDoc.getDocumentElement()); - String dataurl = - new DataURLBuilder().buildDataURL( - session.getAuthURL(), - REQ_VERIFY_AUTH_BLOCK, - session.getSessionID()); - - Logger.debug(createXMLSignatureRequestOrRedirect); - - //String request = getHTMLForm(createXMLSignatureRequestOrRedirect, session.getBkuURL(), dataurl, session.getPublicOAURLPrefix()); - String request = null; - resp.setContentType("text/html;charset=UTF-8"); - PrintWriter out = new PrintWriter(resp.getOutputStream()); - out.print(request); - out.flush(); - + String redirectURL = null; + String samlArtifactBase64 = + AuthenticationServer.getInstance().verifyAuthenticationBlockMandate(sessionID, mandateDoc); + + + if (!samlArtifactBase64.equals("Redirect to Input Processor")) { + redirectURL = session.getOAURLRequested(); + if (!session.getBusinessService()) { + redirectURL = addURLParameter(redirectURL, PARAM_TARGET, URLEncoder.encode(session.getTarget(), "UTF-8")); + } + redirectURL = addURLParameter(redirectURL, PARAM_SAMLARTIFACT, URLEncoder.encode(samlArtifactBase64, "UTF-8")); + redirectURL = resp.encodeRedirectURL(redirectURL); + } else { + redirectURL = new DataURLBuilder().buildDataURL(session.getAuthURL(), AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, session.getSessionID()); + } + resp.setContentType("text/html"); + resp.setStatus(302); + + resp.addHeader("Location", redirectURL); + Logger.debug("REDIRECT TO: " + redirectURL); + } catch (MOAIDException ex) { @@ -198,6 +199,21 @@ public class GetMISSessionIDServlet extends AuthServlet { } catch (ParserConfigurationException e) { handleError(null, e, req, resp); } + } + + /** + * Adds a parameter to a URL. + * @param url the URL + * @param paramname parameter name + * @param paramvalue parameter value + * @return the URL with parameter added + */ + private static String addURLParameter(String url, String paramname, String paramvalue) { + String param = paramname + "=" + paramvalue; + if (url.indexOf("?") < 0) + return url + "?" + param; + else + return url + "&" + param; } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/ProcessValidatorInputServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/ProcessValidatorInputServlet.java index 1dfc266a9..b5c57d5cf 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/ProcessValidatorInputServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/ProcessValidatorInputServlet.java @@ -175,7 +175,7 @@ public class ProcessValidatorInputServlet extends AuthServlet { AuthenticationSession session = AuthenticationServer.getSession(sessionID); AuthenticationServer.processInput(session, parameters); - String createXMLSignatureRequestOrRedirect = AuthenticationServer.getInstance().getCreateXMLSignatureRequestAuthBlockOrRedirect(session, null, null, false); + String createXMLSignatureRequestOrRedirect = AuthenticationServer.getInstance().getCreateXMLSignatureRequestAuthBlockOrRedirect(session, null, null); if (!createXMLSignatureRequestOrRedirect.startsWith("Redirect")) { // Now sign the AUTH Block String dataURL = new DataURLBuilder().buildDataURL( diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyAuthenticationBlockServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyAuthenticationBlockServlet.java index 5b9995709..f7f9d8fed 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyAuthenticationBlockServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyAuthenticationBlockServlet.java @@ -39,8 +39,10 @@ import at.gv.egovernment.moa.id.auth.AuthenticationServer; import at.gv.egovernment.moa.id.auth.MOAIDAuthConstants; import at.gv.egovernment.moa.id.auth.WrongParametersException; import at.gv.egovernment.moa.id.auth.builder.DataURLBuilder; +import at.gv.egovernment.moa.id.auth.builder.InfoboxReadRequestBuilderCertificate; import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; import at.gv.egovernment.moa.id.util.ParamValidatorUtils; +import at.gv.egovernment.moa.id.util.ServletUtils; import at.gv.egovernment.moa.logging.Logger; import at.gv.egovernment.moa.util.URLEncoder; @@ -140,6 +142,28 @@ public class VerifyAuthenticationBlockServlet extends AuthServlet { AuthenticationSession session = AuthenticationServer.getSession(sessionID); String samlArtifactBase64 = AuthenticationServer.getInstance().verifyAuthenticationBlock(sessionID, createXMLSignatureResponse); + + if (samlArtifactBase64 == null) { + //mandate Mode + + Logger.debug("Send InfoboxReadRequest to BKU to get signer certificate."); + + String infoboxReadRequest = new InfoboxReadRequestBuilderCertificate().build(true); + + // build dataurl + String dataurl = + new DataURLBuilder().buildDataURL( + session.getAuthURL(), + REQ_VERIFY_CERTIFICATE, + session.getSessionID()); + + + //Logger.debug("ContentType set to: application/x-www-form-urlencoded (ServletUtils)"); + //ServletUtils.writeCreateXMLSignatureRequestURLEncoded(resp, session, infoboxReadRequest, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "VerifyIdentityLink", dataurl); + Logger.debug("ContentType set to: text/xml;charset=UTF-8 (ServletUtils)"); + ServletUtils.writeCreateXMLSignatureRequest(resp, session, infoboxReadRequest, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "VerifyIdentityLink", dataurl); + + } if (!samlArtifactBase64.equals("Redirect to Input Processor")) { redirectURL = session.getOAURLRequested(); if (!session.getBusinessService()) { diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyCertificateServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyCertificateServlet.java index c9f9491bb..181c46bf9 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyCertificateServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyCertificateServlet.java @@ -150,7 +150,9 @@ public class VerifyCertificateServlet extends AuthServlet { throw new AuthenticationException("auth.14", null); } - boolean useMandate = session.getUseMandate(); + boolean useMandate = session.getUseMandate(); + + if (useMandate) { // Mandate Modus // make request to MIS @@ -162,8 +164,6 @@ public class VerifyCertificateServlet extends AuthServlet { // get identitity link as byte[] Element elem = session.getIdentityLink().getSamlAssertion(); String s = DOMUtils.serializeNode(elem); -// byte[] idl = DOMUtils.nodeToByteArray(elem); -// String s = new String(idl); byte[] idl = s.getBytes(); // redirect url @@ -187,8 +187,10 @@ public class VerifyCertificateServlet extends AuthServlet { for(int i = 0; i < profilesArray.length; i++) { profilesArray[i] = profilesArray[i].trim(); } - - MISSessionId misSessionID = MISSimpleClient.sendSessionIdRequest(connectionParameters.getUrl(), idl, cert.getEncoded(), redirectURL, profilesArray, sslFactory); + + String oaFriendlyName = oaParam.getFriendlyName(); + String mandateReferenceValue = session.getMandateReferenceValue(); + MISSessionId misSessionID = MISSimpleClient.sendSessionIdRequest(connectionParameters.getUrl(), idl, cert.getEncoded(), oaFriendlyName, redirectURL, mandateReferenceValue, profilesArray, sslFactory); String redirectMISGUI = misSessionID.getRedirectURL(); if (misSessionID == null) { @@ -235,21 +237,6 @@ public class VerifyCertificateServlet extends AuthServlet { } } - /** - * Adds a parameter to a URL. - * @param url the URL - * @param paramname parameter name - * @param paramvalue parameter value - * @return the URL with parameter added - */ - private static String addURLParameter(String url, String paramname, String paramvalue) { - String param = paramname + "=" + paramvalue; - if (url.indexOf("?") < 0) - return url + "?" + param; - else - return url + "&" + param; - } - /** * Does the request to the SZR-GW * @param givenname @@ -312,50 +299,42 @@ public class VerifyCertificateServlet extends AuthServlet { // // } - /** - * Builds the szrgw:GetIdentityLinkRequest für the SZR-GW - * @param givenname - * @param familyname - * @param birthday - * @return - */ - private static Document buildGetIdentityLinkRequest(X509Certificate cert) { - - try { - byte[] certbyte = cert.getEncoded(); - String certstring = Base64.encode(certbyte); - - DocumentBuilderFactory factory =DocumentBuilderFactory.newInstance(); - factory.setNamespaceAware(true); - DocumentBuilder builder = factory.newDocumentBuilder(); - Document doc = builder.newDocument(); - - Element getIdentityLink = doc.createElementNS(SZRGWConstants.SZRGW_REQUEST_NS, "szrgw:GetIdentityLinkRequest"); - getIdentityLink.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:szrgw", SZRGWConstants.SZRGW_REQUEST_NS); - doc.appendChild(getIdentityLink); - - Element x509certificate = doc.createElementNS(SZRGWConstants.SZRGW_REQUEST_NS, "szrgw:X509Certificate"); - getIdentityLink.appendChild(x509certificate); - Text certbase64 = doc.createTextNode(certstring); - x509certificate.appendChild(certbase64); - - return doc; - } catch (ParserConfigurationException e) { - e.printStackTrace(); - } catch (CertificateEncodingException e) { - e.printStackTrace(); - } - return null; - - } - - /** - * Checks a parameter. - * @param param parameter - * @return true if the parameter is null or empty - */ - private boolean isEmpty(String param) { - return param == null || param.length() == 0; - } - +// /** +// * Builds the szrgw:GetIdentityLinkRequest für the SZR-GW +// * @param givenname +// * @param familyname +// * @param birthday +// * @return +// */ +// private static Document buildGetIdentityLinkRequest(X509Certificate cert) { +// +// try { +// byte[] certbyte = cert.getEncoded(); +// String certstring = Base64.encode(certbyte); +// +// DocumentBuilderFactory factory =DocumentBuilderFactory.newInstance(); +// factory.setNamespaceAware(true); +// DocumentBuilder builder = factory.newDocumentBuilder(); +// Document doc = builder.newDocument(); +// +// Element getIdentityLink = doc.createElementNS(SZRGWConstants.SZRGW_REQUEST_NS, "szrgw:GetIdentityLinkRequest"); +// getIdentityLink.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:szrgw", SZRGWConstants.SZRGW_REQUEST_NS); +// doc.appendChild(getIdentityLink); +// +// Element x509certificate = doc.createElementNS(SZRGWConstants.SZRGW_REQUEST_NS, "szrgw:X509Certificate"); +// getIdentityLink.appendChild(x509certificate); +// Text certbase64 = doc.createTextNode(certstring); +// x509certificate.appendChild(certbase64); +// +// return doc; +// } catch (ParserConfigurationException e) { +// e.printStackTrace(); +// } catch (CertificateEncodingException e) { +// e.printStackTrace(); +// } +// return null; +// +// } +// + } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyIdentityLinkServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyIdentityLinkServlet.java index 99ae497ba..df5abe4f5 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyIdentityLinkServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/VerifyIdentityLinkServlet.java @@ -171,33 +171,9 @@ public class VerifyIdentityLinkServlet extends AuthServlet { } } -// else { -// boolean useMandate = session.getUseMandate(); -// if (useMandate) { // Mandate modus -// // read certificate and set dataurl to VerifyCertificateServlet -// -// Logger.debug("Send InfoboxReadRequest to BKU to get signer certificate."); -// -// String infoboxReadRequest = new InfoboxReadRequestBuilderCertificate().build(true); -// -// // build dataurl -// String dataurl = -// new DataURLBuilder().buildDataURL( -// session.getAuthURL(), -// REQ_VERIFY_CERTIFICATE, -// session.getSessionID()); -// -// -// //Logger.debug("ContentType set to: application/x-www-form-urlencoded (ServletUtils)"); -// //ServletUtils.writeCreateXMLSignatureRequestURLEncoded(resp, session, infoboxReadRequest, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "VerifyIdentityLink", dataurl); -// Logger.debug("ContentType set to: text/xml;charset=UTF-8 (ServletUtils)"); -// ServletUtils.writeCreateXMLSignatureRequest(resp, session, infoboxReadRequest, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "VerifyIdentityLink", dataurl); -// -// } - else { - ServletUtils.writeCreateXMLSignatureRequestOrRedirect(resp, session, createXMLSignatureRequestOrRedirect, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "VerifyIdentityLink"); - } -// } + else { + ServletUtils.writeCreateXMLSignatureRequestOrRedirect(resp, session, createXMLSignatureRequestOrRedirect, AuthenticationServer.REQ_PROCESS_VALIDATOR_INPUT, "VerifyIdentityLink"); + } } catch (ParseException ex) { diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/client/mis/simple/MISSimpleClient.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/client/mis/simple/MISSimpleClient.java index 3b8caca4c..60678fe22 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/client/mis/simple/MISSimpleClient.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/client/mis/simple/MISSimpleClient.java @@ -56,6 +56,7 @@ import org.xml.sax.SAXNotSupportedException; import at.gv.egovernment.moa.id.auth.validator.parep.client.szrgw.SZRGWSecureSocketFactory; import at.gv.egovernment.moa.logging.Logger; import at.gv.egovernment.moa.util.DOMUtils; +import at.gv.egovernment.moa.util.StringUtils; public class MISSimpleClient { @@ -134,7 +135,7 @@ public class MISSimpleClient { } } - public static MISSessionId sendSessionIdRequest(String webServiceURL, byte[] idl, byte[] cert, String redirectURL, String mandateIdentifier[], SSLSocketFactory sSLSocketFactory) throws MISSimpleClientException { + public static MISSessionId sendSessionIdRequest(String webServiceURL, byte[] idl, byte[] cert, String oaFriendlyName, String redirectURL, String referenceValue, String mandateIdentifier[], SSLSocketFactory sSLSocketFactory) throws MISSimpleClientException { if (webServiceURL == null) { throw new NullPointerException("Argument webServiceURL must not be null."); } @@ -165,10 +166,22 @@ public class MISSimpleClient { //certElement.appendChild(doc.createTextNode(Base64.encodeBase64(cert))); // certElement.appendChild(doc.createTextNode(new String(Base64.encodeBase64(cert)))); mirElement.appendChild(certElement); - } + } + + if (!StringUtils.isEmpty(oaFriendlyName)) { + Element oaFriendlyNameElement = doc.createElementNS(MIS_NS, "OAFriendlyName"); + oaFriendlyNameElement.appendChild(doc.createTextNode(oaFriendlyName)); + mirElement.appendChild(oaFriendlyNameElement); + } + Element redirectElement = doc.createElementNS(MIS_NS, "RedirectURL"); redirectElement.appendChild(doc.createTextNode(redirectURL)); - mirElement.appendChild(redirectElement); + mirElement.appendChild(redirectElement); + + Element referenceValueElement = doc.createElementNS(MIS_NS, "ReferenceValue"); + referenceValueElement.appendChild(doc.createTextNode(referenceValue)); + mirElement.appendChild(referenceValueElement); + if (mandateIdentifier != null && mandateIdentifier.length > 0) { Element filtersElement = doc.createElementNS(MIS_NS, "Filters"); Element mandateIdentifiersElement = doc.createElementNS(MIS_NS, "MandateIdentifiers"); diff --git a/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/auth/builder/AuthenticationBlockAssertionBuilderTest.java b/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/auth/builder/AuthenticationBlockAssertionBuilderTest.java index 19867dd38..e79394a28 100644 --- a/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/auth/builder/AuthenticationBlockAssertionBuilderTest.java +++ b/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/auth/builder/AuthenticationBlockAssertionBuilderTest.java @@ -63,7 +63,7 @@ public class AuthenticationBlockAssertionBuilderTest extends UnitTestCase { public void testBuild() throws Exception { AuthenticationBlockAssertionBuilder builder = new AuthenticationBlockAssertionBuilder(); - String assertionBuilt = builder.buildAuthBlock(ISSUER, ISSUE_INSTANT, AUTH_URL, TARGET, "", "", OA_URL, GEB_DAT, null, null, false); + String assertionBuilt = builder.buildAuthBlock(ISSUER, ISSUE_INSTANT, AUTH_URL, TARGET, "", "", OA_URL, GEB_DAT, null, null); assertionBuilt = XML_DECL + assertionBuilt; String assertionShould = XML_DECL + ASSERTION_SHOULD; assertXmlEquals(assertionShould, assertionBuilt); diff --git a/pom.xml b/pom.xml index 1e9a92abe..e89c83833 100644 --- a/pom.xml +++ b/pom.xml @@ -97,7 +97,7 @@ axis axis - 1.1 + 1.0_IAIK compile diff --git a/repository/axis/axis/1.0_IAIK/axis-1.0_IAIK.jar b/repository/axis/axis/1.0_IAIK/axis-1.0_IAIK.jar new file mode 100644 index 000000000..a354bf718 Binary files /dev/null and b/repository/axis/axis/1.0_IAIK/axis-1.0_IAIK.jar differ diff --git a/repository/axis/axis/1.0_IAIK/axis-1.0_IAIK.pom b/repository/axis/axis/1.0_IAIK/axis-1.0_IAIK.pom new file mode 100644 index 000000000..51dd78d1e --- /dev/null +++ b/repository/axis/axis/1.0_IAIK/axis-1.0_IAIK.pom @@ -0,0 +1,7 @@ + + 4.0.0 + axis + axis + 1.0_IAIK + AXIS 1.0 patched + diff --git a/spss/server/history.txt b/spss/server/history.txt index 8444e9853..e92e457c9 100644 --- a/spss/server/history.txt +++ b/spss/server/history.txt @@ -2,6 +2,8 @@ 1.5.1 ############## +- Library aktualisiert: + Axis: Version 1.0_IAIK (gepatchte Variante von Axis 1.0 zur Vermeidung von XXE Attacken) - @TODO -- cgit v1.2.3 From 5c2cb2280b1e0dde76bc69422cb09dcb0b88f6f3 Mon Sep 17 00:00:00 2001 From: kstranacher Date: Fri, 17 Feb 2012 18:45:54 +0000 Subject: git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@1254 d688527b-c9ab-4aba-bd8d-4036d912da1d --- id/oa/.classpath | 12 ------------ id/oa/.project | 37 ------------------------------------- 2 files changed, 49 deletions(-) delete mode 100644 id/oa/.classpath delete mode 100644 id/oa/.project (limited to 'id/oa') diff --git a/id/oa/.classpath b/id/oa/.classpath deleted file mode 100644 index ed2412886..000000000 --- a/id/oa/.classpath +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/id/oa/.project b/id/oa/.project deleted file mode 100644 index 4624cabc7..000000000 --- a/id/oa/.project +++ /dev/null @@ -1,37 +0,0 @@ - - - moa-id-oa - - - - - - org.eclipse.wst.common.project.facet.core.builder - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.wst.validation.validationbuilder - - - - - org.maven.ide.eclipse.maven2Builder - - - - - - org.eclipse.jem.workbench.JavaEMFNature - org.eclipse.wst.common.modulecore.ModuleCoreNature - org.maven.ide.eclipse.maven2Nature - org.eclipse.jdt.core.javanature - org.eclipse.wst.common.project.facet.core.nature - org.eclipse.wst.jsdt.core.jsNature - - -- cgit v1.2.3