From 43e57a42832ea8b4ceb0317f3c9028a4174ffa7b Mon Sep 17 00:00:00 2001
From: mcentner
+
+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
+
+
+ + + + \ 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" %> + + +Request headers: +
| <%=key%> | <%=value%> |
QueryString: "<%=query%>" +
+ +Request parameters: +
| <%=name%> | <%=value%> |
Cookies: +
| <%=cookie.getName()%> | <%=cookie.getValue()%> |
Basic authentication credentials: <%=decAuthHeader%>
+<% } %> + + + \ 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
-
-
|
-- - | -||||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||||
| - SUMMARY: NESTED | FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||||
-java.lang.Object --MOAIDException -
at.gv.egovernment.moa.id.AuthenticationException -
-Exception thrown during handling of AuthenticationSession -
- -
-
| -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 | -
-public AuthenticationException(String messageId, - Object[] parameters)-
-
messageId - -public AuthenticationException(String messageId, - Object[] parameters, - Throwable wrapped)-
-
messageId - parameters - wrapped -
-
-
|
-- - | -||||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||||
| - SUMMARY: NESTED | FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||||
| - SUMMARY: NESTED | FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||||
-java.lang.Object --at.gv.egovernment.moa.id.auth.AuthenticationServer -
-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 | -|
- void |
-cleanup()
-
-- Cleans up expired session and authentication data stores. |
-
-static void |
-debugOutputXMLFile(String filename,
- org.w3c.dom.Element rootElem)
-
-- Writes an XML structure to file for debugging purposes, encoding UTF-8. |
-
-static void |
-debugOutputXMLFile(String filename,
- String xmlString)
-
-- Writes an XML structure to file for debugging purposes, encoding UTF-8. |
-
- AuthenticationData |
-getAuthenticationData(String samlArtifact)
-
-- Retrieves AuthenticationData indexed by the SAML artifact.
- |
-
-static AuthenticationServer |
-getInstance()
-
-- Returns the single instance of AuthenticationServer. |
-
-static AuthenticationSession |
-getSession(String id)
-
-- Retrieves a session from the session store. |
-
- String |
-selectBKU(String authURL,
- String target,
- String oaURL,
- String bkuSelectionTemplateURL,
- String templateURL)
-
-- Processes request to select a BKU. - |
-
- void |
-setSecondsAuthDataTimeOut(long seconds)
-
-- Sets the authDataTimeOut. |
-
- void |
-setSecondsSessionTimeOut(long seconds)
-
-- Sets the sessionTimeOut. |
-
- String |
-startAuthentication(String authURL,
- String target,
- String oaURL,
- String templateURL,
- String bkuURL,
- String sessionID)
-
-- Processes the beginning of an authentication session. - |
-
- String |
-verifyAuthenticationBlock(String sessionID,
- String xmlCreateXMLSignatureReadResponse)
-
-- Processes a <CreateXMLSignatureResponse> sent by the
- security layer implementation. |
-
- String |
-verifyIdentityLink(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 | -
-public AuthenticationServer()-
-
| -Method Detail | -
-public static AuthenticationServer getInstance()-
AuthenticationServer.
--
AuthenticationServer-public String selectBKU(String authURL, - String target, - String oaURL, - String bkuSelectionTemplateURL, - String templateURL) - throws WrongParametersException, - AuthenticationException, - ConfigurationException, - BuildException-
AuthConfigurationProvider#getBKUSelectionType.
- bkuSelectionType==HTMLComplete, a returnURI for the
- "BKU Auswahl" service is returned.
- bkuSelectionType==HTMLSelect, an HTML form for BKU selection is returned.
--
authURL - base URL of MOA-ID Auth componenttarget - "Geschäftsbereich"oaURL - online application URL requestedbkuSelectionTemplateURL - template for BKU selection form to be used
- in case of HTMLSelect; may be nulltemplateURL - URL providing an HTML template for the HTML form to be used
- for call startAuthentication
-bkuSelectionType==HTMLComplete, the returnURI for the
- "BKU Auswahl" service;
- for bkuSelectionType==HTMLSelect, an HTML form for BKU selection
-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-public String startAuthentication(String authURL, - String target, - String oaURL, - String templateURL, - String bkuURL, - String sessionID) - throws WrongParametersException, - AuthenticationException, - ConfigurationException, - BuildException-
<InfoboxReadRequest><InfoboxReadRequest>-
authURL - URL of the servlet to be used as data URLtarget - "Geschäftsbereich" of the online application requestedoaURL - online application URL requestedbkuURL - URL of the "Bürgerkartenumgebung" to be used;
- may be null; in this case, the default location will be usedtemplateURL - URL providing an HTML template for the HTML form generated
-AuthenticationException
-WrongParametersException
-ConfigurationException
-BuildExceptionGetIdentityLinkFormBuilder,
-InfoboxReadRequestBuilder-public String verifyIdentityLink(String sessionID, - String xmlInfoboxReadResponse) - throws AuthenticationException, - ParseException, - ConfigurationException, - ValidateException, - ServiceException-
<InfoboxReadResponse> sent by the
- security layer implementation.<InfoboxReadResponse><InfoboxReadResponse><CreateXMLSignatureRequest>
- containg the authentication block, meant to be returned to the
- security layer implementation-
sessionID - ID of associated authentication session dataxmlInfoboxReadResponse - String representation of the
- <InfoboxReadResponse>
-<CreateXMLSignatureRequest>
-AuthenticationException
-ParseException
-ConfigurationException
-ValidateException
-ServiceException-public String verifyAuthenticationBlock(String sessionID, - String xmlCreateXMLSignatureReadResponse) - throws AuthenticationException, - BuildException, - ParseException, - ConfigurationException, - ServiceException, - ValidateException-
<CreateXMLSignatureResponse> sent by the
- security layer implementation.<CreateXMLSignatureResponse><CreateXMLSignatureResponse> for error codes<CreateXMLSignatureResponse>-
sessionID - session ID of the running authentication sessionxmlCreateXMLSignatureReadResponse - String representation of the
- <CreateXMLSignatureResponse>
-AuthenticationException
-BuildException
-ParseException
-ConfigurationException
-ServiceException
-ValidateException-public AuthenticationData getAuthenticationData(String samlArtifact) - throws AuthenticationException-
AuthenticationData indexed by the SAML artifact.
- The AuthenticationData is deleted from the store upon end of this call.
--
AuthenticationData
-AuthenticationException-public static AuthenticationSession getSession(String id) - throws AuthenticationException-
-
id - session ID
-AuthenticationSession stored with given session ID,
- null if session ID unknown
-AuthenticationException-public void cleanup()-
-
-public void setSecondsSessionTimeOut(long seconds)-
-
-public void setSecondsAuthDataTimeOut(long seconds)-
-
-public static void debugOutputXMLFile(String filename, - org.w3c.dom.Element rootElem)-
-
filename - file namerootElem - root element in DOM tree-public static void debugOutputXMLFile(String filename, - String xmlString)-
-
filename - file namexmlString - XML string
-
-
|
-- - | -||||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||||
| - SUMMARY: NESTED | FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
| -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 AuthenticationServer |
-AuthenticationServer.getInstance()
-
-- Returns the single instance of AuthenticationServer. |
-
-
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
|
-Classes
-
- -AuthenticationServer |
-
-
-
|
-- - | -||||||||||
| - PREV PACKAGE - NEXT PACKAGE | -- FRAMES - NO FRAMES - - - - | -||||||||||
| -Class Summary | -|
| AuthenticationServer | -API for MOA ID Authentication Service. | -
-
-
-
|
-- - | -||||||||||
| - PREV PACKAGE - NEXT PACKAGE | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
| -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. |
-|
-
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
| -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 | -|
- String |
-AuthenticationServer.selectBKU(String authURL,
- String target,
- String oaURL,
- String bkuSelectionTemplateURL,
- String templateURL)
-
-- Processes request to select a BKU. - |
-
- String |
-AuthenticationServer.startAuthentication(String authURL,
- String target,
- String oaURL,
- String templateURL,
- String bkuURL,
- String sessionID)
-
-- Processes the beginning of an authentication session. - |
-
- String |
-AuthenticationServer.verifyIdentityLink(String sessionID,
- String xmlInfoboxReadResponse)
-
-- Processes an <InfoboxReadResponse> sent by the
- security layer implementation. |
-
- String |
-AuthenticationServer.verifyAuthenticationBlock(String sessionID,
- String xmlCreateXMLSignatureReadResponse)
-
-- Processes a <CreateXMLSignatureResponse> sent by the
- security layer implementation. |
-
- AuthenticationData |
-AuthenticationServer.getAuthenticationData(String samlArtifact)
-
-- Retrieves AuthenticationData indexed by the SAML artifact.
- |
-
-static AuthenticationSession |
-AuthenticationServer.getSession(String id)
-
-- Retrieves a session from the session store. |
-
-
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||||
| - SUMMARY: NESTED | FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||||
-java.lang.Object --at.gv.egovernment.moa.id.config.proxy.OAConfiguration -
-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. -
- -
-
MOAIDConfiguration-1.1.xsd, element Configuration| -Field Summary | -|
-static String |
-BASIC_AUTH
-
-- Constant for an auth method |
-
-static String |
-HEADER_AUTH
-
-- Constant for an auth method |
-
-static String |
-LOGINTYPE_STATEFUL
-
-- Constant for an login method |
-
-static String |
-LOGINTYPE_STATELESS
-
-- Constant for an login method |
-
-static String |
-PARAM_AUTH
-
-- Constant for an auth method |
-
| -Constructor Summary | -|
OAConfiguration()
-
-- |
-|
| -Method Summary | -|
- String |
-getAuthType()
-
-- Returns the authType. |
-
- String |
-getBasicAuthPasswordMapping()
-
-- Returns the basicAuthPasswordMapping. |
-
- String |
-getBasicAuthUserIDMapping()
-
-- Returns the basicAuthUserIDMapping. |
-
- Map |
-getHeaderAuthMapping()
-
-- Returns the headerAuthMapping. |
-
- String |
-getLoginType()
-
-- Returns the loginType. |
-
- Map |
-getParamAuthMapping()
-
-- Returns the paramAuthMapping. |
-
- void |
-setAuthType(String authLoginType)
-
-- Sets the authType. |
-
- void |
-setBasicAuthPasswordMapping(String basicAuthPassword)
-
-- Sets the basicAuthPasswordMapping. |
-
- void |
-setBasicAuthUserIDMapping(String basicAuthUserID)
-
-- Sets the basicAuthUserIDMapping. |
-
- void |
-setHeaderAuthMapping(HashMap headerAuth)
-
-- Sets the headerAuthMapping. |
-
- void |
-setLoginType(String loginType)
-
-- Sets the loginType. |
-
- void |
-setParamAuthMapping(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 | -
-public static final String LOGINTYPE_STATEFUL-
-
-public static final String LOGINTYPE_STATELESS-
-
-public static final String BASIC_AUTH-
-
-public static final String HEADER_AUTH-
-
-public static final String PARAM_AUTH-
-
| -Constructor Detail | -
-public OAConfiguration()-
| -Method Detail | -
-public String getBasicAuthPasswordMapping()-
-
-public String getBasicAuthUserIDMapping()-
-
-public Map getHeaderAuthMapping()-
-
-public String getLoginType()-
-
-public Map getParamAuthMapping()-
-
-public void setBasicAuthPasswordMapping(String basicAuthPassword)-
-
-public void setBasicAuthUserIDMapping(String basicAuthUserID)-
-
-public void setHeaderAuthMapping(HashMap headerAuth)-
-
-public void setLoginType(String loginType)-
-
loginType - The loginType to set-public void setParamAuthMapping(HashMap paramAuth)-
-
-public String getAuthType()-
-
-public void setAuthType(String authLoginType)-
-
-
-
|
-- - | -||||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||||
| - SUMMARY: NESTED | FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
| -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 | -|
- Map |
-LoginParameterResolver.getAuthenticationHeaders(OAConfiguration oaConf,
- AuthenticationData authData,
- String clientIPAddress)
-
-- Returns authentication headers to be added to a URLConnection. |
-
- Map |
-LoginParameterResolver.getAuthenticationParameters(OAConfiguration oaConf,
- AuthenticationData authData,
- String clientIPAddress)
-
-- Returns request parameters to be added to a URLConnection. |
-
-
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
|
-Classes
-
- -OAConfiguration |
-
-
-
|
-- - | -||||||||||
| - PREV PACKAGE - NEXT PACKAGE | -- FRAMES - NO FRAMES - - - - | -||||||||||
| -Class Summary | -|
| OAConfiguration | -Holds configuration data concerning an online application for use by the MOA-ID Proxy component. - | -
-
-
-
|
-- - | -||||||||||
| - PREV PACKAGE - NEXT PACKAGE | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
| -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. - |
-|
-
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||||
| - SUMMARY: NESTED | FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||||
-java.lang.Object --at.gv.egovernment.moa.id.data.AuthenticationData -
-Encapsulates authentication data contained in a <saml:Assertion>.
-
- -
-
| -Constructor Summary | -|
AuthenticationData()
-
-- Constructor for AuthenticationData. |
-|
| -Method Summary | -|
- String |
-getAssertionID()
-
-- Returns the assertionID. |
-
- String |
-getDateOfBirth()
-
-- Returns the dateOfBirth. |
-
- String |
-getFamilyName()
-
-- Returns the familyName. |
-
- String |
-getGivenName()
-
-- Returns the givenName. |
-
- String |
-getIdentificationType()
-
-- Returns the identificationType |
-
- String |
-getIdentificationValue()
-
-- Returns the identificationValue. |
-
- String |
-getIssueInstant()
-
-- Returns the issueInstant. |
-
- String |
-getIssuer()
-
-- Returns the issuer. |
-
- int |
-getMajorVersion()
-
-- Returns the majorVersion. |
-
- int |
-getMinorVersion()
-
-- Returns the minorVersion. |
-
- String |
-getPBK()
-
-- Returns the bPK. |
-
- String |
-getPublicAuthorityCode()
-
-- Returns the publicAuthorityCode. |
-
- String |
-getSamlAssertion()
-
-- Returns the samlAssertion. |
-
- Date |
-getTimestamp()
-
-- Returns the timestamp. |
-
- boolean |
-isPublicAuthority()
-
-- Returns the publicAuthority. |
-
- boolean |
-isQualifiedCertificate()
-
-- Returns the qualifiedCertificate. |
-
- void |
-setAssertionID(String assertionID)
-
-- Sets the assertionID. |
-
- void |
-setDateOfBirth(String dateOfBirth)
-
-- Sets the dateOfBirth. |
-
- void |
-setFamilyName(String gamilyName)
-
-- Sets the familyName. |
-
- void |
-setGivenName(String givenName)
-
-- Sets the givenName. |
-
- void |
-setIdentificationType(String identificationType)
-
-- Sets the identificationType. |
-
- void |
-setIdentificationValue(String identificationValue)
-
-- Sets the identificationValue. |
-
- void |
-setIssueInstant(String issueInstant)
-
-- Sets the issueInstant. |
-
- void |
-setIssuer(String issuer)
-
-- Sets the issuer. |
-
- void |
-setMajorVersion(int majorVersion)
-
-- Sets the majorVersion. |
-
- void |
-setMinorVersion(int minorVersion)
-
-- Sets the minorVersion. |
-
- void |
-setPBK(String bPK)
-
-- Sets the bPK. |
-
- void |
-setPublicAuthority(boolean publicAuthority)
-
-- Sets the publicAuthority. |
-
- void |
-setPublicAuthorityCode(String publicAuthorityIdentification)
-
-- Sets the publicAuthorityCode. |
-
- void |
-setQualifiedCertificate(boolean qualifiedCertificate)
-
-- Sets the qualifiedCertificate. |
-
- void |
-setSamlAssertion(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 | -
-public AuthenticationData()-
-
| -Method Detail | -
-public int getMinorVersion()-
-
-public boolean isPublicAuthority()-
-
-public String getPublicAuthorityCode()-
-
-public boolean isQualifiedCertificate()-
-
-public String getPBK()-
-
-public void setMinorVersion(int minorVersion)-
-
minorVersion - The minorVersion to set-public void setPublicAuthority(boolean publicAuthority)-
-
publicAuthority - The publicAuthority to set-public void setPublicAuthorityCode(String publicAuthorityIdentification)-
-
-public void setQualifiedCertificate(boolean qualifiedCertificate)-
-
qualifiedCertificate - The qualifiedCertificate to set-public void setPBK(String bPK)-
-
bPK - The bPK to set-public String getAssertionID()-
-
-public String getDateOfBirth()-
-
-public String getFamilyName()-
-
-public String getGivenName()-
-
-public String getIdentificationValue()-
-
-public String getIdentificationType()-
-
-public String getIssueInstant()-
-
-public String getIssuer()-
-
-public int getMajorVersion()-
-
-public void setAssertionID(String assertionID)-
-
assertionID - The assertionID to set-public void setDateOfBirth(String dateOfBirth)-
-
dateOfBirth - The dateOfBirth to set-public void setFamilyName(String gamilyName)-
-
-public void setGivenName(String givenName)-
-
givenName - The givenName to set-public void setIdentificationValue(String identificationValue)-
-
identificationValue - The identificationValue to set-public void setIdentificationType(String identificationType)-
-
identificationType - The identificationType to set-public void setIssueInstant(String issueInstant)-
-
issueInstant - The issueInstant to set-public void setIssuer(String issuer)-
-
issuer - The issuer to set-public void setMajorVersion(int majorVersion)-
-
majorVersion - The majorVersion to set-public String getSamlAssertion()-
-
-public void setSamlAssertion(String samlAssertion)-
-
samlAssertion - The samlAssertion to set-public Date getTimestamp()-
-
-
-
|
-- - | -||||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||||
| - SUMMARY: NESTED | FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
| -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 | -|
- AuthenticationData |
-AuthenticationServer.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 | -|
- Map |
-LoginParameterResolver.getAuthenticationHeaders(OAConfiguration oaConf,
- AuthenticationData authData,
- String clientIPAddress)
-
-- Returns authentication headers to be added to a URLConnection. |
-
- Map |
-LoginParameterResolver.getAuthenticationParameters(OAConfiguration oaConf,
- AuthenticationData authData,
- String clientIPAddress)
-
-- Returns request parameters to be added to a URLConnection. |
-
-
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
|
-Classes
-
- -AuthenticationData |
-
-
-
|
-- - | -||||||||||
| - PREV PACKAGE - NEXT PACKAGE | -- FRAMES - NO FRAMES - - - - | -||||||||||
| -Class Summary | -|
| AuthenticationData | -Encapsulates authentication data contained in a <saml:Assertion>. |
-
-
-
-
|
-- - | -||||||||||
| - PREV PACKAGE - NEXT PACKAGE | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
| -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>. |
-|
-
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
|
-Classes
-
- -AuthenticationException |
-
-
-
|
-- - | -||||||||||
| - PREV PACKAGE - NEXT PACKAGE | -- FRAMES - NO FRAMES - - - - | -||||||||||
| -Class Summary | -|
| AuthenticationException | -Exception thrown during handling of AuthenticationSession | -
-
-
-
|
-- - | -||||||||||
| - PREV PACKAGE - NEXT PACKAGE | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
| -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 |
-|
-
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||||
| - SUMMARY: NESTED | FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||||
-Builder for URLConnection objects used to forward requests
- to the remote online application.
-
- -
-
| -Method Summary | -|
- HttpURLConnection |
-buildConnection(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 | -
-public HttpURLConnection buildConnection(javax.servlet.http.HttpServletRequest request, - String publicURLPrefix, - String realURLPrefix, - javax.net.ssl.SSLSocketFactory sslSocketFactory, - Map parameters) - throws IOException-
URL which is derived
- from an HttpServletRequest URL, by substitution of a
- public URL prefix for the real URL prefix.URL.openConnection(), but
- it has not yet been connected to by URLConnection.connect().allowUserInteraction = falsedoInput = truedoOutput = truerequestMethod = request.getMethod()useCaches = false-
request - the incoming request which shall be forwardedpublicURLPrefix - the public URL prefix to be substituted by the real URL prefixrealURLPrefix - the URL prefix to substitute the public URL prefixsslSocketFactory - factory to be used for creating an SSL socket in case
- of a URL for scheme "https:";
- null, the default SSL socket factory would be usedparameters - parameters to be forwarded
-URL.openConnection(), connecting to
- the requested URL with publicURLPrefix substituted by realURLPrefix
-IOException - if an I/O exception occurs during opening the connectionURL.openConnection(),
-com.sun.net.ssl.HttpsURLConnection#getDefaultSSLSocketFactory()
-
-
|
-- - | -||||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||||
| - SUMMARY: NESTED | FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||||
| - SUMMARY: NESTED | FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||||
-Determines authentication parameters and headers to be added to a URLConnection
- to the remote online application.
- Utilizes OAConfiguration and AuthenticationData.
-
- -
-
| -Field Summary | -|
-static String |
-MOABKZ
-
-- Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType |
-
-static String |
-MOABPK
-
-- Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType |
-
-static String |
-MOADateOfBirth
-
-- Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType |
-
-static String |
-MOAFamilyName
-
-- Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType |
-
-static String |
-MOAGivenName
-
-- Constants used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType,
- naming predicates used by the LoginParameterResolver. |
-
-static String |
-MOAIdentificationValueType
-
-- Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType |
-
-static String |
-MOAIPAddress
-
-- Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType |
-
-static String |
-MOAPublicAuthority
-
-- Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType |
-
-static String |
-MOAQualifiedCertificate
-
-- Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType |
-
-static String |
-MOAStammzahl
-
-- Constant used in MOAIDConfiguration-1.2.xsd, type MOAAuthDataType |
-
| -Method Summary | -|
- void |
-configure(String configuration)
-
-- |
-
- Map |
-getAuthenticationHeaders(OAConfiguration oaConf,
- AuthenticationData authData,
- String clientIPAddress)
-
-- Returns authentication headers to be added to a URLConnection. |
-
- Map |
-getAuthenticationParameters(OAConfiguration oaConf,
- AuthenticationData authData,
- String clientIPAddress)
-
-- Returns request parameters to be added to a URLConnection. |
-
| -Field Detail | -
-public static final String MOAGivenName-
MOAIDConfiguration-1.2.xsd, type MOAAuthDataType,
- naming predicates used by the LoginParameterResolver.
--
-public static final String MOAFamilyName-
MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
--
-public static final String MOADateOfBirth-
MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
--
-public static final String MOABPK-
MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
--
-public static final String MOAPublicAuthority-
MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
--
-public static final String MOABKZ-
MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
--
-public static final String MOAQualifiedCertificate-
MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
--
-public static final String MOAStammzahl-
MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
--
-public static final String MOAIdentificationValueType-
MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
--
-public static final String MOAIPAddress-
MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
--
| -Method Detail | -
-public Map getAuthenticationHeaders(OAConfiguration oaConf, - AuthenticationData authData, - String clientIPAddress) - throws LoginParameterResolverException, - NotAllowedException-
-
oaConf - configuration dataauthData - authentication dataclientIPAddress - client IP address
-"basic-auth", header fields
- username and password.
- "header-auth", header fields
- derived from parameter mapping and authentication data provided.
- LoginParameterResolverException
-NotAllowedException-public Map getAuthenticationParameters(OAConfiguration oaConf, - AuthenticationData authData, - String clientIPAddress) - throws LoginParameterResolverException-
-
oaConf - configuration dataauthData - authentication dataclientIPAddress - client IP address
-"param-auth", parameters
- derived from parameter mapping and authentication data provided.
- LoginParameterResolverException-public void configure(String configuration) - throws LoginParameterResolverException, - NotAllowedException-
LoginParameterResolverException
-NotAllowedException
-
-
|
-- - | -||||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||||
| - SUMMARY: NESTED | FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||||
| - SUMMARY: NESTED | FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||||
-java.lang.Object --MOAIDException -
at.gv.egovernment.moa.id.proxy.LoginParameterResolverException -
-Exception thrown while proxying a request to the online application -
- -
-
| -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 | -
-public LoginParameterResolverException(String messageId, - Object[] parameters)-
-
messageId - parameters - -public LoginParameterResolverException(String messageId, - Object[] parameters, - Throwable wrapped)-
-
messageId - parameters - wrapped -
-
-
|
-- - | -||||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||||
| - SUMMARY: NESTED | FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||||
| - SUMMARY: NESTED | FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||||
-java.lang.Object --MOAIDException -
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. -
- -
-
| -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 | -
-public NotAllowedException(String messageId, - Object[] parameters)-
-
messageId - parameters - -public NotAllowedException(String messageId, - Object[] parameters, - Throwable wrapped)-
-
messageId - parameters - wrapped -
-
-
|
-- - | -||||||||||
| - PREV CLASS - NEXT CLASS | -- FRAMES - NO FRAMES - - - - | -||||||||||
| - SUMMARY: NESTED | FIELD | CONSTR | METHOD | --DETAIL: FIELD | CONSTR | METHOD | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
| -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 | -|
- Map |
-LoginParameterResolver.getAuthenticationHeaders(OAConfiguration oaConf,
- AuthenticationData authData,
- String clientIPAddress)
-
-- Returns authentication headers to be added to a URLConnection. |
-
- Map |
-LoginParameterResolver.getAuthenticationParameters(OAConfiguration oaConf,
- AuthenticationData authData,
- String clientIPAddress)
-
-- Returns request parameters to be added to a URLConnection. |
-
- void |
-LoginParameterResolver.configure(String configuration)
-
-- |
-
-
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
| -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 | -|
- Map |
-LoginParameterResolver.getAuthenticationHeaders(OAConfiguration oaConf,
- AuthenticationData authData,
- String clientIPAddress)
-
-- Returns authentication headers to be added to a URLConnection. |
-
- void |
-LoginParameterResolver.configure(String configuration)
-
-- |
-
-
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
|
-Interfaces
-
- -ConnectionBuilder - -LoginParameterResolver |
-
|
-Classes
-
- -LoginParameterResolverException - -NotAllowedException |
-
-
-
|
-- - | -||||||||||
| - PREV PACKAGE - NEXT PACKAGE | -- FRAMES - NO FRAMES - - - - | -||||||||||
| -Interface Summary | -|
| ConnectionBuilder | -Builder for URLConnection objects used to forward requests
- to the remote online application. |
-
| LoginParameterResolver | -Determines authentication parameters and headers to be added to a URLConnection
- to the remote online application.
- |
-
- -
| -Class Summary | -|
| 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. | -
-
-
-
|
-- - | -||||||||||
| - PREV PACKAGE - NEXT PACKAGE | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
| -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. |
-|
-
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
| -at.gv.* | -
- -
| at.gv.egovernment.moa.id.config.proxy.OAConfiguration | -||
-public static final String |
-BASIC_AUTH |
-"basic" |
-
-public static final String |
-HEADER_AUTH |
-"header" |
-
-public static final String |
-LOGINTYPE_STATEFUL |
-"stateful" |
-
-public static final String |
-LOGINTYPE_STATELESS |
-"stateless" |
-
-public static final String |
-PARAM_AUTH |
-"param" |
-
- -
- -
| at.gv.egovernment.moa.id.proxy.LoginParameterResolver | -||
-public static final String |
-MOABKZ |
-"MOABKZ" |
-
-public static final String |
-MOABPK |
-"MOABPK" |
-
-public static final String |
-MOADateOfBirth |
-"MOADateOfBirth" |
-
-public static final String |
-MOAFamilyName |
-"MOAFamilyName" |
-
-public static final String |
-MOAGivenName |
-"MOAGivenName" |
-
-public static final String |
-MOAIdentificationValueType |
-"MOAIdentificationValueType" |
-
-public static final String |
-MOAIPAddress |
-"MOAIPAddress" |
-
-public static final String |
-MOAPublicAuthority |
-"MOAPublicAuthority" |
-
-public static final String |
-MOAQualifiedCertificate |
-"MOAQualifiedCertificate" |
-
-public static final String |
-MOAStammzahl |
-"MOAStammzahl" |
-
- -
-
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
- ---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.
- ---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
- ---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:
-
-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.- 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 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.-
-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 fromjava.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.
-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.-
-The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.-
-
-
-
-This help file applies to API documentation generated using the standard doclet.
-
-
-
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
<saml:Assertion>.URL which is derived
- from an HttpServletRequest URL, by substitution of a
- public URL prefix for the real URL prefix.
-URLConnection objects used to forward requests
- to the remote online application.AuthenticationData indexed by the SAML artifact.
-
-AuthenticationServer.
-URLConnection
- to the remote online application.
- MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
-MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
-MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
-MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
-MOAIDConfiguration-1.2.xsd, type MOAAuthDataType,
- naming predicates used by the LoginParameterResolver.
-MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
-MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
-MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
-MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
-MOAIDConfiguration-1.2.xsd, type MOAAuthDataType
-<CreateXMLSignatureResponse> sent by the
- security layer implementation.
-<InfoboxReadResponse> sent by the
- security layer implementation.
-
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
| - | -
| All Classes
-
-
-Packages
- |
-
- - - 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 @@ - - - -
- -
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
| -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 | -- |
-
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
| -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 | -
- -
-
-
-
|
-- - | -||||||||||
| - PREV - NEXT | -- FRAMES - NO FRAMES - - - - | -||||||||||
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).getInstance() method.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.
-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()}.
-CreateXMLSignatureResponse.
-
-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:
-
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.-For clarity, the MOA SP/SS API classes have been organized in several packages -listed in the following table: -
- -| Package | Purpose | -
| {@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 | -
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. 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.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. -
- -PrintStream to print to.
- */
- private void printUsage(PrintStream out) {
- out.println("\nCerttool-Syntax:\n");
- out.println("-info 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 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).getInstance() method.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.
+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()}.
+CreateXMLSignatureResponse.
+
+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:
+
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.+For clarity, the MOA SP/SS API classes have been organized in several packages +listed in the following table: +
+ +| Package | Purpose | +
| {@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 | +
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. 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.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. +
+ +PrintStream to print to.
+ */
+ private void printUsage(PrintStream out) {
+ out.println("\nCerttool-Syntax:\n");
+ out.println("-info 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 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 @@
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
+
+
+
+
+
Feld muss ausgefüllt sein
+
+
+
Ausfüllhilfe
+
+
+
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:
@@ -31,9 +31,22 @@
Geburtsdatum:
- . .
+ .
+ .
+
+
+
+
+ Rolle im Gesundheitsbereich:
+
+
+
+ (OID***= ),
+
+
+
Applikation:
@@ -65,7 +78,9 @@
Datum:
- . .
+ .
+ .
+
@@ -73,9 +88,21 @@
Uhrzeit:
- : :
+ :
+ :
+
+
+
+
+ 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.