Creates an HTML form for querying the identity link from the
+ * security layer implementation.
+ * Form parameters include
+ *
+ *
the <InfoboxReadRequest>
+ *
the data URL where the security layer implementation sends it response to
+ *
+ *
+ * @param authURL URL of the servlet to be used as data URL
+ * @param target "Geschäftsbereich" of the online application requested
+ * @param oaURL online application URL requested
+ * @param bkuURL URL of the "Bürgerkartenumgebung" to be used;
+ * may be null; in this case, the default location will be used
+ * @param templateURL URL providing an HTML template for the HTML form generated
+ * @return HTML form
+ * @throws AuthenticationException
+ * @see GetIdentityLinkFormBuilder
+ * @see InfoboxReadRequestBuilder
+ */
+ public String startAuthentication(
+ String authURL,
+ String target,
+ String oaURL,
+ String templateURL,
+ String bkuURL,
+ String sessionID)
+ throws WrongParametersException, AuthenticationException, ConfigurationException, BuildException {
+
+ if (isEmpty(sessionID)) {
+ if (isEmpty(authURL))
+ throw new WrongParametersException("StartAuthentication", "AuthURL");
+
+ //check if HTTP Connection may be allowed (through FRONTEND_SERVLETS_ENABLE_HTTP_CONNECTION_PROPERTY)
+ String boolStr =
+ AuthConfigurationProvider.getInstance().getGenericConfigurationParameter(
+ AuthConfigurationProvider.FRONTEND_SERVLETS_ENABLE_HTTP_CONNECTION_PROPERTY);
+ if ((!authURL.startsWith("https:")) && (false == BoolUtils.valueOf(boolStr)))
+ throw new AuthenticationException("auth.07", new Object[] { authURL + "*" });
+ if (isEmpty(oaURL))
+ throw new WrongParametersException("StartAuthentication", PARAM_OA);
+ }
+ AuthenticationSession session;
+ OAAuthParameter oaParam;
+ if (sessionID != null) {
+ session = getSession(sessionID);
+ oaParam =
+ AuthConfigurationProvider.getInstance().getOnlineApplicationParameter(
+ session.getPublicOAURLPrefix());
+ } else {
+ oaParam =
+ AuthConfigurationProvider.getInstance().getOnlineApplicationParameter(oaURL);
+ if (oaParam == null)
+ throw new AuthenticationException("auth.00", new Object[] { oaURL });
+ if (!oaParam.getBusinessService()) {
+ if (isEmpty(target))
+ throw new WrongParametersException("StartAuthentication", PARAM_TARGET);
+ } else {
+ target = null;
+ }
+ session = newSession();
+ Logger.info("MOASession " + session.getSessionID() + " angelegt");
+ session.setTarget(target);
+ session.setOAURLRequested(oaURL);
+ session.setPublicOAURLPrefix(oaParam.getPublicURLPrefix());
+ session.setAuthURL(authURL);
+ session.setTemplateURL(templateURL);
+ session.setBusinessService(oaParam.getBusinessService());
+ }
+ // BKU URL has not been set yet, even if session already exists
+ if (bkuURL == null) {
+ bkuURL = DEFAULT_BKU;
+ }
+ session.setBkuURL(bkuURL);
+ String infoboxReadRequest =
+ new InfoboxReadRequestBuilder().build(oaParam.getSlVersion12(),
+ oaParam.getBusinessService(),
+ oaParam.getIdentityLinkDomainIdentifier());
+ String dataURL =
+ new DataURLBuilder().buildDataURL(
+ session.getAuthURL(),
+ REQ_VERIFY_IDENTITY_LINK,
+ session.getSessionID());
+ String template = null;
+ // override template url by url from configuration file
+ if (oaParam.getTemplateURL() != null) {
+ templateURL = oaParam.getTemplateURL();
+ } else {
+ templateURL = session.getTemplateURL();
+ }
+ if (templateURL != null) {
+ try {
+ template = new String(FileUtils.readURL(templateURL));
+ } catch (IOException ex) {
+ throw new AuthenticationException(
+ "auth.03",
+ new Object[] { templateURL, ex.toString()},
+ ex);
+ }
+ }
+ String pushInfobox = "";
+ VerifyInfoboxParameters verifyInfoboxParameters = oaParam.getVerifyInfoboxParameters();
+ if (verifyInfoboxParameters != null) {
+ pushInfobox = verifyInfoboxParameters.getPushInfobox();
+ }
+ String certInfoRequest = new CertInfoVerifyXMLSignatureRequestBuilder().build(oaParam.getSlVersion12());
+ String certInfoDataURL =
+ new DataURLBuilder().buildDataURL(
+ session.getAuthURL(),
+ REQ_START_AUTHENTICATION,
+ session.getSessionID());
+ String htmlForm =
+ new GetIdentityLinkFormBuilder().build(
+ template,
+ bkuURL,
+ infoboxReadRequest,
+ dataURL,
+ certInfoRequest,
+ certInfoDataURL,
+ pushInfobox);
+ return htmlForm;
+ }
+ /**
+ * Processes an <InfoboxReadResponse> sent by the
+ * security layer implementation.
+ *
+ *
Validates given <InfoboxReadResponse>
+ *
Parses identity link enclosed in <InfoboxReadResponse>
+ *
Verifies identity link by calling the MOA SP component
+ *
Checks certificate authority of identity link
+ *
Stores identity link in the session
+ *
Verifies all additional infoboxes returned from the BKU
+ *
Creates an authentication block to be signed by the user
+ *
Creates and returns a <CreateXMLSignatureRequest>
+ * containg the authentication block, meant to be returned to the
+ * security layer implementation
+ *
+ *
+ * @param sessionID ID of associated authentication session data
+ * @param infoboxReadResponseParameters The parameters from the response returned from
+ * the BKU including the <InfoboxReadResponse>
+ * @return String representation of the <CreateXMLSignatureRequest>
+ */
+ public String verifyIdentityLink(String sessionID, Map infoboxReadResponseParameters)
+ throws
+ AuthenticationException,
+ BuildException,
+ ParseException,
+ ConfigurationException,
+ ValidateException,
+ ServiceException {
+
+ if (isEmpty(sessionID))
+ throw new AuthenticationException("auth.10", new Object[] { REQ_VERIFY_IDENTITY_LINK, PARAM_SESSIONID});
+
+ String xmlInfoboxReadResponse = (String)infoboxReadResponseParameters.get(PARAM_XMLRESPONSE);
+ if (isEmpty(xmlInfoboxReadResponse))
+ throw new AuthenticationException("auth.10", new Object[] { REQ_VERIFY_IDENTITY_LINK, PARAM_XMLRESPONSE});
+
+ AuthenticationSession session = getSession(sessionID);
+ if (session.getTimestampIdentityLink() != null)
+ throw new AuthenticationException("auth.01", new Object[] { sessionID });
+ session.setTimestampIdentityLink();
+ AuthConfigurationProvider authConf = AuthConfigurationProvider.getInstance();
+ // parses the
+ IdentityLink identityLink =
+ new InfoboxReadResponseParser(xmlInfoboxReadResponse).parseIdentityLink();
+ // validates the identity link
+ IdentityLinkValidator.getInstance().validate(identityLink);
+ // builds a for a call of MOA-SP
+ Element domVerifyXMLSignatureRequest =
+ new VerifyXMLSignatureRequestBuilder().build(
+ identityLink,
+ authConf.getMoaSpIdentityLinkTrustProfileID());
+
+ // invokes the call
+ Element domVerifyXMLSignatureResponse =
+ new SignatureVerificationInvoker().verifyXMLSignature(domVerifyXMLSignatureRequest);
+ // parses the
+ VerifyXMLSignatureResponse verifyXMLSignatureResponse =
+ new VerifyXMLSignatureResponseParser(domVerifyXMLSignatureResponse).parseData();
+
+ if (identityLink.getIdentificationType().equalsIgnoreCase(Constants.URN_PREFIX_BASEID)) {
+ }
+
+ OAAuthParameter oaParam =
+ AuthConfigurationProvider.getInstance().getOnlineApplicationParameter(
+ session.getPublicOAURLPrefix());
+
+ // if OA is type is business service the manifest validation result has to be ignored
+ boolean ignoreManifestValidationResult = oaParam.getBusinessService() ? true : false;
+
+ // validates the
+ VerifyXMLSignatureResponseValidator.getInstance().validate(
+ verifyXMLSignatureResponse,
+ authConf.getIdentityLinkX509SubjectNames(),
+ VerifyXMLSignatureResponseValidator.CHECK_IDENTITY_LINK,
+ ignoreManifestValidationResult);
+
+ session.setIdentityLink(identityLink);
+ // now validate the extended infoboxes
+ verifyInfoboxes(session, infoboxReadResponseParameters, !oaParam.getProvideStammzahl());
+ // builds the AUTH-block
+ String authBlock = buildAuthenticationBlock(session);
+// session.setAuthBlock(authBlock);
+ // builds the
+ String[] transformsInfos = oaParam.getTransformsInfos();
+ if ((transformsInfos == null) || (transformsInfos.length == 0)) {
+ // no OA specific transforms specified, use default ones
+ transformsInfos = authConf.getTransformsInfos();
+ }
+ String createXMLSignatureRequest =
+ new CreateXMLSignatureRequestBuilder().build(authBlock,
+ oaParam.getKeyBoxIdentifier(),
+ transformsInfos,
+ oaParam.getSlVersion12());
+ return createXMLSignatureRequest;
+ }
+ /**
+ * Builds an authentication block <saml:Assertion> from given session data.
+ * @param session authentication session
+ *
+ * @return <saml:Assertion> as a String
+ *
+ * @throws BuildException If an error occurs on serializing an extended SAML attribute
+ * to be appended to the AUTH-Block.
+ */
+ private String buildAuthenticationBlock(AuthenticationSession session) throws BuildException {
+ IdentityLink identityLink = session.getIdentityLink();
+ String issuer = identityLink.getName();
+ String gebDat = identityLink.getDateOfBirth();
+ String identificationValue = identityLink.getIdentificationValue();
+ String identificationType = identityLink.getIdentificationType();
+ String issueInstant = DateTimeUtils.buildDateTime(Calendar.getInstance());
+ session.setIssueInstant(issueInstant);
+ String authURL = session.getAuthURL();
+ String target = session.getTarget();
+ String oaURL = session.getPublicOAURLPrefix();
+ List extendedSAMLAttributes = session.getExtendedSAMLAttributesAUTH();
+ String authBlock = new AuthenticationBlockAssertionBuilder().buildAuthBlock(
+ issuer,
+ issueInstant,
+ authURL,
+ target,
+ identificationValue,
+ identificationType,
+ oaURL,
+ gebDat,
+ extendedSAMLAttributes,
+ session);
+
+ return authBlock;
+ }
+
+ /**
+ * Verifies the infoboxes (except of the identity link infobox) returned by the BKU by
+ * calling appropriate validator classes.
+ *
+ * @param session The actual authentication session.
+ * @param infoboxReadResponseParams The parameters returned from the BKU as response
+ * to an infobox read request (including the infobox
+ * tokens to be verified).
+ * @param hideStammzahl Indicates whether source pins (Stammzahlen)
+ * should be hidden in any SAML attribute that may be
+ * returned by a validator.
+ *
+ * @throws AuthenticationException If the verification of at least one infobox fails.
+ * @throws ConfigurationException If the OAuthParameter cannot be extracted.
+ */
+ private void verifyInfoboxes(
+ AuthenticationSession session, Map infoboxReadResponseParams, boolean hideStammzahl)
+ throws ValidateException, ConfigurationException
+ {
+
+ AuthConfigurationProvider authConfigurationProvider = AuthConfigurationProvider.getInstance();
+ // get the default VerifyInfobox parameters
+ Map defaultInfoboxParameters = null;
+ VerifyInfoboxParameters defaultVerifyInfoboxParameters =
+ authConfigurationProvider.getDefaultVerifyInfoboxParameters();
+ if (defaultVerifyInfoboxParameters != null) {
+ defaultInfoboxParameters = defaultVerifyInfoboxParameters.getInfoboxParameters();
+ }
+ // get the OA specific VerifyInfobox parameters
+ Map infoboxParameters = null;
+ OAAuthParameter oaParam =
+ authConfigurationProvider.getOnlineApplicationParameter(session.getPublicOAURLPrefix());
+ VerifyInfoboxParameters verifyInfoboxParameters = oaParam.getVerifyInfoboxParameters();
+ if (verifyInfoboxParameters != null) {
+ Vector authAttributes = new Vector();
+ Vector oaAttributes = new Vector();
+ infoboxParameters = verifyInfoboxParameters.getInfoboxParameters();
+ // get the list of infobox identifiers
+ List identifiers = verifyInfoboxParameters.getIdentifiers();
+ if (identifiers != null) {
+ // step through the identifiers and verify the infoboxes
+ Iterator it = identifiers.iterator();
+ while (it.hasNext()) {
+ String identifier = (String)it.next();
+ // get the infobox read response from the map of parameters
+ String infoboxReadResponse = (String)infoboxReadResponseParams.get(identifier);
+ // get the configuration parameters
+ VerifyInfoboxParameter verifyInfoboxParameter = null;
+ Object object = infoboxParameters.get(identifier);
+ // if not present, use default
+ if ((object == null) && (defaultInfoboxParameters != null)) {
+ object = defaultInfoboxParameters.get(identifier);
+ }
+ if (object != null) {
+ verifyInfoboxParameter = (VerifyInfoboxParameter)object;
+ }
+ if (infoboxReadResponse != null) {
+ if (verifyInfoboxParameter == null) {
+ // should not happen because of the pushinfobox mechanism; check it anyway
+ Logger.error("No validator for verifying \"" + identifier + "\"-infobox configured.");
+ throw new ValidateException("validator.41", new Object[] {identifier});
+ } else {
+ String friendlyName = verifyInfoboxParameter.getFriendlyName();
+ // get the class for validating the infobox
+ InfoboxValidator infoboxValidator = null;
+ try {
+ Class validatorClass = Class.forName(verifyInfoboxParameter.getValidatorClassName());
+ infoboxValidator = (InfoboxValidator) validatorClass.newInstance();
+ } catch (Exception e) {
+ Logger.error("Could not load validator class \"" + verifyInfoboxParameter.getValidatorClassName() +
+ "\" for \"" + identifier + "\"-infobox: " + e.getMessage());
+ throw new ValidateException("validator.42", new Object[] {friendlyName});
+ }
+ Logger.debug("Successfully loaded validator class \"" + verifyInfoboxParameter.getValidatorClassName() +
+ "\" for \"" + identifier + "\"-infobox.");
+ // parse the infobox read reponse
+ List infoboxTokenList = null;
+ try {
+ infoboxTokenList =
+ ExtendedInfoboxReadResponseParser.parseInfoboxReadResponse(infoboxReadResponse, friendlyName);
+ } catch (ParseException e) {
+ Logger.error("InfoboxReadResponse for \"" + identifier +
+ "\"-infobox could not be parsed successfully: " + e.getMessage());
+ throw new ValidateException("validator.43", new Object[] {friendlyName});
+ }
+ // build the parameters for validating the infobox
+ InfoboxValidatorParams infoboxValidatorParams =
+ InfoboxValidatorParamsBuilder.buildInfoboxValidatorParams(
+ session, verifyInfoboxParameter, infoboxTokenList, hideStammzahl);
+ // now validate the infobox
+ InfoboxValidationResult infoboxValidationResult = null;
+ try {
+ infoboxValidationResult = infoboxValidator.validate(infoboxValidatorParams);
+ } catch (ValidateException e) {
+ Logger.error("Error validating " + identifier + " infobox:" + e.getMessage());
+ throw new ValidateException(
+ "validator.44", new Object[] {friendlyName});
+ }
+ if (!infoboxValidationResult.isValid()) {
+ Logger.info("Validation of " + identifier + " infobox failed.");
+ throw new ValidateException(
+ "validator.40", new Object[] {friendlyName, infoboxValidationResult.getErrorMessage()});
+ }
+
+ Logger.info(identifier + " infobox successfully validated.");
+
+ // get the SAML attributes to be appended to the AUTHBlock or to the final
+ // SAML Assertion
+ ExtendedSAMLAttribute[] extendedSAMLAttributes = infoboxValidationResult.getExtendedSamlAttributes();
+ if (extendedSAMLAttributes != null) {
+ int length = extendedSAMLAttributes.length;
+ for (int i=0; i<CreateXMLSignatureResponse> sent by the
+ * security layer implementation.
+ *
+ *
Validates given <CreateXMLSignatureResponse>
+ *
Parses <CreateXMLSignatureResponse> for error codes
+ *
Parses authentication block enclosed in
+ * <CreateXMLSignatureResponse>
+ *
Verifies authentication block by calling the MOA SP component
+ *
Creates authentication data
+ *
Creates a corresponding SAML artifact
+ *
Stores authentication data in the authentication data store
+ * indexed by the SAML artifact
+ *
Deletes authentication session
+ *
Returns the SAML artifact, encoded BASE64
+ *
+ *
+ * @param sessionID session ID of the running authentication session
+ * @param xmlCreateXMLSignatureReadResponse String representation of the
+ * <CreateXMLSignatureResponse>
+ * @return SAML artifact needed for retrieving authentication data, encoded BASE64
+ */
+ public String verifyAuthenticationBlock(
+ String sessionID,
+ String xmlCreateXMLSignatureReadResponse)
+ throws
+ AuthenticationException,
+ BuildException,
+ ParseException,
+ ConfigurationException,
+ ServiceException,
+ ValidateException {
+
+ if (isEmpty(sessionID))
+ throw new AuthenticationException("auth.10", new Object[] { REQ_VERIFY_AUTH_BLOCK, PARAM_SESSIONID});
+ if (isEmpty(xmlCreateXMLSignatureReadResponse))
+ throw new AuthenticationException("auth.10", new Object[] { REQ_VERIFY_AUTH_BLOCK, PARAM_XMLRESPONSE});
+ AuthenticationSession session = getSession(sessionID);
+ AuthConfigurationProvider authConf = AuthConfigurationProvider.getInstance();
+ // parses
+ CreateXMLSignatureResponse csresp =
+ new CreateXMLSignatureResponseParser(xmlCreateXMLSignatureReadResponse).parseResponse();
+ try {
+ String serializedAssertion = DOMUtils.serializeNode(csresp.getSamlAssertion());
+ session.setAuthBlock(serializedAssertion);
+ } catch (TransformerException e) {
+ throw new ParseException("parser.04", new Object[] { REQ_VERIFY_AUTH_BLOCK, PARAM_XMLRESPONSE});
+ } catch (IOException e) {
+ throw new ParseException("parser.04", new Object[] { REQ_VERIFY_AUTH_BLOCK, PARAM_XMLRESPONSE});
+ }
+ // validates
+ new CreateXMLSignatureResponseValidator().validate(csresp, session);
+ // builds a for a MOA-SPSS call
+ String[] vtids = authConf.getMoaSpAuthBlockVerifyTransformsInfoIDs();
+ String tpid = authConf.getMoaSpAuthBlockTrustProfileID();
+ Element domVsreq = new VerifyXMLSignatureRequestBuilder().build(csresp, vtids, tpid);
+ // debug output
+
+ // invokes the call
+ Element domVsresp = new SignatureVerificationInvoker().verifyXMLSignature(domVsreq);
+ // debug output
+
+ // parses the
+ VerifyXMLSignatureResponse vsresp = new VerifyXMLSignatureResponseParser(domVsresp).parseData();
+ // validates the
+ VerifyXMLSignatureResponseValidator.getInstance().validate(
+ vsresp,
+ null,
+ VerifyXMLSignatureResponseValidator.CHECK_AUTH_BLOCK,
+ false);
+
+
+ // TODO See Bug #144
+ // Compare AuthBlock Data with information stored in session, especially date and time
+
+
+ // compares the public keys from the identityLink with the AuthBlock
+ VerifyXMLSignatureResponseValidator.getInstance().validateCertificate(
+ vsresp,
+ session.getIdentityLink());
+
+ // builds authentication data and stores it together with a SAML artifact
+ AuthenticationData authData = buildAuthenticationData(session, vsresp);
+ String samlArtifact =
+ new SAMLArtifactBuilder().build(session.getAuthURL(), session.getSessionID());
+ storeAuthenticationData(samlArtifact, authData);
+ // invalidates the authentication session
+ sessionStore.remove(sessionID);
+ Logger.info(
+ "Anmeldedaten zu MOASession " + sessionID + " angelegt, SAML Artifakt " + samlArtifact);
+ return samlArtifact;
+ }
+ /**
+ * Builds the AuthenticationData object together with the
+ * corresponding <saml:Assertion>
+ * @param session authentication session
+ * @param verifyXMLSigResp VerifyXMLSignatureResponse from MOA-SP
+ * @return AuthenticationData object
+ * @throws ConfigurationException while accessing configuration data
+ * @throws BuildException while building the <saml:Assertion>
+ */
+ private AuthenticationData buildAuthenticationData(
+ AuthenticationSession session,
+ VerifyXMLSignatureResponse verifyXMLSigResp)
+ throws ConfigurationException, BuildException {
+
+ IdentityLink identityLink = session.getIdentityLink();
+ AuthenticationData authData = new AuthenticationData();
+ OAAuthParameter oaParam =
+ AuthConfigurationProvider.getInstance().getOnlineApplicationParameter(
+ session.getPublicOAURLPrefix());
+ boolean businessService = oaParam.getBusinessService();
+ authData.setMajorVersion(1);
+ authData.setMinorVersion(0);
+ authData.setAssertionID(Random.nextRandom());
+ authData.setIssuer(session.getAuthURL());
+ authData.setIssueInstant(DateTimeUtils.buildDateTime(Calendar.getInstance()));
+
+ authData.setIdentificationType(identityLink.getIdentificationType());
+ authData.setGivenName(identityLink.getGivenName());
+ authData.setFamilyName(identityLink.getFamilyName());
+ authData.setDateOfBirth(identityLink.getDateOfBirth());
+ authData.setQualifiedCertificate(verifyXMLSigResp.isQualifiedCertificate());
+ authData.setPublicAuthority(verifyXMLSigResp.isPublicAuthority());
+ authData.setPublicAuthorityCode(verifyXMLSigResp.getPublicAuthorityCode());
+ authData.setBkuURL(session.getBkuURL());
+ boolean provideStammzahl = oaParam.getProvideStammzahl();
+ if (provideStammzahl) {
+ authData.setIdentificationValue(identityLink.getIdentificationValue());
+ }
+ String prPerson = new PersonDataBuilder().build(identityLink, provideStammzahl);
+ try {
+ String signerCertificateBase64 = "";
+ if (oaParam.getProvideCertifcate()) {
+ X509Certificate signerCertificate = verifyXMLSigResp.getX509certificate();
+ if (signerCertificate != null) {
+ signerCertificateBase64 = Base64Utils.encode(signerCertificate.getEncoded());
+ } else {
+ Logger.info("\"provideCertificate\" is \"true\", but no signer certificate available");
+ }
+ }
+ authData.setSignerCertificate(signerCertificateBase64);
+ if (businessService) {
+ authData.setWBPK(identityLink.getIdentificationValue());
+ } else {
+ // only compute bPK if online applcation is a public service
+ String bpkBase64 =
+ new BPKBuilder().buildBPK(
+ identityLink.getIdentificationValue(),
+ session.getTarget());
+ authData.setBPK(bpkBase64);
+ }
+ String ilAssertion =
+ oaParam.getProvideIdentityLink()
+ ? identityLink.getSerializedSamlAssertion()
+ : "";
+ if (!oaParam.getProvideStammzahl()) {
+ ilAssertion = StringUtils.replaceAll(ilAssertion, identityLink.getIdentificationValue(), "");
+ }
+ String authBlock = oaParam.getProvideAuthBlock() ? session.getAuthBlock() : "";
+ String samlAssertion =
+ new AuthenticationDataAssertionBuilder().build(
+ authData,
+ prPerson,
+ authBlock,
+ ilAssertion,
+ session.getBkuURL(),
+ signerCertificateBase64,
+ businessService,
+ session.getExtendedSAMLAttributesOA());
+ authData.setSamlAssertion(samlAssertion);
+ return authData;
+ } catch (Throwable ex) {
+ throw new BuildException(
+ "builder.00",
+ new Object[] { "AuthenticationData", ex.toString()},
+ ex);
+ }
+ }
+ /**
+ * Retrieves AuthenticationData indexed by the SAML artifact.
+ * The AuthenticationData is deleted from the store upon end of this call.
+ *
+ * @return AuthenticationData
+ */
+ public AuthenticationData getAuthenticationData(String samlArtifact)
+ throws AuthenticationException {
+ String assertionHandle;
+ try {
+ assertionHandle = new SAMLArtifactParser(samlArtifact).parseAssertionHandle();
+ } catch (ParseException ex) {
+ throw new AuthenticationException("1205", new Object[] { samlArtifact, ex.toString()});
+ }
+ AuthenticationData authData = null;
+ synchronized (authenticationDataStore) {
+ authData = (AuthenticationData) authenticationDataStore.get(assertionHandle);
+ if (authData == null) {
+ Logger.error("Assertion not found for SAML Artifact: " + samlArtifact);
+ throw new AuthenticationException("1206", new Object[] { samlArtifact });
+ }
+ authenticationDataStore.remove(assertionHandle);
+ }
+ long now = new Date().getTime();
+ if (now - authData.getTimestamp().getTime() > authDataTimeOut)
+ throw new AuthenticationException("1207", new Object[] { samlArtifact });
+ Logger.debug("Assertion delivered for SAML Artifact: " + samlArtifact);
+ return authData;
+ }
+ /**
+ * Stores authentication data indexed by the assertion handle contained in the
+ * given saml artifact.
+ * @param samlArtifact SAML artifact
+ * @param authData authentication data
+ * @throws AuthenticationException when SAML artifact is invalid
+ */
+ private void storeAuthenticationData(String samlArtifact, AuthenticationData authData)
+ throws AuthenticationException {
+
+ try {
+ SAMLArtifactParser parser = new SAMLArtifactParser(samlArtifact);
+ // check type code 0x0001
+ byte[] typeCode = parser.parseTypeCode();
+ if (typeCode[0] != 0 || typeCode[1] != 1)
+ throw new AuthenticationException("auth.06", new Object[] { samlArtifact });
+ String assertionHandle = parser.parseAssertionHandle();
+ synchronized (authenticationDataStore) {
+ Logger.debug("Assertion stored for SAML Artifact: " + samlArtifact);
+ authenticationDataStore.put(assertionHandle, authData);
+ }
+ } catch (AuthenticationException ex) {
+ throw ex;
+ } catch (Throwable ex) {
+ throw new AuthenticationException("auth.06", new Object[] { samlArtifact });
+ }
+ }
+ /**
+ * Creates a new session and puts it into the session store.
+ *
+ * @param id Session ID
+ * @return AuthenticationSession created
+ * @exception AuthenticationException
+ * thrown when an AuthenticationSession is running
+ * already for the given session ID
+ */
+ private static AuthenticationSession newSession() throws AuthenticationException {
+ String sessionID = Random.nextRandom();
+ AuthenticationSession newSession = new AuthenticationSession(sessionID);
+ synchronized (sessionStore) {
+ AuthenticationSession session = (AuthenticationSession) sessionStore.get(sessionID);
+ if (session != null)
+ throw new AuthenticationException("auth.01", new Object[] { sessionID });
+ sessionStore.put(sessionID, newSession);
+ }
+ return newSession;
+ }
+ /**
+ * Retrieves a session from the session store.
+ *
+ * @param id session ID
+ * @return AuthenticationSession stored with given session ID,
+ * null if session ID unknown
+ */
+ public static AuthenticationSession getSession(String id) throws AuthenticationException {
+ AuthenticationSession session = (AuthenticationSession) sessionStore.get(id);
+ if (session == null)
+ throw new AuthenticationException("auth.02", new Object[] { id });
+ return session;
+ }
+ /**
+ * Cleans up expired session and authentication data stores.
+ */
+ public void cleanup() {
+ long now = new Date().getTime();
+ synchronized (sessionStore) {
+ Set keys = new HashSet(sessionStore.keySet());
+ for (Iterator iter = keys.iterator(); iter.hasNext();) {
+ String sessionID = (String) iter.next();
+ AuthenticationSession session = (AuthenticationSession) sessionStore.get(sessionID);
+ if (now - session.getTimestampStart().getTime() > sessionTimeOut) {
+ Logger.info(
+ MOAIDMessageProvider.getInstance().getMessage(
+ "cleaner.02",
+ new Object[] { sessionID }));
+ sessionStore.remove(sessionID);
+ }
+ }
+ }
+ synchronized (authenticationDataStore) {
+ Set keys = new HashSet(authenticationDataStore.keySet());
+ for (Iterator iter = keys.iterator(); iter.hasNext();) {
+ String samlArtifact = (String) iter.next();
+ AuthenticationData authData =
+ (AuthenticationData) authenticationDataStore.get(samlArtifact);
+ if (now - authData.getTimestamp().getTime() > authDataTimeOut) {
+ Logger.info(
+ MOAIDMessageProvider.getInstance().getMessage(
+ "cleaner.03",
+ new Object[] { samlArtifact }));
+ authenticationDataStore.remove(samlArtifact);
+ }
+ }
+ }
+ }
+
+ /**
+ * Sets the sessionTimeOut.
+ * @param seconds Time out of the session in seconds
+ */
+ public void setSecondsSessionTimeOut(long seconds) {
+ sessionTimeOut = 1000 * seconds;
+ }
+ /**
+ * Sets the authDataTimeOut.
+ * @param seconds Time out for signing AuthData in seconds
+ */
+ public void setSecondsAuthDataTimeOut(long seconds) {
+ authDataTimeOut = 1000 * seconds;
+ }
+
+ /**
+ * Checks a parameter.
+ * @param param parameter
+ * @return true if the parameter is null or empty
+ */
+ private boolean isEmpty(String param) {
+ return param == null || param.length() == 0;
+ }
+
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationSessionCleaner.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationSessionCleaner.java
new file mode 100644
index 000000000..7e5ed6ec7
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationSessionCleaner.java
@@ -0,0 +1,52 @@
+package at.gv.egovernment.moa.id.auth;
+
+import at.gv.egovernment.moa.id.util.MOAIDMessageProvider;
+import at.gv.egovernment.moa.logging.Logger;
+
+/**
+ * Thread cleaning the AuthenticationServer session store
+ * and authentication data store from garbage.
+ *
+ * @author Paul Ivancsics
+ * @version $Id$
+ */
+public class AuthenticationSessionCleaner implements Runnable {
+
+ /** interval the AuthenticationSessionCleaner is run in */
+ private static final long SESSION_CLEANUP_INTERVAL = 30 * 60; // 30 min
+
+ /**
+ * Runs the thread. Cleans the AuthenticationServer session store
+ * and authentication data store from garbage, then sleeps for given interval, and restarts.
+ */
+ public void run() {
+ while (true) {
+ try {
+ Logger.debug("AuthenticationSessionCleaner run");
+ AuthenticationServer.getInstance().cleanup();
+ }
+ catch (Exception e) {
+ Logger.error(MOAIDMessageProvider.getInstance().getMessage("cleaner.01", null), e);
+ }
+ try {
+ Thread.sleep(SESSION_CLEANUP_INTERVAL * 1000);
+ }
+ catch (InterruptedException e) {
+ }
+ }
+ }
+
+ /**
+ * start the sessionCleaner
+ */
+ public static void start() {
+ // start the session cleanup thread
+ Thread sessionCleaner =
+ new Thread(new AuthenticationSessionCleaner());
+ sessionCleaner.setName("SessionCleaner");
+ sessionCleaner.setDaemon(true);
+ sessionCleaner.setPriority(Thread.MIN_PRIORITY);
+ sessionCleaner.start();
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthConstants.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthConstants.java
new file mode 100644
index 000000000..43e88e7b5
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthConstants.java
@@ -0,0 +1,75 @@
+package at.gv.egovernment.moa.id.auth;
+
+import iaik.asn1.ObjectID;
+
+
+/**
+ * Constants used throughout moa-id-auth component.
+ *
+ * @author Paul Ivancsics
+ * @version $Id$
+ */
+public interface MOAIDAuthConstants {
+
+ /** servlet parameter "Target" */
+ public static final String PARAM_TARGET = "Target";
+ /** servlet parameter "OA" */
+ public static final String PARAM_OA = "OA";
+ /** servlet parameter "bkuURI" */
+ public static final String PARAM_BKU = "bkuURI";
+ /** servlet parameter "BKUSelectionTemplate" */
+ public static final String PARAM_BKUTEMPLATE = "BKUSelectionTemplate";
+ /** default BKU URL */
+ public static final String DEFAULT_BKU = "http://localhost:3495/http-security-layer-request";
+ /** servlet parameter "returnURI" */
+ public static final String PARAM_RETURN = "returnURI";
+ /** servlet parameter "Template" */
+ public static final String PARAM_TEMPLATE = "Template";
+ /** servlet parameter "MOASessionID" */
+ public static final String PARAM_SESSIONID = "MOASessionID";
+ /** servlet parameter "XMLResponse" */
+ public static final String PARAM_XMLRESPONSE = "XMLResponse";
+ /** servlet parameter "SAMLArtifact" */
+ public static final String PARAM_SAMLARTIFACT = "SAMLArtifact";
+ /** Request name {@link at.gv.egovernment.moa.id.auth.servlet.StartAuthenticationServlet} is mapped to */
+ public static final String REQ_START_AUTHENTICATION = "StartAuthentication";
+ /** Request name {@link at.gv.egovernment.moa.id.auth.servlet.VerifyIdentityLinkServlet} is mapped to */
+ public static final String REQ_VERIFY_IDENTITY_LINK = "VerifyIdentityLink";
+ /** Request name {@link at.gv.egovernment.moa.id.auth.servlet.VerifyAuthenticationBlockServlet} is mapped to */
+ public static final String REQ_VERIFY_AUTH_BLOCK = "VerifyAuthBlock";
+ /** Logging hierarchy used for controlling debug output of XML structures to files */
+ public static final String DEBUG_OUTPUT_HIERARCHY = "moa.id.auth";
+ /** Header Name for controlling the caching mechanism of the browser */
+ public static final String HEADER_EXPIRES = "Expires";
+ /** Header Value for controlling the caching mechanism of the browser */
+ public static final String HEADER_VALUE_EXPIRES = "Sat, 6 May 1995 12:00:00 GMT";
+ /** Header Name for controlling the caching mechanism of the browser */
+ public static final String HEADER_PRAGMA = "Pragma";
+ /** Header Value for controlling the caching mechanism of the browser */
+ public static final String HEADER_VALUE_PRAGMA = "no-cache";
+ /** Header Name for controlling the caching mechanism of the browser */
+ public static final String HEADER_CACHE_CONTROL = "Cache-control";
+ /** Header Value for controlling the caching mechanism of the browser */
+ public static final String HEADER_VALUE_CACHE_CONTROL = "no-store, no-cache, must-revalidate";
+ /** Header Value for controlling the caching mechanism of the browser */
+ public static final String HEADER_VALUE_CACHE_CONTROL_IE = "post-check=0, pre-check=0";
+ /**
+ * the identity link signer X509Subject names of those identity link signer certificates
+ * not including the identity link signer OID. The authorisation for signing the identity
+ * link must be checked by using their issuer names. After february 19th 2007 the OID of
+ * the certificate will be used fo checking the authorisation for signing identity links.
+ */
+ public static final String[] IDENTITY_LINK_SIGNERS_WITHOUT_OID =
+ new String[] {"T=Dr.,CN=Nikolaus Schwab,O=BM f. Inneres i.A. des gf. Mitgieds der Datenschutzkommission",
+ "T=Dr.,CN=Nikolaus Schwab,O=BM f. Inneres i.A. des gf. Mitglieds der Datenschutzkommission"};
+ /**
+ * the number of the certifcate extension "Eigenschaft zur Ausstellung von Personenbindungen"
+ */
+ public static final String IDENTITY_LINK_SIGNER_OID_NUMBER = "1.2.40.0.10.1.7.1";
+ /**
+ * the OID of the identity link signer certificate (Eigenschaft zur Ausstellung von Personenbindungen);
+ * used for checking the authorisation for signing the identity link for identity links signed after february 19th 2007
+ */
+ public static final ObjectID IDENTITY_LINK_SIGNER_OID = new ObjectID(IDENTITY_LINK_SIGNER_OID_NUMBER);
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthInitializer.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthInitializer.java
new file mode 100644
index 000000000..7964e2fb6
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthInitializer.java
@@ -0,0 +1,163 @@
+package at.gv.egovernment.moa.id.auth;
+
+import iaik.pki.PKIException;
+import iaik.pki.jsse.IAIKX509TrustManager;
+
+import java.io.IOException;
+import java.security.GeneralSecurityException;
+import java.util.Properties;
+
+import javax.activation.CommandMap;
+import javax.activation.MailcapCommandMap;
+import javax.mail.Session;
+import javax.net.ssl.SSLSocketFactory;
+
+import at.gv.egovernment.moa.id.config.ConfigurationException;
+import at.gv.egovernment.moa.id.config.ConnectionParameter;
+import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
+import at.gv.egovernment.moa.id.iaik.config.LoggerConfigImpl;
+import at.gv.egovernment.moa.id.util.AxisSecureSocketFactory;
+import at.gv.egovernment.moa.id.util.MOAIDMessageProvider;
+import at.gv.egovernment.moa.id.util.SSLUtils;
+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.server.config.ConfigurationProvider;
+import at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator;
+import at.gv.egovernment.moa.util.Constants;
+
+/**
+ * Web application initializer
+ *
+ * @author Paul Ivancsics
+ * @version $Id$
+ */
+public class MOAIDAuthInitializer {
+
+ /** a boolean identifying if the MOAIDAuthInitializer has been startet */
+ public static boolean initialized = false;
+
+ /**
+ * Initializes the web application components which need initialization:
+ * logging, JSSE, MOA-ID Auth configuration, Axis, session cleaner.
+ */
+ public static void initialize() throws ConfigurationException,
+ PKIException, IOException, GeneralSecurityException {
+ if (initialized) return;
+ initialized = true;
+ Logger.setHierarchy("moa.id.auth");
+ Logger.info("Default java file.encoding: "
+ + System.getProperty("file.encoding"));
+
+ //JDK bug workaround according to:
+ // http://jce.iaik.tugraz.at/products/03_cms/faq/index.php#JarVerifier
+ // register content data handlers for S/MIME types
+ MailcapCommandMap mc = new MailcapCommandMap();
+ CommandMap.setDefaultCommandMap(mc);
+
+ // create some properties and get the default Session
+ Properties props = new Properties();
+ props.put("mail.smtp.host", "localhost");
+ Session session = Session.getDefaultInstance(props, null);
+
+ // Restricts TLS cipher suites
+ System.setProperty(
+ "https.cipherSuites",
+ "SSL_RSA_WITH_RC4_128_SHA,SSL_RSA_WITH_RC4_128_MD5,SSL_RSA_WITH_3DES_EDE_CBC_SHA");
+ // load some jsse classes so that the integrity of the jars can be
+ // verified
+ // before the iaik jce is installed as the security provider
+ // this workaround is only needed when sun jsse is used in conjunction
+ // with
+ // iaik-jce (on jdk1.3)
+ ClassLoader cl = MOAIDAuthInitializer.class.getClassLoader();
+ try {
+ cl.loadClass("javax.security.cert.Certificate"); // from jcert.jar
+ } catch (ClassNotFoundException e) {
+ Logger.warn(MOAIDMessageProvider.getInstance().getMessage(
+ "init.01", null), e);
+ }
+
+ // Initializes SSLSocketFactory store
+ SSLUtils.initialize();
+
+ // Initializes Namespace Map
+ Constants.nSMap.put(Constants.SAML_PREFIX, Constants.SAML_NS_URI);
+ Constants.nSMap.put(Constants.ECDSA_PREFIX,
+ "http://www.w3.org/2001/04/xmldsig-more#");
+ Constants.nSMap.put(Constants.DSIG_PREFIX, Constants.DSIG_NS_URI);
+
+ // Loads the configuration
+ AuthConfigurationProvider authConf = AuthConfigurationProvider.reload();
+ ConnectionParameter moaSPConnParam = authConf
+ .getMoaSpConnectionParameter();
+
+ // If MOA-SP API calls: loads MOA-SP configuration and configures IAIK
+ if (moaSPConnParam == null) {
+ try {
+ LoggingContextManager.getInstance().setLoggingContext(
+ new LoggingContext("startup"));
+ ConfigurationProvider config = ConfigurationProvider
+ .getInstance();
+ new IaikConfigurator().configure(config);
+ } catch (at.gv.egovernment.moa.spss.server.config.ConfigurationException ex) {
+ throw new ConfigurationException("config.10", new Object[] { ex
+ .toString() }, ex);
+ }
+ }
+
+ // Initializes IAIKX509TrustManager logging
+ String log4jConfigURL = System.getProperty("log4j.configuration");
+ if (log4jConfigURL != null) {
+ IAIKX509TrustManager.initLog(new LoggerConfigImpl(log4jConfigURL));
+ }
+
+ // Initializes the Axis secure socket factory for use in calling the
+ // MOA-SP web service
+ if (moaSPConnParam != null && moaSPConnParam.isHTTPSURL()) {
+ SSLSocketFactory ssf = SSLUtils.getSSLSocketFactory(authConf,
+ moaSPConnParam);
+ AxisSecureSocketFactory.initialize(ssf);
+ }
+
+ // sets the authentication session and authentication data time outs
+ String param = authConf
+ .getGenericConfigurationParameter(AuthConfigurationProvider.AUTH_SESSION_TIMEOUT_PROPERTY);
+ if (param != null) {
+ long sessionTimeOut = 0;
+ try {
+ sessionTimeOut = new Long(param).longValue();
+ } catch (NumberFormatException ex) {
+ Logger
+ .error(MOAIDMessageProvider
+ .getInstance()
+ .getMessage(
+ "config.05",
+ new Object[] { AuthConfigurationProvider.AUTH_SESSION_TIMEOUT_PROPERTY }));
+ }
+ if (sessionTimeOut > 0)
+ AuthenticationServer.getInstance()
+ .setSecondsSessionTimeOut(sessionTimeOut);
+ }
+ param = authConf
+ .getGenericConfigurationParameter(AuthConfigurationProvider.AUTH_DATA_TIMEOUT_PROPERTY);
+ if (param != null) {
+ long authDataTimeOut = 0;
+ try {
+ authDataTimeOut = new Long(param).longValue();
+ } catch (NumberFormatException ex) {
+ Logger
+ .error(MOAIDMessageProvider
+ .getInstance()
+ .getMessage(
+ "config.05",
+ new Object[] { AuthConfigurationProvider.AUTH_DATA_TIMEOUT_PROPERTY }));
+ }
+ if (authDataTimeOut > 0)
+ AuthenticationServer.getInstance()
+ .setSecondsAuthDataTimeOut(authDataTimeOut);
+ }
+
+ }
+
+}
\ No newline at end of file
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/WrongParametersException.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/WrongParametersException.java
new file mode 100644
index 000000000..3ce2798ea
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/WrongParametersException.java
@@ -0,0 +1,21 @@
+package at.gv.egovernment.moa.id.auth;
+
+import at.gv.egovernment.moa.id.MOAIDException;
+
+/**
+ * Exception thrown when the AuthenticationServer API is
+ * called with wrong parameters provided.
+ *
+ * @author Paul Ivancsics
+ * @version $Id$
+ */
+public class WrongParametersException extends MOAIDException {
+
+ /**
+ * Constructor
+ */
+ public WrongParametersException(String call, String parameter) {
+ super("auth.05", new Object[] {call, parameter});
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationAssertionBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationAssertionBuilder.java
new file mode 100644
index 000000000..241cf0afc
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationAssertionBuilder.java
@@ -0,0 +1,88 @@
+package at.gv.egovernment.moa.id.auth.builder;
+
+import java.io.IOException;
+import java.text.MessageFormat;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.xml.transform.TransformerException;
+
+import org.w3c.dom.Element;
+
+import at.gv.egovernment.moa.id.ParseException;
+import at.gv.egovernment.moa.id.auth.data.ExtendedSAMLAttribute;
+import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.util.DOMUtils;
+import at.gv.egovernment.moa.util.StringUtils;
+
+/**
+ * Base class for building authentication the AUTHBlock and final OA data SAML assertions.
+ * Encapsulates methods used by the two specific builders
+ * {@link at.gv.egovernment.moa.id.auth.builder.AuthenticationBlockAssertionBuilder AuthenticationBlockAssertionBuilder}
+ * and
+ * {@link at.gv.egovernment.moa.id.auth.builder.AuthenticationDataAssertionBuilder AuthenticationDataAssertionBuilder}
+ *
+ * @author Harald Bratko
+ */
+public class AuthenticationAssertionBuilder {
+
+ /** the NewLine representation in Java*/
+ protected static String NL = "\n";
+
+ protected static String SAML_ATTRIBUTE =
+ " " + NL +
+ " {2}" + NL +
+ " "+ NL;
+
+ /**
+ * Empty constructor
+ */
+ public AuthenticationAssertionBuilder() {
+ }
+
+ /**
+ * Builds the SAML attributes to be appended to the AUTHBlock or to the SAML assertion
+ * delivered to the online application.
+ * The method traverses through the list of given SAML attribute objects and builds an
+ * XML structure (String representation) for each of the attributes.
+ *
+ * @param extendedSAMLAttributes The SAML attributes to be appended to the AUTHBlock or
+ * to the SAML assertion delivered to the online application.
+ * @return A string representation including the XML structures of
+ * the SAML attributes.
+ *
+ * @throws ParseException If an error occurs on serializing an SAML attribute.
+ */
+ protected String buildExtendedSAMLAttributes(List extendedSAMLAttributes) throws ParseException
+ {
+ StringBuffer sb = new StringBuffer();
+ if (extendedSAMLAttributes!=null) {
+ Iterator it = extendedSAMLAttributes.iterator();
+ while (it.hasNext()) {
+ ExtendedSAMLAttribute extendedSAMLAttribute = (ExtendedSAMLAttribute)it.next();
+ Object value = extendedSAMLAttribute.getValue();
+ String name = extendedSAMLAttribute.getName();
+ String namespace = extendedSAMLAttribute.getNameSpace();
+ if (value instanceof String) {
+ sb.append(MessageFormat.format( SAML_ATTRIBUTE, new Object[] {name, namespace, value}));
+ } else if (value instanceof Element) {
+ try {
+ String serializedValue = DOMUtils.serializeNode((Element)(value));
+ serializedValue = StringUtils.removeXMLDeclaration(serializedValue);
+ sb.append(MessageFormat.format( SAML_ATTRIBUTE, new Object[] {name, namespace, serializedValue}));
+ } catch (TransformerException e) {
+ Logger.error("Error on serializing SAML attribute \"" + name +
+ " (namespace: \"" + namespace + "\".");
+ throw new ParseException("parser.05", new Object[] { name, namespace});
+ } catch (IOException e) {
+ Logger.error("Error on serializing SAML attribute \"" + name +
+ " (namespace: \"" + namespace + "\".");
+ throw new ParseException("parser.05", new Object[] { name, namespace});
+ }
+ }
+ }
+ }
+ return sb.toString();
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationBlockAssertionBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationBlockAssertionBuilder.java
new file mode 100644
index 000000000..60cd11ed6
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationBlockAssertionBuilder.java
@@ -0,0 +1,146 @@
+package at.gv.egovernment.moa.id.auth.builder;
+
+import java.text.MessageFormat;
+import java.util.List;
+
+import at.gv.egovernment.moa.id.BuildException;
+import at.gv.egovernment.moa.id.ParseException;
+import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
+import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.util.Constants;
+
+/**
+ * Builder for the authentication block <saml:Assertion>
+ * to be included in a <CreateXMLSignatureResponse>.
+ *
+ * @author Paul Ivancsics
+ * @version $Id$
+ */
+public class AuthenticationBlockAssertionBuilder extends AuthenticationAssertionBuilder implements Constants {
+
+ /** template for the Auth-Block */
+ private static String AUTH_BLOCK =
+ "" + NL +
+ " " + NL +
+ " " + NL +
+ " {3}" + NL +
+ " " + NL +
+ "{4}" +
+ " " + NL +
+ " {5}" + NL +
+ " " + NL +
+ " " + NL +
+ " {6}" + NL +
+ " " + NL +
+ "{7}" +
+ " " + NL +
+ "";
+
+ private static String GESCHAEFTS_BEREICH_ATTRIBUTE =
+ " " + NL +
+ " {0}" + NL +
+ " " + NL;
+
+ private static String WBPK_ATTRIBUTE =
+ " " + NL +
+ " " + NL +
+ " " + NL +
+ " {0}" + NL +
+ " {1}" + NL +
+ " " + NL +
+ " " + NL +
+ " " + NL;
+
+ /**
+ * The number of SAML attributes included in this AUTH-Block (without the extended SAML attributes).
+ */
+ public static final int NUM_OF_SAML_ATTRIBUTES = 3;
+
+ /**
+ * Constructor for AuthenticationBlockAssertionBuilder.
+ */
+ public AuthenticationBlockAssertionBuilder() {
+ super();
+ }
+
+ /**
+ * Builds the authentication block <saml:Assertion>
+ *
+ * @param issuer authentication block issuer; "GivenName FamilyName"
+ * @param issueInstant current timestamp
+ * @param authURL URL of MOA-ID authentication component
+ * @param target "Geschäftsbereich"; maybe null if the application
+ * is a business application
+ * @param identityLinkValue the content of the <pr:Value>
+ * child element of the <pr:Identification>
+ * element derived from the Identitylink; this is the
+ * value of the wbPK;
+ * maybe null if the application is a public service
+ * @param identityLinkType the content of the <pr:Type>
+ * child element of the <pr:Identification>
+ * element derived from the Identitylink; this includes the
+ * URN prefix and the identification number of the business
+ * application used as input for wbPK computation;
+ * maybe null if the application is a public service
+ * @param oaURL public URL of online application requested
+ * @param gebDat The date of birth from the identity link.
+ * @param extendedSAMLAttributes The SAML attributes to be appended to the AUTHBlock.
+ *
+ * @return String representation of authentication block
+ * <saml:Assertion> built
+ *
+ * @throws BuildException If an error occurs on serializing an extended SAML attribute
+ * to be appended to the AUTH-Block.
+ */
+ public String buildAuthBlock(
+ String issuer,
+ String issueInstant,
+ String authURL,
+ String target,
+ String identityLinkValue,
+ String identityLinkType,
+ String oaURL,
+ String gebDat,
+ List extendedSAMLAttributes,
+ AuthenticationSession session)
+ throws BuildException
+ {
+ session.setSAMLAttributeGebeORwbpk(true);
+ String gebeORwbpk = "";
+ String wbpkNSDeclaration = "";
+ if (target == null) {
+ // OA is a business application
+ if (!Constants.URN_PREFIX_HPI.equals(identityLinkType)) {
+ // Only add wbPKs to AUTH-Block. HPIs can be added to the AUTH-Block by the corresponding Validator
+ gebeORwbpk = MessageFormat.format(WBPK_ATTRIBUTE, new Object[] { identityLinkValue, identityLinkType });
+ wbpkNSDeclaration = " xmlns:pr=\"" + PD_NS_URI + "\"";
+ } else {
+ // We do not have a wbPK, therefore no SAML-Attribute is provided
+ session.setSAMLAttributeGebeORwbpk(false);
+ }
+ } else {
+ gebeORwbpk = MessageFormat.format(GESCHAEFTS_BEREICH_ATTRIBUTE, new Object[] { target });
+ }
+
+ String assertion;
+ try {
+ assertion = MessageFormat.format(
+ AUTH_BLOCK, new Object[] {
+ wbpkNSDeclaration,
+ issuer,
+ issueInstant,
+ authURL,
+ gebeORwbpk,
+ oaURL,
+ gebDat,
+ buildExtendedSAMLAttributes(extendedSAMLAttributes)});
+ } catch (ParseException e) {
+ Logger.error("Error on building AUTH-Block: " + e.getMessage());
+ throw new BuildException("builder.00", new Object[] { "AUTH-Block", e.toString()});
+ }
+
+ return assertion;
+
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataAssertionBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataAssertionBuilder.java
new file mode 100644
index 000000000..53520c846
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/AuthenticationDataAssertionBuilder.java
@@ -0,0 +1,156 @@
+package at.gv.egovernment.moa.id.auth.builder;
+
+import java.text.MessageFormat;
+import java.util.List;
+
+import at.gv.egovernment.moa.id.BuildException;
+import at.gv.egovernment.moa.id.ParseException;
+import at.gv.egovernment.moa.id.data.AuthenticationData;
+import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.util.Constants;
+import at.gv.egovernment.moa.util.StringUtils;
+
+/**
+ * Builder for the authentication data <saml:Assertion>
+ * to be provided by the MOA ID Auth component.
+ *
+ * @author Paul Ivancsics
+ * @version $Id$
+ */
+public class AuthenticationDataAssertionBuilder extends AuthenticationAssertionBuilder implements Constants {
+ /** private static String NL contains the NewLine representation in Java*/
+ private static final String NL = "\n";
+ /**
+ * XML template for the <saml:Assertion> to be built
+ */
+ private static final String AUTH_DATA =
+ "" + NL +
+ "" + NL +
+ " " + NL +
+ " " + NL +
+ " {4}" + NL +
+ " " + NL +
+ " " + MOA_NS_URI + "cm" + NL +
+ " {5}{6}" + NL +
+ " " + NL +
+ " " + NL +
+ " " + NL +
+ " {7}" + NL +
+ " " + NL +
+ " " + NL +
+ " {8}" + NL +
+ " " + NL +
+ " " + NL +
+ " {9}" + NL +
+ " " + NL +
+ "{10}" +
+ "{11}" +
+ "{12}" +
+ " " + NL +
+ "";
+ /**
+ * XML template for the <saml:Attribute> named "isPublicAuthority",
+ * to be inserted into the <saml:Assertion>
+ */
+ private static final String PUBLIC_AUTHORITY_ATT =
+ " " + NL +
+ " {0}" + NL +
+ " " + NL;
+
+ private static final String SIGNER_CERTIFICATE_ATT =
+ " " + NL +
+ " {0}" + NL +
+ " " + NL;
+
+ /**
+ * Constructor for AuthenticationDataAssertionBuilder.
+ */
+ public AuthenticationDataAssertionBuilder() {
+ super();
+ }
+
+ /**
+ * Builds the authentication data <saml:Assertion>.
+ *
+ * @param authData the AuthenticationData to build the
+ * <saml:Assertion> from
+ * @param xmlPersonData lt;pr:Person> element as a String
+ * @param xmlAuthBlock authentication block to be included in a
+ * lt;saml:SubjectConfirmationData> element; may include
+ * the "Stammzahl" or not; may be empty
+ * @param xmlIdentityLink the IdentityLink
+ * @param signerCertificateBase64 Base64 encoded certificate of the signer. Maybe
+ * an empty string if the signer certificate should not be provided.
+ * Will be ignored if the businessService parameter is
+ * set to false.
+ * @param businessService true if the online application is a
+ * business service, otherwise false
+ * @return the <saml:Assertion>
+ * @throws BuildException if an error occurs during the build process
+ */
+ public String build(
+ AuthenticationData authData,
+ String xmlPersonData,
+ String xmlAuthBlock,
+ String xmlIdentityLink,
+ String bkuURL,
+ String signerCertificateBase64,
+ boolean businessService,
+ List extendedSAMLAttributes)
+ throws BuildException
+ {
+
+ String isQualifiedCertificate = authData.isQualifiedCertificate() ? "true" : "false";
+ String publicAuthorityAttribute = "";
+ if (authData.isPublicAuthority()) {
+ String publicAuthorityIdentification = authData.getPublicAuthorityCode();
+ if (publicAuthorityIdentification == null)
+ publicAuthorityIdentification = "True";
+ publicAuthorityAttribute = MessageFormat.format(
+ PUBLIC_AUTHORITY_ATT, new Object[] { publicAuthorityIdentification });
+ }
+
+
+ String signerCertificateAttribute = "";
+ if (signerCertificateBase64 != "") {
+ signerCertificateAttribute = MessageFormat.format(
+ SIGNER_CERTIFICATE_ATT, new Object[] { signerCertificateBase64 });
+ }
+
+ String pkType;
+ String pkValue;
+ if (businessService) {
+ pkType = authData.getIdentificationType();
+ pkValue = authData.getWBPK();
+
+ } else {
+ pkType = URN_PREFIX_BPK;
+ pkValue = authData.getBPK();
+ }
+
+ String assertion;
+ try {
+ assertion = MessageFormat.format(AUTH_DATA, new Object[] {
+ authData.getAssertionID(),
+ authData.getIssuer(),
+ authData.getIssueInstant(),
+ pkType,
+ pkValue,
+ StringUtils.removeXMLDeclaration(xmlAuthBlock),
+ StringUtils.removeXMLDeclaration(xmlIdentityLink),
+ StringUtils.removeXMLDeclaration(xmlPersonData),
+ isQualifiedCertificate,
+ bkuURL,
+ publicAuthorityAttribute,
+ signerCertificateAttribute,
+ buildExtendedSAMLAttributes(extendedSAMLAttributes)});
+ } catch (ParseException e) {
+ Logger.error("Error on building Authentication Data Assertion: " + e.getMessage());
+ throw new BuildException("builder.00", new Object[] { "Authentication Data Assertion", e.toString()});
+ }
+ return assertion;
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/BPKBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/BPKBuilder.java
new file mode 100644
index 000000000..6cc8c1be8
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/BPKBuilder.java
@@ -0,0 +1,49 @@
+package at.gv.egovernment.moa.id.auth.builder;
+
+import java.security.MessageDigest;
+
+import at.gv.egovernment.moa.id.BuildException;
+import at.gv.egovernment.moa.util.Base64Utils;
+import at.gv.egovernment.moa.util.Constants;
+
+/**
+ * Builder for the bPK, as defined in
+ * "Ableitung f¨r die bereichsspezifische Personenkennzeichnung"
+ * version 1.0.1 from "reference.e-government.gv.at".
+ *
+ * @author Paul Schamberger
+ * @version $Id$
+ */
+public class BPKBuilder {
+
+ /**
+ * Builds the bPK from the given parameters.
+ * @param identificationValue Base64 encoded "Stammzahl"
+ * @param target "Bereich lt. Verordnung des BKA"
+ * @return bPK in a BASE64 encoding
+ * @throws BuildException if an error occurs on building the bPK
+ */
+ public String buildBPK(String identificationValue, String target)
+ throws BuildException {
+
+ if ((identificationValue == null ||
+ identificationValue.length() == 0 ||
+ target == null ||
+ target.length() == 0))
+ {
+ throw new BuildException("builder.00",
+ new Object[] {"BPK", "Unvollständige Parameterangaben: identificationValue=" +
+ identificationValue + ",target=" + target});
+ }
+ String basisbegriff = identificationValue + "+" + Constants.URN_PREFIX_CDID + "+" + target;
+ try {
+ MessageDigest md = MessageDigest.getInstance("SHA-1");
+ byte[] hash = md.digest(basisbegriff.getBytes("ISO-8859-1"));
+ String hashBase64 = Base64Utils.encode(hash);
+ return hashBase64;
+ } catch (Exception ex) {
+ throw new BuildException("builder.00", new Object[] {"BPK", ex.toString()}, ex);
+ }
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/Builder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/Builder.java
new file mode 100644
index 000000000..3a2ee07de
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/Builder.java
@@ -0,0 +1,59 @@
+package at.gv.egovernment.moa.id.auth.builder;
+
+import at.gv.egovernment.moa.id.BuildException;
+import at.gv.egovernment.moa.util.StringUtils;
+
+/**
+ * Base class for HTML/XML builders providing commonly useful functions.
+ *
+ * @author Paul Ivancsics
+ * @version $Id$
+ */
+public class Builder {
+
+ /**
+ * Replaces a given number of occurences of a special tag in an XML or HTML template by a value.
+ * @param template html template
+ * @param tag special tag
+ * @param value value replacing the tag
+ * @param expected specifies if the tag is expected to present; if true and the tag
+ * is not present, an exception is thrown; if false and the tag is
+ * not present, the original string is returned
+ * @param maxreplacements Set -1 to replace each occurence of tag, or limit replacements by a given positive number
+ * @return XML or HTML code, the tag replaced
+ * @throws BuildException when template does not contain the tag
+ */
+ protected String replaceTag(
+ String template,
+ String tag,
+ String value,
+ boolean expected,
+ int maxreplacements)
+ throws BuildException
+ {
+ String result = template;
+ int index = result.indexOf(tag);
+ if (index < 0) {
+ if (expected) {
+ // Substring not found but should
+ throw new BuildException(
+ "builder.01",
+ new Object[] {"<" + tag.substring(1, tag.length() - 1) + ">"});
+ }
+ } else {
+ // replace each occurence
+ if (maxreplacements == -1) {
+ return StringUtils.replaceAll(template, tag, value);
+ } else {
+ int found = 1;
+ while (index > -1 && (found <= maxreplacements)) {
+ result = result.substring(0, index) + value + result.substring(index + tag.length());
+ index = result.indexOf(tag);
+ if (index > -1) found += 1;
+ }
+ }
+ }
+ return result;
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/CertInfoVerifyXMLSignatureRequestBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/CertInfoVerifyXMLSignatureRequestBuilder.java
new file mode 100644
index 000000000..06c81f49e
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/CertInfoVerifyXMLSignatureRequestBuilder.java
@@ -0,0 +1,84 @@
+package at.gv.egovernment.moa.id.auth.builder;
+
+import java.io.IOException;
+import java.text.MessageFormat;
+
+import at.gv.egovernment.moa.id.BuildException;
+import at.gv.egovernment.moa.util.Constants;
+import at.gv.egovernment.moa.util.FileUtils;
+
+/**
+ * Builder for the <VerifyXMLSignatureRequest> structure
+ * used for presenting certificate information in the secure viewer of the security layer implementation.
+ *
+ * @author Paul Ivancsics
+ * @version $Id$
+ */
+public class CertInfoVerifyXMLSignatureRequestBuilder extends Builder implements Constants {
+
+ /** special tag in the VerifyXMLRequest template to be substituted for a <dsig:Signature> */
+ private static final String SIGNATURE_TAG = "";
+
+ /** private static String nl contains the NewLine representation in Java*/
+ private static final String nl = "\n";
+
+ /**
+ * XML template for the CertInfoVerifyXMLSignatureRequest to be built
+ */
+ static final String CERTINFO_REQUEST =
+ "" + nl +
+ "<{0}:VerifyXMLSignatureRequest {2} xmlns:dsig=\"" + DSIG_NS_URI + "\">" + nl +
+ " <{0}:SignatureInfo>" + nl +
+ " <{0}:SignatureEnvironment>" + nl +
+ " <{1}:XMLContent xml:space=\"preserve\">{1}:XMLContent>" + nl +
+ " {0}:SignatureEnvironment>" + nl +
+ " <{0}:SignatureLocation>//dsig:Signature{0}:SignatureLocation>" + nl +
+ " {0}:SignatureInfo>" + nl +
+ "{0}:VerifyXMLSignatureRequest>";
+
+ /**
+ * Constructor
+ */
+ public CertInfoVerifyXMLSignatureRequestBuilder() {
+ super();
+ }
+ /**
+ * Builds the <VerifyXMLSignatureRequest> structure.
+ * @return the XML structure
+ * @throws BuildException
+ */
+ public String build(boolean slVersion12) throws BuildException {
+
+ String sl10Prefix;
+ String sl11Prefix;
+ String slNsDeclaration;
+
+ if (slVersion12) {
+
+ sl10Prefix = SL12_PREFIX;
+ sl11Prefix = SL12_PREFIX;
+ slNsDeclaration = "xmlns:" + SL12_PREFIX + "=\"" + SL12_NS_URI + "\"";
+
+ } else {
+
+ sl10Prefix = SL10_PREFIX;
+ sl11Prefix = SL11_PREFIX;
+ slNsDeclaration = "xmlns:" + sl11Prefix + "=\"" + SL11_NS_URI + "\" xmlns:" + sl10Prefix + "=\"" + SL10_NS_URI + "\"";
+
+ }
+
+ String certInfoRequest = MessageFormat.format(CERTINFO_REQUEST, new Object[] {sl11Prefix, sl10Prefix, slNsDeclaration});
+ String resDsigSignature = "resources/xmldata/CertInfoDsigSignature.xml";
+
+
+ try {
+ String dsigSignature = FileUtils.readResource(resDsigSignature, "UTF-8");
+ certInfoRequest = replaceTag(certInfoRequest, SIGNATURE_TAG, dsigSignature, true, 1);
+ return certInfoRequest;
+ }
+ catch (IOException ex) {
+ throw new BuildException("auth.04", new Object[] {resDsigSignature, ex.toString()});
+ }
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/CreateXMLSignatureRequestBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/CreateXMLSignatureRequestBuilder.java
new file mode 100644
index 000000000..e9a9f308d
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/CreateXMLSignatureRequestBuilder.java
@@ -0,0 +1,93 @@
+package at.gv.egovernment.moa.id.auth.builder;
+
+import java.text.MessageFormat;
+
+import at.gv.egovernment.moa.util.Constants;
+import at.gv.egovernment.moa.util.StringUtils;
+
+/**
+ * Builder for the <CreateXMLSignatureRequest> structure
+ * used for requesting a signature under the authentication block from the
+ * security layer implementation.
+ *
+ * @author Paul Ivancsics
+ * @version $Id$
+ */
+public class CreateXMLSignatureRequestBuilder implements Constants {
+ /** private static String nl contains the NewLine representation in Java*/
+ private static final String nl = "\n";
+ /**
+ * XML template for the <moa:CreateXMLSignatureRequest> to be built
+ */
+ private static final String CREATE_XML_SIGNATURE_REQUEST =
+ "" + nl +
+ "<{3}:CreateXMLSignatureRequest xmlns:dsig=''" + DSIG_NS_URI + "'' {5}>" + nl +
+ " <{3}:KeyboxIdentifier>{1}{3}:KeyboxIdentifier>" + nl +
+ " <{3}:DataObjectInfo Structure=''detached''>" + nl +
+ " <{4}:DataObject Reference=''''/>" + nl +
+ "{2}" +
+ " {3}:DataObjectInfo>" + nl +
+ " <{3}:SignatureInfo>" + nl +
+ " <{3}:SignatureEnvironment>" + nl +
+ " <{4}:XMLContent>{0}{4}:XMLContent>" + nl +
+ " {3}:SignatureEnvironment>" + nl +
+ " <{3}:SignatureLocation Index=''2''>/saml:Assertion{3}:SignatureLocation>" + nl +
+ " {3}:SignatureInfo>" + nl +
+ "{3}:CreateXMLSignatureRequest>";
+
+
+ /**
+ * Constructor for CreateXMLSignatureRequestBuilder.
+ */
+ public CreateXMLSignatureRequestBuilder() {
+ super();
+ }
+
+ /**
+ * Builds the <CreateXMLSignatureRequest>.
+ *
+ * @param authBlock String representation of XML authentication block
+ * @param keyBoxIdentifier the key box identifier which will be used (e.g. CertifiedKeypair)
+ * @param slVersion12 specifies whether the Security Layer version number is 1.2 or not
+ * @return String representation of <CreateXMLSignatureRequest>
+ */
+ public String build(String authBlock, String keyBoxIdentifier, String[] dsigTransformInfos, boolean slVersion12) {
+
+ String sl10Prefix;
+ String sl11Prefix;
+ String slNsDeclaration;
+
+ String dsigTransformInfosString = "";
+ for (int i = 0; i < dsigTransformInfos.length; i++) {
+ dsigTransformInfosString += dsigTransformInfos[i];
+ }
+
+ if (slVersion12) {
+
+ // replace the SecurityLayer namespace prefixes and URIs within the transforms
+ dsigTransformInfosString = StringUtils.changeSLVersion(dsigTransformInfosString,
+ SL10_PREFIX, SL12_PREFIX,
+ SL10_NS_URI, SL12_NS_URI);
+ sl10Prefix = SL12_PREFIX;
+ sl11Prefix = SL12_PREFIX;
+ slNsDeclaration = "xmlns:" + SL12_PREFIX + "='" + SL12_NS_URI + "'";
+
+ } else {
+
+ sl10Prefix = SL10_PREFIX;
+ sl11Prefix = SL11_PREFIX;
+ slNsDeclaration = "xmlns:" + sl10Prefix + "='" + SL10_NS_URI + "' xmlns:" + sl11Prefix + "='" + SL11_NS_URI + "'";
+
+ }
+
+ String request = MessageFormat.format(
+ CREATE_XML_SIGNATURE_REQUEST, new Object[] { authBlock,
+ keyBoxIdentifier,
+ dsigTransformInfosString,
+ sl11Prefix,
+ sl10Prefix,
+ slNsDeclaration });
+
+ return request;
+ }
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/DataURLBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/DataURLBuilder.java
new file mode 100644
index 000000000..30cc1df5a
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/DataURLBuilder.java
@@ -0,0 +1,83 @@
+package at.gv.egovernment.moa.id.auth.builder;
+
+import at.gv.egovernment.moa.id.auth.servlet.AuthServlet;
+import at.gv.egovernment.moa.id.config.ConfigurationException;
+import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider;
+import at.gv.egovernment.moa.id.util.MOAIDMessageProvider;
+import at.gv.egovernment.moa.logging.Logger;
+
+/**
+ * Builds a DataURL parameter meant for the security layer implementation
+ * to respond to.
+ *
+ * @author Paul Ivancsics
+ * @version $Id$
+ */
+public class DataURLBuilder {
+
+ /**
+ * Constructor for DataURLBuilder.
+ */
+ public DataURLBuilder() {
+ super();
+ }
+
+ /**
+ * Constructs a data URL for VerifyIdentityLink or VerifyAuthenticationBlock,
+ * including the MOASessionID as a parameter.
+ *
+ * @param authBaseURL base URL (context path) of the MOA ID Authentication component,
+ * including a trailing '/'
+ * @param authServletName request part of the data URL
+ * @param sessionID sessionID to be included in the dataURL
+ * @return String
+ */
+ public String buildDataURL(String authBaseURL, String authServletName, String sessionID) {
+
+ String individualDataURLPrefix = null;
+ String dataURL;
+ try {
+ //check if an individual prefix is configured
+ individualDataURLPrefix = AuthConfigurationProvider.getInstance().
+ getGenericConfigurationParameter(AuthConfigurationProvider.INDIVIDUAL_DATA_URL_PREFIX);
+
+ if (null != individualDataURLPrefix) {
+
+ //check individualDataURLPrefix
+ if(!individualDataURLPrefix.startsWith("http"))
+ throw(new ConfigurationException("config.13", new Object[] { individualDataURLPrefix}));
+
+ //when ok then use it
+ dataURL = individualDataURLPrefix + authServletName;
+ } else
+ dataURL = authBaseURL + authServletName;
+
+ } catch (ConfigurationException e) {
+ Logger.warn(e);
+ Logger.warn(MOAIDMessageProvider.getInstance().getMessage("config.12", new Object[] { authBaseURL } ));
+ dataURL = authBaseURL + authServletName;
+ }
+
+ dataURL = addParameter(dataURL, AuthServlet.PARAM_SESSIONID, sessionID);
+ return dataURL;
+ }
+
+ /**
+ * Method addParameter.
+ * @param urlString represents the url
+ * @param paramname is the parameter to be added
+ * @param value is the value of that parameter
+ * @return String
+ */
+ private String addParameter(String urlString, String paramname, String value) {
+ String url = urlString;
+ if (paramname != null) {
+ if (url.indexOf("?") < 0)
+ url += "?";
+ else
+ url += "&";
+ url += paramname + "=" + value;
+ }
+ return url;
+ }
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/GetIdentityLinkFormBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/GetIdentityLinkFormBuilder.java
new file mode 100644
index 000000000..0d0595b69
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/GetIdentityLinkFormBuilder.java
@@ -0,0 +1,150 @@
+package at.gv.egovernment.moa.id.auth.builder;
+
+import java.io.IOException;
+import java.io.StringReader;
+import java.io.StringWriter;
+
+import at.gv.egovernment.moa.id.BuildException;
+
+/**
+ * Builder for HTML form requesting the security layer implementation
+ * to get the identity link from smartcard by a <InfoboxReadRequest>.
+ *
+ * @author Paul Ivancsics
+ * @version $Id$
+ */
+public class GetIdentityLinkFormBuilder extends Builder {
+ /** private static String NL contains the NewLine representation in Java*/
+ private static final String nl = "\n";
+ /** special tag in the HTML template to be substituted for the BKU URL */
+ private static final String BKU_TAG = "";
+ /** special tag in the HTML template to be substituted for the XML request */
+ private static final String XMLREQUEST_TAG = "";
+ /** special tag in the HTML template to be substituted for the data URL */
+ private static final String DATAURL_TAG = "";
+ /** special tag in the HTML template to be substituted for certificate info XML request */
+ private static final String CERTINFO_XMLREQUEST_TAG = "";
+ /** special tag in the HTML template to be substituted for the certificate info data URL */
+ private static final String CERTINFO_DATAURL_TAG = "";
+ /** special tag in the HTML template to be substituted for the infoboxes to be pushed from the BKU */
+ private static final String PUSHINFOBOX_TAG = "";
+ /** private static int all contains the representation to replace all tags*/
+ private static final int ALL = -1;
+
+ /** default HTML template */
+ private static final String DEFAULT_HTML_TEMPLATE =
+ "" + nl +
+ "" + nl +
+ "" + nl +
+ "Anmeldung mit Bürgerkarte" + nl +
+ "" + nl +
+ "" + nl +
+ "" + nl +
+ "" + nl +
+ "" + nl +
+ "";
+
+ /**
+ * Constructor for GetIdentityLinkFormBuilder.
+ */
+ public GetIdentityLinkFormBuilder() {
+ super();
+ }
+ /**
+ * Builds the HTML form, including XML Request and data URL as parameters.
+ *
+ * @param htmlTemplate template to be used for the HTML form;
+ * may be null, in this case a default layout will be produced
+ * @param xmlRequest XML Request to be sent as a parameter in the form
+ * @param bkuURL URL of the "Bürgerkartenumgebung" the form will be submitted to;
+ * may be null, in this case the default URL will be used
+ * @param dataURL DataURL to be sent as a parameter in the form
+ */
+ public String build(
+ String htmlTemplate,
+ String bkuURL,
+ String xmlRequest,
+ String dataURL,
+ String certInfoXMLRequest,
+ String certInfoDataURL,
+ String pushInfobox)
+ throws BuildException
+ {
+ String htmlForm = htmlTemplate == null ? DEFAULT_HTML_TEMPLATE : htmlTemplate;
+// String bku = bkuURL == null ? DEFAULT_BKU : bkuURL;
+ htmlForm = replaceTag(htmlForm, BKU_TAG, bkuURL, true, ALL);
+ htmlForm = replaceTag(htmlForm, XMLREQUEST_TAG, encodeParameter(xmlRequest), true, ALL);
+ htmlForm = replaceTag(htmlForm, DATAURL_TAG, dataURL, true, ALL);
+ htmlForm = replaceTag(htmlForm, PUSHINFOBOX_TAG, pushInfobox, false, ALL);
+//new:wird oben mitreplaced htmlForm = replaceTag(htmlForm, BKU_TAG, bkuURL);
+ htmlForm = replaceTag(htmlForm, CERTINFO_XMLREQUEST_TAG, encodeParameter(certInfoXMLRequest), true, ALL);
+ htmlForm = replaceTag(htmlForm, CERTINFO_DATAURL_TAG, certInfoDataURL, true, ALL);
+ return htmlForm;
+ }
+ /**
+ * Encodes a string for inclusion as a parameter in the form.
+ * Double quotes are substituted by """.
+ * @param s the string to be encoded
+ * @return the string encoded
+ * @throws BuildException on any exception encountered
+ */
+ public static String encodeParameter(String s) throws BuildException {
+ StringReader in = new StringReader(s);
+ StringWriter out = new StringWriter();
+ try {
+ for (int ch = in.read(); ch >= 0; ch = in.read()) {
+ if (ch == '"')
+ out.write(""");
+ else if (ch == '<')
+ out.write("<");
+ else if (ch == '>')
+ out.write(">");
+ else if (ch == 'ä')
+ out.write("ä");
+ else if (ch == 'ö')
+ out.write("ö");
+ else if (ch == 'ü')
+ out.write("ü");
+ else if (ch == 'Ä')
+ out.write("Ä");
+ else if (ch == 'Ö')
+ out.write("Ö");
+ else if (ch == 'Ü')
+ out.write("Ü");
+ else if (ch == 'ß')
+ out.write("ß");
+ else
+ out.write(ch);
+ }
+ }
+ catch (IOException ex) {
+ throw new BuildException("builder.00", new Object[] {"GetIdentityLinkForm", ex.toString()});
+ }
+ return out.toString();
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/InfoboxReadRequestBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/InfoboxReadRequestBuilder.java
new file mode 100644
index 000000000..c2bafe43b
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/InfoboxReadRequestBuilder.java
@@ -0,0 +1,86 @@
+package at.gv.egovernment.moa.id.auth.builder;
+
+import at.gv.egovernment.moa.util.Constants;
+
+/**
+ * Builder for the <InfoboxReadRequest> structure
+ * used for requesting the identity link from the security layer implementation.
+ *
+ * @author Paul Ivancsics
+ * @version $Id$
+ */
+public class InfoboxReadRequestBuilder implements Constants {
+
+
+ /**
+ * Constructor for InfoboxReadRequestBuilder.
+ */
+ public InfoboxReadRequestBuilder() {
+ }
+
+
+ /**
+ * Builds an <InfoboxReadRequest>.
+ *
+ * @param slVersion12 specifies whether the Security Layer version is
+ * version 1.2 or not
+ * @param businessService specifies whether the online application is a
+ * business service or not
+ * @param identityLinkDomainIdentifier the identification number of the business
+ * company; maybe null if the OA
+ * is a public service; must not be null
+ * if the OA is a business service
+ *
+ * @return <InfoboxReadRequest> as String
+ */
+ public String build(boolean slVersion12, boolean businessService, String identityLinkDomainIdentifier) {
+
+ String slPrefix;
+ String slNsDeclaration;
+
+ if (slVersion12) {
+ slPrefix = SL12_PREFIX;
+ slNsDeclaration = SL12_NS_URI;
+ } else {
+ slPrefix = SL10_PREFIX;
+ slNsDeclaration = SL10_NS_URI;
+ }
+
+ StringBuffer sb = new StringBuffer("");
+ sb.append("<");
+ sb.append(slPrefix);
+ sb.append(":InfoboxReadRequest xmlns:");
+ sb.append(slPrefix);
+ sb.append("=\"");
+ sb.append(slNsDeclaration);
+ sb.append("\">");
+ sb.append("<");
+ sb.append(slPrefix);
+ sb.append(":InfoboxIdentifier>IdentityLink");
+ sb.append(slPrefix);
+ sb.append(":InfoboxIdentifier>");
+ sb.append("<");
+ sb.append(slPrefix);
+ sb.append(":BinaryFileParameters ContentIsXMLEntity=\"true\"/>");
+ if (businessService) {
+ sb.append("<");
+ sb.append(slPrefix);
+ sb.append(":BoxSpecificParameters>");
+ sb.append("<");
+ sb.append(slPrefix);
+ sb.append(":IdentityLinkDomainIdentifier>");
+ sb.append(identityLinkDomainIdentifier);
+ sb.append("");
+ sb.append("");
+ sb.append(slPrefix);
+ sb.append(":BoxSpecificParameters>");
+ }
+ sb.append("");
+ sb.append(slPrefix);
+ sb.append(":InfoboxReadRequest>");
+
+ return sb.toString();
+
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/InfoboxValidatorParamsBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/InfoboxValidatorParamsBuilder.java
new file mode 100644
index 000000000..038e549be
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/InfoboxValidatorParamsBuilder.java
@@ -0,0 +1,82 @@
+package at.gv.egovernment.moa.id.auth.builder;
+
+import java.util.List;
+
+import org.w3c.dom.Element;
+
+import at.gv.egovernment.moa.id.auth.data.AuthenticationSession;
+import at.gv.egovernment.moa.id.auth.data.IdentityLink;
+import at.gv.egovernment.moa.id.auth.data.InfoboxValidatorParams;
+import at.gv.egovernment.moa.id.auth.data.InfoboxValidatorParamsImpl;
+import at.gv.egovernment.moa.id.auth.parser.IdentityLinkAssertionParser;
+import at.gv.egovernment.moa.id.config.auth.VerifyInfoboxParameter;
+import at.gv.egovernment.moa.util.XPathUtils;
+
+/**
+ * This class provides one method for building parameters needed for
+ * validating an infobox token.
+ *
+ * @author Harald Bratko
+ */
+public class InfoboxValidatorParamsBuilder {
+
+ // hide the default constructor
+ private InfoboxValidatorParamsBuilder() {
+ }
+
+ /**
+ * Builds the parameters passed to the validator class for validating an infobox token.
+ *
+ * @param session The actual Authentication session.
+ * @param verifyInfoboxParameter The configuration parameters for the infobox.
+ * @param infoboxTokenList Contains the infobox token to be validated.
+ * @param hideStammzahl Indicates whether source pins (Stammzahlen)
+ * should be hidden in any SAML attributes returned by
+ * an infobox validator.
+ *
+ * @return Parameters for validating an infobox token.
+ */
+ public static InfoboxValidatorParams buildInfoboxValidatorParams(
+ AuthenticationSession session,
+ VerifyInfoboxParameter verifyInfoboxParameter,
+ List infoboxTokenList,
+ boolean hideStammzahl)
+ {
+ InfoboxValidatorParamsImpl infoboxValidatorParams = new InfoboxValidatorParamsImpl();
+ IdentityLink identityLink = session.getIdentityLink();
+
+ // the infobox token to validate
+ infoboxValidatorParams.setInfoboxTokenList(infoboxTokenList);
+ // configuration parameters
+ infoboxValidatorParams.setTrustProfileID(verifyInfoboxParameter.getTrustProfileID());
+ infoboxValidatorParams.setSchemaLocations(verifyInfoboxParameter.getSchemaLocations());
+ infoboxValidatorParams.setApplicationSpecificParams(verifyInfoboxParameter.getApplicationSpecificParams());
+ // authentication session parameters
+ infoboxValidatorParams.setBkuURL(session.getBkuURL());
+ infoboxValidatorParams.setTarget(session.getTarget());
+ infoboxValidatorParams.setBusinessApplication(session.getBusinessService());
+ // parameters from the identity link
+ infoboxValidatorParams.setFamilyName(identityLink.getFamilyName());
+ infoboxValidatorParams.setGivenName(identityLink.getGivenName());
+ infoboxValidatorParams.setDateOfBirth(identityLink.getDateOfBirth());
+ if (verifyInfoboxParameter.getProvideStammzahl()) {
+ infoboxValidatorParams.setIdentificationValue(identityLink.getIdentificationValue());
+ }
+ infoboxValidatorParams.setIdentificationType(identityLink.getIdentificationType());
+ infoboxValidatorParams.setPublicKeys(identityLink.getPublicKey());
+ if (verifyInfoboxParameter.getProvideIdentityLink()) {
+ Element identityLinkElem = (Element)identityLink.getSamlAssertion().cloneNode(true);
+ if (!verifyInfoboxParameter.getProvideStammzahl()) {
+ Element identificationValueElem =
+ (Element)XPathUtils.selectSingleNode(identityLinkElem, IdentityLinkAssertionParser.PERSON_IDENT_VALUE_XPATH);
+ if (identificationValueElem != null) {
+ identificationValueElem.getFirstChild().setNodeValue("");
+ }
+ }
+ infoboxValidatorParams.setIdentityLink(identityLinkElem);
+ }
+ infoboxValidatorParams.setHideStammzahl(hideStammzahl);
+ return infoboxValidatorParams;
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/PersonDataBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/PersonDataBuilder.java
new file mode 100644
index 000000000..819ed79bb
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/PersonDataBuilder.java
@@ -0,0 +1,59 @@
+package at.gv.egovernment.moa.id.auth.builder;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+import at.gv.egovernment.moa.id.BuildException;
+import at.gv.egovernment.moa.id.auth.data.IdentityLink;
+import at.gv.egovernment.moa.util.DOMUtils;
+import at.gv.egovernment.moa.util.XPathUtils;
+
+/**
+ * Builder for the lt;pr:Person> element to be inserted
+ * in the authentication data lt;saml:Assertion>.
+ *
+ * @author Paul Ivancsics
+ * @version $Id$
+ */
+public class PersonDataBuilder {
+
+ /**
+ * Constructor for PersonDataBuilder.
+ */
+ public PersonDataBuilder() {
+ super();
+ }
+ /**
+ * Builds the <pr:Person> element.
+ * Utilizes the parsed <prPerson> from the identity link
+ * and the information regarding inclusion of "Stammzahl" in the
+ * <pr:Person> data.
+ *
+ * @param identityLink IdentityLink containing the
+ * attribute prPerson
+ * @param provideStammzahl true if "Stammzahl" is to be included;
+ * false otherwise
+ * @return the <pr:Person> element as a String
+ * @throws BuildException on any error
+ */
+ public String build(IdentityLink identityLink, boolean provideStammzahl)
+ throws BuildException {
+
+ try {
+ Element prPerson = (Element)identityLink.getPrPerson().cloneNode(true);
+ if (! provideStammzahl) {
+ Node prIdentification = XPathUtils.selectSingleNode(prPerson, "pr:Identification/pr:Value");
+ //remove IdentificationValue
+ prIdentification.getFirstChild().setNodeValue("");
+ }
+ String xmlString = DOMUtils.serializeNode(prPerson);
+ return xmlString;
+ }
+ catch (Exception ex) {
+ throw new BuildException(
+ "builder.00",
+ new Object[] {"PersonData", ex.toString()},
+ ex);
+ }
+ }
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/SAMLArtifactBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/SAMLArtifactBuilder.java
new file mode 100644
index 000000000..27e19e830
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/SAMLArtifactBuilder.java
@@ -0,0 +1,60 @@
+package at.gv.egovernment.moa.id.auth.builder;
+
+import java.io.ByteArrayOutputStream;
+import java.security.MessageDigest;
+
+import at.gv.egovernment.moa.id.BuildException;
+import at.gv.egovernment.moa.util.Base64Utils;
+
+/**
+ * Builder for the SAML artifact, as defined in the
+ * Browser/Artifact profile of SAML.
+ *
+ * @author Paul Ivancsics
+ * @version $Id$
+ */
+public class SAMLArtifactBuilder {
+
+ /**
+ * Constructor for SAMLArtifactBuilder.
+ */
+ public SAMLArtifactBuilder() {
+ super();
+ }
+
+ /**
+ * Builds the SAML artifact, encoded BASE64.
+ *
+ *
TypeCode: 0x0001.
+ *
SourceID: SHA-1 hash of the authURL
+ *
AssertionHandle: SHA-1 hash of the MOASessionID
+ *
+ * @param authURL URL auf the MOA-ID Auth component to be used for construction
+ * of SourceID
+ * @param sessionID MOASessionID to be used for construction
+ * of AssertionHandle
+ * @return the 42-byte SAML artifact, encoded BASE64
+ */
+ public String build(String authURL, String sessionID) throws BuildException {
+ try {
+ MessageDigest md = MessageDigest.getInstance("SHA-1");
+ byte[] sourceID = md.digest(authURL.getBytes());
+ byte[] assertionHandle = md.digest(sessionID.getBytes());
+ ByteArrayOutputStream out = new ByteArrayOutputStream(42);
+ out.write(0);
+ out.write(1);
+ out.write(sourceID, 0, 20);
+ out.write(assertionHandle, 0, 20);
+ byte[] samlArtifact = out.toByteArray();
+ String samlArtifactBase64 = Base64Utils.encode(samlArtifact);
+ return samlArtifactBase64;
+ }
+ catch (Throwable ex) {
+ throw new BuildException(
+ "builder.00",
+ new Object[] {"SAML Artifact, MOASessionID=" + sessionID, ex.toString()},
+ ex);
+ }
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/SAMLResponseBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/SAMLResponseBuilder.java
new file mode 100644
index 000000000..64cb16181
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/SAMLResponseBuilder.java
@@ -0,0 +1,91 @@
+package at.gv.egovernment.moa.id.auth.builder;
+
+import java.text.MessageFormat;
+
+import org.w3c.dom.Element;
+
+import at.gv.egovernment.moa.id.BuildException;
+import at.gv.egovernment.moa.util.Constants;
+import at.gv.egovernment.moa.util.DOMUtils;
+import at.gv.egovernment.moa.util.StringUtils;
+
+/**
+ * Builder for the lt;samlp:Response> used for passing
+ * result and status information from the GetAuthenticationData
+ * web service.
+ *
+ * @author Paul Ivancsics
+ * @version $Id$
+ */
+public class SAMLResponseBuilder implements Constants {
+ /** XML - Template for samlp:Response */
+ private static final String RESPONSE =
+ "" +
+ "" +
+ " " +
+ " " +
+ " {4}" +
+ " " +
+ " {5}" +
+ " " +
+ " {6}" +
+ "";
+ /** XML - Template for samlp:StatusCode */
+ private static final String SUB_STATUS_CODE =
+ "";
+
+ /**
+ * Constructor for SAMLResponseBuilder.
+ */
+ public SAMLResponseBuilder() {
+ super();
+ }
+ /**
+ * Builds the SAML response.
+ * @param responseID response ID
+ * @param inResponseTo request ID of lt;samlp:Request> responded to
+ * @param issueInstant current timestamp
+ * @param statusCode status code
+ * @param subStatusCode sub-status code refining the status code; may be null
+ * @param statusMessage status message
+ * @param samlAssertion SAML assertion representing authentication data
+ * @return SAML response as a DOM element
+ */
+ public Element build(
+ String responseID,
+ String inResponseTo,
+ String issueInstant,
+ String statusCode,
+ String subStatusCode,
+ String statusMessage,
+ String samlAssertion)
+ throws BuildException {
+
+ try {
+ String xmlSubStatusCode =
+ subStatusCode == null ?
+ "" :
+ MessageFormat.format(SUB_STATUS_CODE, new Object[] {subStatusCode});
+
+ String xmlResponse = MessageFormat.format(RESPONSE, new Object[] {
+ responseID,
+ inResponseTo,
+ issueInstant,
+ statusCode,
+ xmlSubStatusCode,
+ statusMessage,
+ StringUtils.removeXMLDeclaration(samlAssertion) });
+ Element domResponse = DOMUtils.parseDocument(xmlResponse, false, ALL_SCHEMA_LOCATIONS, null).getDocumentElement();
+ return domResponse;
+ }
+ catch (Throwable ex) {
+ throw new BuildException(
+ "builder.00",
+ new Object[] { "samlp:Response", ex.toString() },
+ ex);
+ }
+ }
+
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/SelectBKUFormBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/SelectBKUFormBuilder.java
new file mode 100644
index 000000000..312179e73
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/SelectBKUFormBuilder.java
@@ -0,0 +1,63 @@
+package at.gv.egovernment.moa.id.auth.builder;
+
+import at.gv.egovernment.moa.id.BuildException;
+
+/**
+ * Builder for the BKU selection form requesting the user to choose
+ * a BKU from a list.
+ *
+ * @author Paul Ivancsics
+ * @version $Id$
+ */
+public class SelectBKUFormBuilder extends Builder {
+ /** private static String NL contains the NewLine representation in Java*/
+ private static final String nl = "\n";
+ /** special tag in the HTML template to be substituted for the form action which is
+ * a URL of MOA-ID Auth */
+ private static final String ACTION_TAG = "";
+ /** special tag in the HTML template to be substituted for the <select;gt; tag
+ * containing the BKU selection options */
+ private static final String SELECT_TAG = "";
+ /**
+ * Template for the default html-code to be returned as security-layer-selection to be built
+ */
+ private static final String DEFAULT_HTML_TEMPLATE =
+ "" + nl +
+ "" + nl +
+ "" + nl +
+ "Auswahl der Bürgerkartenumgebung" + nl +
+ "" + nl +
+ "" + nl +
+ "" + nl +
+ "" + nl +
+ "";
+
+ /**
+ * Constructor
+ */
+ public SelectBKUFormBuilder() {
+ super();
+ }
+ /**
+ * Method build. Builds the form
+ * @param htmlTemplate to be used
+ * @param startAuthenticationURL the url where the startAuthenticationServlet can be found
+ * @param bkuSelectTag if a special bku should be used
+ * @return String
+ * @throws BuildException on any error
+ */
+ public String build(String htmlTemplate, String startAuthenticationURL, String bkuSelectTag)
+ throws BuildException {
+
+ String htmlForm = htmlTemplate == null ? DEFAULT_HTML_TEMPLATE : htmlTemplate;
+ htmlForm = replaceTag(htmlForm, ACTION_TAG, startAuthenticationURL, true, 1);
+ htmlForm = replaceTag(htmlForm, SELECT_TAG, bkuSelectTag, true, 1);
+ return htmlForm;
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/VerifyXMLSignatureRequestBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/VerifyXMLSignatureRequestBuilder.java
new file mode 100644
index 000000000..758f28150
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/VerifyXMLSignatureRequestBuilder.java
@@ -0,0 +1,206 @@
+package at.gv.egovernment.moa.id.auth.builder;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+import at.gv.egovernment.moa.id.BuildException;
+import at.gv.egovernment.moa.id.ParseException;
+import at.gv.egovernment.moa.id.auth.data.CreateXMLSignatureResponse;
+import at.gv.egovernment.moa.id.auth.data.IdentityLink;
+import at.gv.egovernment.moa.util.Base64Utils;
+import at.gv.egovernment.moa.util.Constants;
+
+/**
+ * Builder for the <VerifyXMLSignatureRequestBuilder> structure
+ * used for sending the DSIG-Signature of the Security Layer card for validating to MOA-SP.
+ *
+ * @author Stefan Knirsch
+ * @version $Id$
+ */
+public class VerifyXMLSignatureRequestBuilder {
+
+ /** shortcut for XMLNS namespace URI */
+ private static final String XMLNS_NS_URI = Constants.XMLNS_NS_URI;
+ /** shortcut for MOA namespace URI */
+ private static final String MOA_NS_URI = Constants.MOA_NS_URI;
+ /** The DSIG-Prefix */
+ private static final String DSIG = Constants.DSIG_PREFIX + ":";
+
+ /** The document containing the VerifyXMLsignatureRequest */
+ private Document requestDoc_;
+ /** the VerifyXMLsignatureRequest root element */
+ private Element requestElem_;
+
+
+ /**
+ * Builds the body for a VerifyXMLsignatureRequest including the root
+ * element and namespace declarations.
+ *
+ * @throws BuildException If an error occurs on building the document.
+ */
+ public VerifyXMLSignatureRequestBuilder() throws BuildException {
+ try {
+ DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
+ requestDoc_ = docBuilder.newDocument();
+ requestElem_ = requestDoc_.createElementNS(MOA_NS_URI, "VerifyXMLSignatureRequest");
+ requestElem_.setAttributeNS(XMLNS_NS_URI, "xmlns", MOA_NS_URI);
+ requestElem_.setAttributeNS(XMLNS_NS_URI, "xmlns:" + Constants.DSIG_PREFIX, Constants.DSIG_NS_URI);
+ requestDoc_.appendChild(requestElem_);
+ } catch (Throwable t) {
+ throw new BuildException(
+ "builder.00",
+ new Object[] {"VerifyXMLSignatureRequest", t.toString()},
+ t);
+ }
+ }
+
+
+ /**
+ * Builds a <VerifyXMLSignatureRequest>
+ * from an IdentityLink with a known trustProfileID which
+ * has to exist in MOA-SP
+ * @param identityLink - The IdentityLink
+ * @param trustProfileID - a preconfigured TrustProfile at MOA-SP
+ *
+ * @return Element - The complete request as Dom-Element
+ *
+ * @throws ParseException
+ */
+ public Element build(IdentityLink identityLink, String trustProfileID)
+ throws ParseException
+ {
+ try {
+ // build the request
+ Element dateTimeElem = requestDoc_.createElementNS(MOA_NS_URI, "DateTime");
+ requestElem_.appendChild(dateTimeElem);
+ Node dateTime = requestDoc_.createTextNode(identityLink.getIssueInstant());
+ dateTimeElem.appendChild(dateTime);
+ Element verifiySignatureInfoElem =
+ requestDoc_.createElementNS(MOA_NS_URI, "VerifySignatureInfo");
+ requestElem_.appendChild(verifiySignatureInfoElem);
+ Element verifySignatureEnvironmentElem =
+ requestDoc_.createElementNS(MOA_NS_URI, "VerifySignatureEnvironment");
+ verifiySignatureInfoElem.appendChild(verifySignatureEnvironmentElem);
+ Element base64ContentElem = requestDoc_.createElementNS(MOA_NS_URI, "Base64Content");
+ verifySignatureEnvironmentElem.appendChild(base64ContentElem);
+ // insert the base64 encoded identity link SAML assertion
+ String serializedAssertion = identityLink.getSerializedSamlAssertion();
+ String base64EncodedAssertion = Base64Utils.encode(serializedAssertion.getBytes("UTF-8"));
+ //replace all '\r' characters by no char.
+ StringBuffer replaced = new StringBuffer();
+ for (int i = 0; i < base64EncodedAssertion.length(); i ++) {
+ char c = base64EncodedAssertion.charAt(i);
+ if (c != '\r') {
+ replaced.append(c);
+ }
+ }
+ base64EncodedAssertion = replaced.toString();
+ Node base64Content = requestDoc_.createTextNode(base64EncodedAssertion);
+ base64ContentElem.appendChild(base64Content);
+ // specify the signature location
+ Element verifySignatureLocationElem =
+ requestDoc_.createElementNS(MOA_NS_URI, "VerifySignatureLocation");
+ verifiySignatureInfoElem.appendChild(verifySignatureLocationElem);
+ Node signatureLocation = requestDoc_.createTextNode(DSIG + "Signature");
+ verifySignatureLocationElem.appendChild(signatureLocation);
+ // signature manifest params
+ Element signatureManifestCheckParamsElem =
+ requestDoc_.createElementNS(MOA_NS_URI, "SignatureManifestCheckParams");
+ requestElem_.appendChild(signatureManifestCheckParamsElem);
+ signatureManifestCheckParamsElem.setAttribute("ReturnReferenceInputData", "false");
+ // add the transforms
+ Element referenceInfoElem = requestDoc_.createElementNS(MOA_NS_URI, "ReferenceInfo");
+ signatureManifestCheckParamsElem.appendChild(referenceInfoElem);
+ Element[] dsigTransforms = identityLink.getDsigReferenceTransforms();
+ for (int i = 0; i < dsigTransforms.length; i++) {
+ Element verifyTransformsInfoProfileElem =
+ requestDoc_.createElementNS(MOA_NS_URI, "VerifyTransformsInfoProfile");
+ referenceInfoElem.appendChild(verifyTransformsInfoProfileElem);
+ verifyTransformsInfoProfileElem.appendChild(requestDoc_.importNode(dsigTransforms[i], true));
+ }
+ Element returnHashInputDataElem =
+ requestDoc_.createElementNS(MOA_NS_URI, "ReturnHashInputData");
+ requestElem_.appendChild(returnHashInputDataElem);
+ Element trustProfileIDElem = requestDoc_.createElementNS(MOA_NS_URI, "TrustProfileID");
+ trustProfileIDElem.appendChild(requestDoc_.createTextNode(trustProfileID));
+ requestElem_.appendChild(trustProfileIDElem);
+ } catch (Throwable t) {
+ throw new ParseException("builder.00",
+ new Object[] { "VerifyXMLSignatureRequest (IdentityLink)" }, t);
+ }
+
+ return requestElem_;
+ }
+
+
+ /**
+ * Builds a <VerifyXMLSignatureRequest>
+ * from the signed AUTH-Block with a known trustProfileID which
+ * has to exist in MOA-SP
+ * @param csr - signed AUTH-Block
+ * @param verifyTransformsInfoProfileID - allowed verifyTransformsInfoProfileID
+ * @param trustProfileID - a preconfigured TrustProfile at MOA-SP
+ * @return Element - The complete request as Dom-Element
+ * @throws ParseException
+ */
+ public Element build(
+ CreateXMLSignatureResponse csr,
+ String[] verifyTransformsInfoProfileID,
+ String trustProfileID)
+ throws BuildException { //samlAssertionObject
+
+ try {
+ // build the request
+// requestElem_.setAttributeNS(Constants.XMLNS_NS_URI, "xmlns:"
+// + Constants.XML_PREFIX, Constants.XMLNS_NS_URI);
+ Element verifiySignatureInfoElem =
+ requestDoc_.createElementNS(MOA_NS_URI, "VerifySignatureInfo");
+ requestElem_.appendChild(verifiySignatureInfoElem);
+ Element verifySignatureEnvironmentElem =
+ requestDoc_.createElementNS(MOA_NS_URI, "VerifySignatureEnvironment");
+ verifiySignatureInfoElem.appendChild(verifySignatureEnvironmentElem);
+ Element xmlContentElem = requestDoc_.createElementNS(MOA_NS_URI, "XMLContent");
+ verifySignatureEnvironmentElem.appendChild(xmlContentElem);
+ xmlContentElem.setAttribute(Constants.XML_PREFIX + ":space", "preserve");
+ // insert the SAML assertion
+ xmlContentElem.appendChild(requestDoc_.importNode(csr.getSamlAssertion(), true));
+ // specify the signature location
+ Element verifySignatureLocationElem =
+ requestDoc_.createElementNS(MOA_NS_URI, "VerifySignatureLocation");
+ verifiySignatureInfoElem.appendChild(verifySignatureLocationElem);
+ Node signatureLocation = requestDoc_.createTextNode(DSIG + "Signature");
+ verifySignatureLocationElem.appendChild(signatureLocation);
+ // signature manifest params
+ Element signatureManifestCheckParamsElem =
+ requestDoc_.createElementNS(MOA_NS_URI, "SignatureManifestCheckParams");
+ requestElem_.appendChild(signatureManifestCheckParamsElem);
+ signatureManifestCheckParamsElem.setAttribute("ReturnReferenceInputData", "true");
+ // add the transform profile IDs
+ Element referenceInfoElem = requestDoc_.createElementNS(MOA_NS_URI, "ReferenceInfo");
+ signatureManifestCheckParamsElem.appendChild(referenceInfoElem);
+ for (int i = 0; i < verifyTransformsInfoProfileID.length; i++) {
+ Element verifyTransformsInfoProfileIDElem =
+ requestDoc_.createElementNS(MOA_NS_URI, "VerifyTransformsInfoProfileID");
+ referenceInfoElem.appendChild(verifyTransformsInfoProfileIDElem);
+ verifyTransformsInfoProfileIDElem.appendChild(
+ requestDoc_.createTextNode(verifyTransformsInfoProfileID[i]));
+ }
+ Element returnHashInputDataElem =
+ requestDoc_.createElementNS(MOA_NS_URI, "ReturnHashInputData");
+ requestElem_.appendChild(returnHashInputDataElem);
+ Element trustProfileIDElem = requestDoc_.createElementNS(MOA_NS_URI, "TrustProfileID");
+ trustProfileIDElem.appendChild(requestDoc_.createTextNode(trustProfileID));
+ requestElem_.appendChild(trustProfileIDElem);
+
+ } catch (Throwable t) {
+ throw new BuildException("builder.00", new Object[] { "VerifyXMLSignatureRequest" }, t);
+ }
+
+ return requestElem_;
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java
new file mode 100644
index 000000000..90d79a46d
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/AuthenticationSession.java
@@ -0,0 +1,383 @@
+package at.gv.egovernment.moa.id.auth.data;
+
+import java.util.Date;
+import java.util.List;
+
+import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.util.Constants;
+
+/**
+ * Session data to be stored between AuthenticationServer API calls.
+ *
+ * @author Paul Ivancsics
+ * @version $Id$
+ */
+public class AuthenticationSession {
+
+ private static String TARGET_PREFIX_ = Constants.URN_PREFIX_CDID + "+";
+
+ /**
+ * session ID
+ */
+ private String sessionID;
+ /**
+ * "Geschäftsbereich" the online application belongs to; maybe null
+ * if the online application is a business application
+ */
+ private String target;
+ /**
+ * public online application URL requested
+ */
+ private String oaURLRequested;
+ /**
+ * public online application URL prefix
+ */
+ private String oaPublicURLPrefix;
+ /**
+ * URL of MOA ID authentication component
+ */
+ private String authURL;
+ /**
+ * HTML template URL
+ */
+ private String templateURL;
+ /**
+ * URL of the BKU
+ */
+ private String bkuURL;
+ /**
+ * identity link read from smartcard
+ */
+ private IdentityLink identityLink;
+ /**
+ * authentication block to be signed by the user
+ */
+ private String authBlock;
+ /**
+ * timestamp logging when authentication session has been created
+ */
+ private Date timestampStart;
+ /**
+ * timestamp logging when identity link has been received
+ */
+ private Date timestampIdentityLink;
+ /**
+ * Indicates whether the corresponding online application is a business
+ * service or not
+ */
+ private boolean businessService;
+
+ /**
+ * SAML attributes from an extended infobox validation to be appended
+ * to the SAML assertion delivered to the final online application.
+ */
+ private List extendedSAMLAttributesOA;
+
+ /**
+ * The boolean value for either a target or a wbPK is provided as
+ * SAML Attribute in the SAML Assertion or not.
+ */
+ private boolean samlAttributeGebeORwbpk;
+
+ /**
+ * SAML attributes from an extended infobox validation to be appended
+ * to the SAML assertion of the AUTHBlock.
+ */
+ private List extendedSAMLAttributesAUTH;
+
+ /**
+ * The issuing time of the AUTH-Block SAML assertion.
+ */
+ private String issueInstant;
+
+ /**
+ * Constructor for AuthenticationSession.
+ *
+ * @param id Session ID
+ */
+ public AuthenticationSession(String id) {
+ sessionID = id;
+ setTimestampStart();
+ }
+
+ /**
+ * Returns the identityLink.
+ * @return IdentityLink
+ */
+ public IdentityLink getIdentityLink() {
+ return identityLink;
+ }
+
+ /**
+ * Returns the sessionID.
+ * @return String
+ */
+ public String getSessionID() {
+ return sessionID;
+ }
+
+ /**
+ * Sets the identityLink.
+ * @param identityLink The identityLink to set
+ */
+ public void setIdentityLink(IdentityLink identityLink) {
+ this.identityLink = identityLink;
+ }
+
+ /**
+ * Sets the sessionID.
+ * @param sessionId The sessionID to set
+ */
+ public void setSessionID(String sessionId) {
+ this.sessionID = sessionId;
+ }
+
+ /**
+ * Returns the oaURLRequested.
+ * @return String
+ */
+ public String getOAURLRequested() {
+ return oaURLRequested;
+ }
+
+ /**
+ * Returns the oaURLRequested.
+ * @return String
+ */
+ public String getPublicOAURLPrefix() {
+ return oaPublicURLPrefix;
+ }
+
+ /**
+ * Returns the BKU URL.
+ * @return String
+ */
+ public String getBkuURL() {
+ return bkuURL;
+ }
+
+ /**
+ * Returns the target.
+ * @return String
+ */
+ public String getTarget() {
+ return target;
+ }
+
+ /**
+ * Sets the oaURLRequested.
+ * @param oaURLRequested The oaURLRequested to set
+ */
+ public void setOAURLRequested(String oaURLRequested) {
+ this.oaURLRequested = oaURLRequested;
+ }
+
+ /**
+ * Sets the oaPublicURLPrefix
+ * @param oaPublicURLPrefix The oaPublicURLPrefix to set
+ */
+ public void setPublicOAURLPrefix(String oaPublicURLPrefix) {
+ this.oaPublicURLPrefix = oaPublicURLPrefix;
+ }
+
+ /**
+ * Sets the bkuURL
+ * @param bkuURL The BKU URL to set
+ */
+ public void setBkuURL(String bkuURL) {
+ this.bkuURL = bkuURL;
+ }
+
+ /**
+ * Sets the target. If the target includes the target prefix, the prefix will be stripped off.
+ * @param target The target to set
+ */
+ public void setTarget(String target) {
+ if (target != null && target.startsWith(TARGET_PREFIX_))
+ {
+ // If target starts with prefix "urn:publicid:gv.at:cdid+"; remove prefix
+ this.target = target.substring(TARGET_PREFIX_.length());
+ Logger.debug("Target prefix stripped off; resulting target: " + this.target);
+ }
+ else
+ {
+ this.target = target;
+ }
+ }
+
+ /**
+ * Returns the authURL.
+ * @return String
+ */
+ public String getAuthURL() {
+ return authURL;
+ }
+
+ /**
+ * Sets the authURL.
+ * @param authURL The authURL to set
+ */
+ public void setAuthURL(String authURL) {
+ this.authURL = authURL;
+ }
+
+ /**
+ * Returns the authBlock.
+ * @return String
+ */
+ public String getAuthBlock() {
+ return authBlock;
+ }
+
+ /**
+ * Sets the authBlock.
+ * @param authBlock The authBlock to set
+ */
+ public void setAuthBlock(String authBlock) {
+ this.authBlock = authBlock;
+ }
+
+ /**
+ * Returns the timestampIdentityLink.
+ * @return Date
+ */
+ public Date getTimestampIdentityLink() {
+ return timestampIdentityLink;
+ }
+
+ /**
+ * Returns the businessService.
+ * @return true if the corresponding online application is
+ * a business application, otherwise false
+ */
+ public boolean getBusinessService() {
+ return businessService;
+ }
+
+ /**
+ * Sets the businessService variable.
+ * @param businessService the value for setting the businessService variable.
+ */
+ public void setBusinessService(boolean businessService) {
+ this.businessService = businessService;
+ }
+
+ /**
+ * Returns the timestampStart.
+ * @return Date
+ */
+ public Date getTimestampStart() {
+ return timestampStart;
+ }
+
+ /**
+ * Sets the current date as timestampIdentityLink.
+ */
+ public void setTimestampIdentityLink() {
+ timestampIdentityLink = new Date();
+ }
+
+ /**
+ * Sets the current date as timestampStart.
+ */
+ public void setTimestampStart() {
+ timestampStart = new Date();
+ }
+
+ /**
+ * @return template URL
+ */
+ public String getTemplateURL() {
+ return templateURL;
+ }
+
+ /**
+ * @param string the template URL
+ */
+ public void setTemplateURL(String string) {
+ templateURL = string;
+ }
+
+ /**
+ * Returns the SAML Attributes to be appended to the AUTHBlock. Maybe null.
+ *
+ * @return The SAML Attributes to be appended to the AUTHBlock. Maybe null.
+ */
+ public List getExtendedSAMLAttributesAUTH() {
+ return extendedSAMLAttributesAUTH;
+ }
+
+ /**
+ * Sets the SAML Attributes to be appended to the AUTHBlock.
+ *
+ * @param extendedSAMLAttributesAUTH The SAML Attributes to be appended to the AUTHBlock.
+ */
+ public void setExtendedSAMLAttributesAUTH(
+ List extendedSAMLAttributesAUTH) {
+ this.extendedSAMLAttributesAUTH = extendedSAMLAttributesAUTH;
+ }
+
+ /**
+ * Returns the SAML Attributes to be appended to the SAML assertion
+ * delivered to the online application. Maybe null.
+ *
+ * @return The SAML Attributes to be appended to the SAML assertion
+ * delivered to the online application
+ */
+ public List getExtendedSAMLAttributesOA() {
+ return extendedSAMLAttributesOA;
+ }
+
+ /**
+ * Sets the SAML Attributes to be appended to the SAML assertion
+ * delivered to the online application.
+ *
+ * @param extendedSAMLAttributesOA The SAML Attributes to be appended to the SAML
+ * assertion delivered to the online application.
+ */
+ public void setExtendedSAMLAttributesOA(
+ List extendedSAMLAttributesOA) {
+ this.extendedSAMLAttributesOA = extendedSAMLAttributesOA;
+ }
+
+ /**
+ * Returns the boolean value for either a target or a wbPK is
+ * provided as SAML Attribute in the SAML Assertion or not.
+ *
+ * @return true either a target or a wbPK is provided as SAML Attribute
+ * in the SAML Assertion or false if not.
+ */
+ public boolean getSAMLAttributeGebeORwbpk() {
+ return this.samlAttributeGebeORwbpk;
+ }
+
+ /**
+ * Sets the boolean value for either a target or a wbPK is
+ * provided as SAML Attribute in the SAML Assertion or not.
+ *
+ * @param samlAttributeGebeORwbpk The boolean for value either a target or
+ * wbPK is provided as SAML Attribute in the SAML Assertion or not.
+ */
+ public void setSAMLAttributeGebeORwbpk(boolean samlAttributeGebeORwbpk) {
+ this.samlAttributeGebeORwbpk = samlAttributeGebeORwbpk;
+ }
+
+ /**
+ * Returns the issuing time of the AUTH-Block SAML assertion.
+ *
+ * @return The issuing time of the AUTH-Block SAML assertion.
+ */
+ public String getIssueInstant() {
+ return issueInstant;
+ }
+
+ /**
+ * Sets the issuing time of the AUTH-Block SAML assertion.
+ *
+ * @param issueInstant The issueInstant to set.
+ */
+ public void setIssueInstant(String issueInstant) {
+ this.issueInstant = issueInstant;
+ }
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/CreateXMLSignatureResponse.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/CreateXMLSignatureResponse.java
new file mode 100644
index 000000000..d121f2c55
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/CreateXMLSignatureResponse.java
@@ -0,0 +1,71 @@
+package at.gv.egovernment.moa.id.auth.data;
+
+import org.w3c.dom.Element;
+
+/**
+ * This bean saves all information of the CreateXMLSignature-Response:
+ * a {@link SAMLAttribute} array, the SamlAssertion-Element and the
+ * saml NameIdentifier
+ *
+ * @author Stefan Knirsch
+ * @version $Id$
+ *
+ */
+public class CreateXMLSignatureResponse {
+ /** the samlNameIdentifier */
+private String samlNameIdentifier;
+ /** an array of saml-attributes */
+private SAMLAttribute[] samlAttributes;
+ /**
+ * the original saml:Assertion-Element
+ */
+ private Element samlAssertion;
+/**
+ * Returns the samlAssertion.
+ * @return Element
+ */
+public Element getSamlAssertion() {
+ return samlAssertion;
+}
+
+/**
+ * Returns the samlAttribute.
+ * @return SAMLAttribute[]
+ */
+public SAMLAttribute[] getSamlAttributes() {
+ return samlAttributes;
+}
+
+/**
+ * Returns the samlNameIdentifier.
+ * @return String
+ */
+public String getSamlNameIdentifier() {
+ return samlNameIdentifier;
+}
+
+/**
+ * Sets the samlAssertion.
+ * @param samlAssertion The samlAssertion to set
+ */
+public void setSamlAssertion(Element samlAssertion) {
+ this.samlAssertion = samlAssertion;
+}
+
+/**
+ * Sets the samlAttribute.
+ * @param samlAttributes The samlAttributes to set
+ */
+public void setSamlAttributes(SAMLAttribute[] samlAttributes) {
+ this.samlAttributes = samlAttributes;
+}
+
+/**
+ * Sets the samlNameIdentifier.
+ * @param samlNameIdentifier The samlNameIdentifier to set
+ */
+public void setSamlNameIdentifier(String samlNameIdentifier) {
+ this.samlNameIdentifier = samlNameIdentifier;
+}
+
+}
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/ExtendedSAMLAttribute.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/ExtendedSAMLAttribute.java
new file mode 100644
index 000000000..795079227
--- /dev/null
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/ExtendedSAMLAttribute.java
@@ -0,0 +1,73 @@
+package at.gv.egovernment.moa.id.auth.data;
+
+/**
+ * A SAML-Attribute to be appended to the final SAML-Assertion
+ * that will be passed to the online application.
+ */
+public interface ExtendedSAMLAttribute {
+ /**
+ * Add this attribute only to the SAML-Assertion
+ * passed to the online application, but not to
+ * the AUTH-Block.
+ */
+ public final static int NOT_ADD_TO_AUTHBLOCK = 0;
+ /**
+ * Add this attribute to both, the AUTH-Block and the
+ * final SAML-Assertion passed to the online application.
+ */
+ public final static int ADD_TO_AUTHBLOCK = 1;
+ /**
+ * Add this attribute to only the AUTH-Block, but not
+ * to the final SAML-Assertion passed to the online application.
+ */
+ public final static int ADD_TO_AUTHBLOCK_ONLY = 2;
+
+ /**
+ * The value of the SAML-Attribute. This must be either a
+ * org.w3c.Element or a java.lang.String
+ * object. Each other type will be ignored.
+ * If, for example, the type of the actual SAML-Attribute is a
+ * <xsd:boolean> the value must be either the String
+ * "true" or "false".
+ * Or the <xsd:integer> number 273
+ * has to be the String "273".
+ *
+ * @return The value of the SAML-Attribute. Must not be null.
+ */
+ public Object getValue();
+
+ /**
+ * The name of the SAML-Attribute.
+ *
+ * @return The name of the SAML-Attribute. Must not be null.
+ */
+ public String getName();
+
+ /**
+ * The namespace of the SAML-Attribute.
+ * An application will use the context specific namespace URI for the attribute it returns.
+ * However, if the application cannot explicitely assign a namespace URI, the
+ * {@link at.gv.egovernment.moa.util.Constants#MOA_NS_URI default} MOA namespace URI
+ * should be used.
+ *
+ * @return The namespace of the SAML-Attribute. Must not be null.
+ */
+ public String getNameSpace();
+
+ /**
+ * Specifies if this SAML-Attribute should be added to the AUTH-Block.
+ *
+ * Depending on the returned value, this SAML-Attribute should be only added to the
+ * final SAML-Assertion passed to the online application (0), to both, the final
+ * assertion and the AUTH-Block (1) or to the AUTH-Block only (2).
+ *
+ * @return
+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
+
+
+
+
Converting MOA SP/SS API objects to and from DOM trees
+The package {@link at.gv.egovernment.moa.spss.api.xmlbind} contains helper
+classes to:
+
+
Parse a DOM tree containing a CreateXMLSignatureRequest,
+VerifyCMSSignatureRequest or
+VerifyCMSSignatureRequest into its respective MOA SP/SS API object
+representation. For example, to parse a CreateXMLSignatureRequest
+DOM tree, the {@link at.gv.egovernment.moa.spss.api.xmlbind.CreateXMLSignatureRequestParser#parse(org.w3c.dom.Element) CreateXMLSignatureRequestParser.parse()}
+method can be used.
+Note: The DOM tree of the request must be derived from a schema valid
+XML document. Otherwise, unexpected behaviour will almost certainly result.
+
Build a CreateXMLSignatureResponse,
+VerifyCMSSignatureResponse or a
+VerifyXMLSignatureResponse DOM tree from the respective MOA SP/SS
+API object. For example, to build a VerifyXMLSignatureResponse
+DOM tree, the {@link at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureResponseBuilder#build(at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse) VerifyXMLSignatureResponseBuilder.build()}
+can be used.
+Note:The serialized DOM tree will be schema valid.
+
+
+The DOM trees can easily be read from and written to XML byte streams using
+the methods in the {@link at.gv.egovernment.moa.util.DOMUtils} class.
+
+
+
Utilities and Logging
+
The packages {@link at.gv.egovernment.moa.util} and
+{@link at.gv.egovernment.moa.spss.util} contain utility classes developed for
+the MOA SP/SS implementation. Since the classes contained in these packages are
+tailored towards the MOA SP/SS implementation, they are far from being complete
+in the sense of providing a utility class library. Therefore, they may or may
+not prove useful in the context of your application. Their interfaces may also
+change in future releases.
+
+
+
The package {@link at.gv.egovernment.moa.logging} contains classes for
+logging messages to the MOA SP/SS log hierarchy via the
+{@link at.gv.egovernment.moa.logging.Logger} class.
+
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class CertTool {
+
+ /** Error message if the DN cannot be parsed according to RFC2253. */
+ private static final String ILLEGAL_RFC2253_NAME =
+ "Kein gültiger RFC2253-Name";
+
+ /**
+ * Main entry point of the tool.
+ *
+ * @param args The command line arguments. A single argument is expected,
+ * which is the file name of the X509 certificate to inspect.
+ */
+ public static void main(String args[]) {
+ CertTool certTool = new CertTool();
+
+ if (args.length == 2 && "-info".equals(args[0])) {
+ initProviders();
+ certTool.printCertInfo(args[1], System.out);
+ } else if (args.length == 3 && "-add".equals(args[0])) {
+ initProviders();
+ certTool.addCertToCertStore(args[1], args[2]);
+ } else {
+ certTool.printUsage(System.err);
+ }
+ }
+
+ /**
+ * Init the JCE providers, depending on the JDK used.
+ *
+ * Adds the IAIK JCE and IAIK ECC providers.
+ */
+ private static void initProviders() {
+ if (System.getProperty("java.version").startsWith("1.3")) {
+ IAIK.addAsProvider();
+ } else {
+ IAIK.addAsJDK14Provider();
+ }
+ ECCProvider.addAsProvider();
+ }
+
+ /**
+ * Print the information about the certificate.
+ *
+ * This method will output information about the Subject DN, the Issuer DN and
+ * the serial number of the certificate.
+ *
+ * @param certFile The name of the certificate file to inspect.
+ * @param out The stream to print the information to.
+ */
+ public void printCertInfo(String certFile, PrintStream out) {
+ try {
+ InputStream is = new BufferedInputStream(new FileInputStream(certFile));
+ X509Certificate cert = new X509Certificate(is);
+ String issuerDN;
+ String serial;
+ String subjectDN;
+
+ try {
+ subjectDN = ((Name) (cert.getSubjectDN())).getRFC2253String();
+ } catch (RFC2253NameParserException e) {
+ subjectDN = ILLEGAL_RFC2253_NAME;
+ }
+
+ try {
+ issuerDN = ((Name) (cert.getIssuerDN())).getRFC2253String();
+ } catch (RFC2253NameParserException e) {
+ issuerDN = ILLEGAL_RFC2253_NAME;
+ }
+
+ serial = cert.getSerialNumber().toString();
+
+ out.println("SubjectDN (RFC2253): " + subjectDN);
+ out.println("IssuerDN (RFC2253) : " + issuerDN);
+ out.println("Serial Number : " + serial);
+ } catch (FileNotFoundException e) {
+ System.err.println("Zertifikat nicht gefunden: " + certFile);
+ } catch (IOException e) {
+ System.err.println(
+ "I/O Fehler beim Lesen des Zertifikats: " + e.getMessage());
+ } catch (CertificateException e) {
+ System.err.println(
+ "Fehler beim Lesen des Zertifikats: " + e.getMessage());
+ } catch (Throwable t) {
+ System.err.println("Allgemeiner Fehler: " + t.getMessage());
+ }
+ }
+
+ /**
+ * Add a certificate to a directory certificate store.
+ *
+ * @param certFile The certificate to add.
+ * @param certStoreRoot The root directory of the certificate store.
+ */
+ public void addCertToCertStore(String certFile, String certStoreRoot) {
+ try {
+ // read the certificate
+ InputStream is = new BufferedInputStream(new FileInputStream(certFile));
+ X509Certificate cert = new X509Certificate(is);
+
+ // initialize the DirectoryCertStore
+ DirectoryCertStore certStore =
+ new DirectoryCertStore(
+ new SimpleDirectoryCertStoreParameters(certStoreRoot),
+ null);
+
+ certStore.storeCertificate(cert, null);
+
+ System.out.println("\nDas Zertifikat wurde erfolreich hinzugefügt.\n");
+
+ } catch (FileNotFoundException e) {
+ System.err.println("Zertifikat nicht gefunden: " + certFile);
+ } catch (IOException e) {
+ System.err.println(
+ "I/O Fehler beim Lesen des Zertifikats: " + e.getMessage());
+ } catch (CertificateException e) {
+ System.err.println(
+ "Fehler beim Lesen des Zertifikats: " + e.getMessage());
+ } catch (DirectoryStoreException e) {
+ System.err.println(
+ "Fehler beim Öffnen des Zertifikatsspeichers: " + e.getMessage());
+ } catch (CertStoreException e) {
+ System.err.println(
+ "Fehler beim Hinzufügen des Zertifikats: " + e.getMessage());
+ } catch (Throwable t) {
+ System.err.println("Allgemeiner Fehler: " + t.getMessage());
+ t.printStackTrace();
+ }
+ }
+
+ /**
+ * Print tool usage.
+ *
+ * @param out The PrintStream to print to.
+ */
+ private void printUsage(PrintStream out) {
+ out.println("\nCerttool-Syntax:\n");
+ out.println("-info ");
+ out.println("\n");
+ }
+
+}
+
+/**
+ * Simple implementation of the DirectoryCertStoreParameters
+ * interface intelligent enough for setting up a simple
+ * DirectoryCertStore in the CertTool.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+class SimpleDirectoryCertStoreParameters
+ implements DirectoryCertStoreParameters {
+
+ /** The cert store root directory. */
+ private String rootDirectory;
+
+ /**
+ * Create a new SimpleDirectoryCertStoreParameters object.
+ *
+ * @param rootDirectory The root directory of the cert store.
+ */
+ public SimpleDirectoryCertStoreParameters(String rootDirectory) {
+ this.rootDirectory = rootDirectory;
+ }
+
+ /**
+ * @return "MOA Directory CertStore"
+ * @see iaik.pki.store.certstore.CertStoreParameters#getId()
+ */
+ public String getId() {
+ return "MOA Directory CertStore";
+ }
+
+ /**
+ * @return CertStoreTypes.DIRECTORY
+ * @see iaik.pki.store.certstore.CertStoreParameters#getType()
+ */
+ public String getType() {
+ return CertStoreTypes.DIRECTORY;
+ }
+
+ /**
+ * @return false
+ * @see iaik.pki.store.certstore.CertStoreParameters#isReadOnly()
+ */
+ public boolean isReadOnly() {
+ return false;
+ }
+
+ /**
+ * @return false
+ * @see iaik.pki.store.certstore.directory.DirectoryCertStoreParameters#createNew()
+ */
+ public boolean createNew() {
+ return false;
+ }
+
+ /**
+ * @return The root directory given at construction time.
+ * @see iaik.pki.store.certstore.directory.DirectoryCertStoreParameters#getRootDirectory()
+ */
+ public String getRootDirectory() {
+ return rootDirectory;
+ }
+
+}
\ No newline at end of file
diff --git a/spss/server/tools/src/main/java/at/gv/egovernment/moa/spss/server/tools/ConfigTool.java b/spss/server/tools/src/main/java/at/gv/egovernment/moa/spss/server/tools/ConfigTool.java
new file mode 100644
index 000000000..d5c3b48c1
--- /dev/null
+++ b/spss/server/tools/src/main/java/at/gv/egovernment/moa/spss/server/tools/ConfigTool.java
@@ -0,0 +1,59 @@
+package at.gv.egovernment.moa.spss.server.tools;
+
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+
+/**
+ * A tool for converting a MOA SPSS Version 1.0 configuration file into
+ * a Version 1.3 configuration file.
+ *
+ * @author Gregor Karlinger
+ * @version $Id$
+ */
+public class ConfigTool
+{
+ public static void main(String[] args)
+ {
+ if (args == null || args.length != 2)
+ {
+ System.out.println("Usage: ConfigTool ");
+ System.out.println(" ... Old config file to be transformed");
+ System.out.println(" ... New config file resulting from the transform");
+ System.exit(-1);
+ }
+
+ try
+ {
+ TransformerFactory tFactory = TransformerFactory.newInstance();
+ Transformer transformer = tFactory.newTransformer(new StreamSource(
+ ConfigTool.class.getResourceAsStream("/resources/tools/ConfigurationMapper.xsl")));
+ transformer.transform(new StreamSource(args[0]), new StreamResult(new FileOutputStream(args[1])));
+
+ System.out.println("Successfully mapped configuration file.");
+ }
+ catch (TransformerConfigurationException e)
+ {
+ System.err.println("An error occurred during mapping the configuration file:");
+ System.err.println(" Cannot initialize XSLT transform.");
+ System.err.println(" " + e.getMessage());
+ }
+ catch (FileNotFoundException e)
+ {
+ System.err.println("An error occurred during mapping the configuration file:");
+ System.err.println(" There is a problem with the filename for the new configuration file.");
+ System.err.println(" " + e.getMessage());
+ }
+ catch (TransformerException e)
+ {
+ System.err.println("An error occurred during mapping the configuration file:");
+ System.err.println(" " + e.getMessage());
+ }
+ }
+}
--
cgit v1.2.3
From b6ce5c19802ccaec60081091746f64a06dde5a8b Mon Sep 17 00:00:00 2001
From: hbratko
Date: Wed, 22 Aug 2007 09:22:12 +0000
Subject: Added field for signature manifest check code.
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@921 d688527b-c9ab-4aba-bd8d-4036d912da1d
---
.../id/auth/data/VerifyXMLSignatureResponse.java | 23 ++++++++++++++++++++++
1 file changed, 23 insertions(+)
(limited to 'id/server/idserverlib')
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/VerifyXMLSignatureResponse.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/VerifyXMLSignatureResponse.java
index 8233d1478..4f0fe5ac7 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/VerifyXMLSignatureResponse.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/VerifyXMLSignatureResponse.java
@@ -29,6 +29,11 @@ public class VerifyXMLSignatureResponse {
private boolean qualifiedCertificate;
/** The x509certificate to be stored */
private X509Certificate x509certificate;
+ /**
+ * The result of the signature manifest check. The default value -1
+ * indicates that the signature manifest has not been checked.
+ */
+ private int signatureManifestCheckCode = -1;
/**
* Returns the certificateCheckCode.
@@ -174,4 +179,22 @@ public class VerifyXMLSignatureResponse {
this.publicAuthority = publicAuthority;
}
+ /**
+ * Returns the the resulting code of the signature manifest check.
+ *
+ * @return The code of the sigature manifest check.
+ */
+ public int getSignatureManifestCheckCode() {
+ return signatureManifestCheckCode;
+ }
+
+ /**
+ * Sets the signatureManifestCode.
+ *
+ * @param signatureManifestCode The signatureManifestCode to set.
+ */
+ public void setSignatureManifestCheckCode(int signatureManifestCheckCode) {
+ this.signatureManifestCheckCode = signatureManifestCheckCode;
+ }
+
}
--
cgit v1.2.3
From 00121a68675e85aa30c38036bc15e118e08b920f Mon Sep 17 00:00:00 2001
From: hbratko
Date: Wed, 22 Aug 2007 09:23:33 +0000
Subject: Unmarshal text value from /.
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@922 d688527b-c9ab-4aba-bd8d-4036d912da1d
---
.../parser/VerifyXMLSignatureResponseParser.java | 61 ++++++++++++----------
1 file changed, 34 insertions(+), 27 deletions(-)
(limited to 'id/server/idserverlib')
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/VerifyXMLSignatureResponseParser.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/VerifyXMLSignatureResponseParser.java
index 4c49afb76..995c9aba5 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/VerifyXMLSignatureResponseParser.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/parser/VerifyXMLSignatureResponseParser.java
@@ -11,6 +11,7 @@ import at.gv.egovernment.moa.id.*;
import at.gv.egovernment.moa.id.auth.data.VerifyXMLSignatureResponse;
import at.gv.egovernment.moa.util.Constants;
import at.gv.egovernment.moa.util.DOMUtils;
+import at.gv.egovernment.moa.util.OutputXML2File;
import at.gv.egovernment.moa.util.XPathUtils;
/**
@@ -60,6 +61,9 @@ public class VerifyXMLSignatureResponseParser {
/** Xpath expression to the XMLDSIGManifestCheckCode element */
private static final String XMLDSIG_MANIFEST_CHECK_CODE_XPATH =
ROOT + MOA + "XMLDSIGManifestCheck/" + MOA + "Code";
+ /** Xpath expression to the SignatureManifestCheckCode element */
+ private static final String SIGNATURE_MANIFEST_CHECK_CODE_XPATH =
+ ROOT + MOA + "SignatureManifestCheck/" + MOA + "Code";
/** Xpath expression to the CertificateCheckCode element */
private static final String CERTIFICATE_CHECK_CODE_XPATH =
ROOT + MOA + "CertificateCheck/" + MOA + "Code";
@@ -119,34 +123,37 @@ public class VerifyXMLSignatureResponseParser {
*/
public VerifyXMLSignatureResponse parseData() throws ParseException {
-
- VerifyXMLSignatureResponse respData=new VerifyXMLSignatureResponse();
-
+
+ VerifyXMLSignatureResponse respData=new VerifyXMLSignatureResponse();
+
try {
- respData.setXmlDsigSubjectName(XPathUtils.getElementValue(verifyXMLSignatureResponse,DSIG_SUBJECT_NAME_XPATH,""));
- Element e = (Element)XPathUtils.selectSingleNode(verifyXMLSignatureResponse,QUALIFIED_CERTIFICATE_XPATH);
- respData.setQualifiedCertificate(e!=null);
-
- Base64InputStream in = new Base64InputStream(new ByteArrayInputStream(XPathUtils.getElementValue(
- verifyXMLSignatureResponse,DSIG_X509_CERTIFICATE_XPATH,"").getBytes("UTF-8")),true);
-
- respData.setX509certificate(new X509Certificate(in));
- Element publicAuthority = (Element)XPathUtils.selectSingleNode(verifyXMLSignatureResponse,PUBLIC_AUTHORITY_XPATH);
- respData.setPublicAuthority(publicAuthority != null);
- respData.setPublicAuthorityCode(XPathUtils.getElementValue(verifyXMLSignatureResponse,PUBLIC_AUTHORITY_CODE_XPATH,""));
- respData.setSignatureCheckCode(new Integer(XPathUtils.getElementValue(verifyXMLSignatureResponse,SIGNATURE_CHECK_CODE_XPATH,"")).intValue());
-
- String xmlDsigCheckCode = XPathUtils.getElementValue(verifyXMLSignatureResponse,XMLDSIG_MANIFEST_CHECK_CODE_XPATH,null);
- if (xmlDsigCheckCode!=null)
- {
- respData.setXmlDSIGManigest(true);
- respData.setXmlDSIGManifestCheckCode(new Integer(xmlDsigCheckCode).intValue());
- }
- else
- respData.setXmlDSIGManigest(false);
- respData.setCertificateCheckCode(new Integer(XPathUtils.getElementValue(verifyXMLSignatureResponse,CERTIFICATE_CHECK_CODE_XPATH,"")).intValue());
- }
- catch (Throwable t) {
+ respData.setXmlDsigSubjectName(XPathUtils.getElementValue(verifyXMLSignatureResponse,DSIG_SUBJECT_NAME_XPATH,""));
+ Element e = (Element)XPathUtils.selectSingleNode(verifyXMLSignatureResponse,QUALIFIED_CERTIFICATE_XPATH);
+ respData.setQualifiedCertificate(e!=null);
+
+ Base64InputStream in = new Base64InputStream(new ByteArrayInputStream(XPathUtils.getElementValue(
+ verifyXMLSignatureResponse,DSIG_X509_CERTIFICATE_XPATH,"").getBytes("UTF-8")),true);
+
+ respData.setX509certificate(new X509Certificate(in));
+ Element publicAuthority = (Element)XPathUtils.selectSingleNode(verifyXMLSignatureResponse,PUBLIC_AUTHORITY_XPATH);
+ respData.setPublicAuthority(publicAuthority != null);
+ respData.setPublicAuthorityCode(XPathUtils.getElementValue(verifyXMLSignatureResponse,PUBLIC_AUTHORITY_CODE_XPATH,""));
+ respData.setSignatureCheckCode(new Integer(XPathUtils.getElementValue(verifyXMLSignatureResponse,SIGNATURE_CHECK_CODE_XPATH,"")).intValue());
+
+ String xmlDsigCheckCode = XPathUtils.getElementValue(verifyXMLSignatureResponse,XMLDSIG_MANIFEST_CHECK_CODE_XPATH,null);
+ if (xmlDsigCheckCode!=null) {
+ respData.setXmlDSIGManigest(true);
+ respData.setXmlDSIGManifestCheckCode(new Integer(xmlDsigCheckCode).intValue());
+ } else {
+ respData.setXmlDSIGManigest(false);
+ }
+ String signatureManifestCheckCode = XPathUtils.getElementValue(verifyXMLSignatureResponse,SIGNATURE_MANIFEST_CHECK_CODE_XPATH,null);
+ if (signatureManifestCheckCode != null) {
+ respData.setSignatureManifestCheckCode(new Integer(signatureManifestCheckCode).intValue());
+ }
+ respData.setCertificateCheckCode(new Integer(XPathUtils.getElementValue(verifyXMLSignatureResponse,CERTIFICATE_CHECK_CODE_XPATH,"")).intValue());
+ }
+ catch (Throwable t) {
throw new ParseException("parser.01", null, t);
}
return respData;
--
cgit v1.2.3
From d9b88fbf8fb8afacf1701c6558ca6177ccc6e17f Mon Sep 17 00:00:00 2001
From: hbratko
Date: Wed, 22 Aug 2007 09:27:06 +0000
Subject: Evaluate result from signature manifest check and throw exception if
an error code is returned (tranforms within signature do not match expected
transforms from profile) - only in the case of AUTHBlock verification.
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@923 d688527b-c9ab-4aba-bd8d-4036d912da1d
---
.../id/auth/validator/VerifyXMLSignatureResponseValidator.java | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
(limited to 'id/server/idserverlib')
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/VerifyXMLSignatureResponseValidator.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/VerifyXMLSignatureResponseValidator.java
index 1f2ebc37c..d5650b897 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/VerifyXMLSignatureResponseValidator.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/VerifyXMLSignatureResponseValidator.java
@@ -92,9 +92,12 @@ public class VerifyXMLSignatureResponseValidator {
}
- // TODO See Bug #322
- // Check result of SignatureManifestCheck
-
+ // Check the signature manifest only when verifying the signed AUTHBlock
+ if (whatToCheck.equals(CHECK_AUTH_BLOCK)) {
+ if (verifyXMLSignatureResponse.getSignatureManifestCheckCode() > 0) {
+ throw new ValidateException("validator.50", null);
+ }
+ }
//Check whether the returned X509 SubjectName is in the MOA-ID configuration or not
if (identityLinkSignersSubjectDNNames != null) {
--
cgit v1.2.3
From ee812e0af51578422a3ad16676eb1d234c4b9f78 Mon Sep 17 00:00:00 2001
From: pdanner
Date: Wed, 22 Aug 2007 09:40:59 +0000
Subject: fixed spelling
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@924 d688527b-c9ab-4aba-bd8d-4036d912da1d
---
id/server/idserverlib/pom.xml | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
(limited to 'id/server/idserverlib')
diff --git a/id/server/idserverlib/pom.xml b/id/server/idserverlib/pom.xml
index 0d98d1dc7..093ca2ddc 100644
--- a/id/server/idserverlib/pom.xml
+++ b/id/server/idserverlib/pom.xml
@@ -73,6 +73,10 @@
httpsclienthttpsclient
+
+ jaxen
+ jaxen
+ MOAmoa-common
@@ -131,7 +135,7 @@
posta
- Postconfitions:
+ Postconditions:
http://java.sun.com/j2se/1.4/docs/api/
--
cgit v1.2.3
From 28e8bbbf83ec351a10acad94628698cdd4531023 Mon Sep 17 00:00:00 2001
From: pdanner
Date: Wed, 22 Aug 2007 10:34:39 +0000
Subject: removed local jaxen dependency
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@925 d688527b-c9ab-4aba-bd8d-4036d912da1d
---
id/server/idserverlib/pom.xml | 4 ----
1 file changed, 4 deletions(-)
(limited to 'id/server/idserverlib')
diff --git a/id/server/idserverlib/pom.xml b/id/server/idserverlib/pom.xml
index 093ca2ddc..daa9bfd6d 100644
--- a/id/server/idserverlib/pom.xml
+++ b/id/server/idserverlib/pom.xml
@@ -73,10 +73,6 @@
httpsclienthttpsclient
-
- jaxen
- jaxen
- MOAmoa-common
--
cgit v1.2.3
From 7db9b2bcb7af96c7787843213864de577a5072f7 Mon Sep 17 00:00:00 2001
From: pdanner
Date: Wed, 22 Aug 2007 12:50:16 +0000
Subject: Bugfix: in der Klasse
"at.gv.egovernment.moa.id.auth.servlet.GetAuthenticationDataService" wurde
das "RequestID"-Attribut immer vom -Element anstelle
des -Elements genommen. Da das
-Element aber kein solches Attribut hat, war das
immer der leere String. Deshalb hatte dann im SOAP-Response das
"InResponseTo"-Attribut immer den leeren String als Wert (siehe attachte
Datei "soapResponseWrong.xml"): Richtig ist:
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@926 d688527b-c9ab-4aba-bd8d-4036d912da1d
---
.../egovernment/moa/id/auth/servlet/GetAuthenticationDataService.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'id/server/idserverlib')
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetAuthenticationDataService.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetAuthenticationDataService.java
index c41b514c8..0ea858a71 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetAuthenticationDataService.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GetAuthenticationDataService.java
@@ -86,7 +86,7 @@ public class GetAuthenticationDataService implements Constants {
}
else {
Element samlArtifactElem = (Element)samlArtifactList.item(0);
- requestID = samlArtifactElem.getAttribute("RequestID");
+ requestID = request.getAttribute("RequestID");
String samlArtifact = DOMUtils.getText(samlArtifactElem);
try {
AuthenticationData authData = AuthenticationServer.getInstance().
--
cgit v1.2.3
From 0764b6e3e5bc152a70d269bee283a52b7584f075 Mon Sep 17 00:00:00 2001
From: mcentner
Date: Wed, 22 Aug 2007 14:28:38 +0000
Subject: Updated xalan und xerces libraries and as consequence, added regexp
to id/server/idserverlib. Changed paths in distribution zip-files.
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@928 d688527b-c9ab-4aba-bd8d-4036d912da1d
---
id/assembly-auth.xml | 22 +++++++++++-----------
id/assembly-proxy.xml | 18 +++++++++---------
id/server/idserverlib/pom.xml | 4 ++++
pom.xml | 6 +++---
spss/assembly.xml | 2 +-
5 files changed, 28 insertions(+), 24 deletions(-)
(limited to 'id/server/idserverlib')
diff --git a/id/assembly-auth.xml b/id/assembly-auth.xml
index e0a1db0c7..0dd875720 100644
--- a/id/assembly-auth.xml
+++ b/id/assembly-auth.xml
@@ -6,37 +6,37 @@
- false
+ moa-id-auth-${project.version}${basedir}/id/server/data/deploy
- /auth
+ /**/conf/moa-id/oa/**${basedir}/spss/handbook/conf/moa-spss/certstore
- /auth/conf/moa-id/certs/certstore
+ /conf/moa-id/certs/certstore**/*${basedir}/spss/handbook/conf/moa-spss/certstore
- /auth/conf/moa-spss/certstore
+ /conf/moa-spss/certstore**/*${basedir}/id/server/doc
- /auth/doc
+ /doc${basedir}/licenses
- /auth
+ /APACHE-LICENSE-2.0.txthistory.txt
@@ -53,7 +53,7 @@
true
- /auth
+ /${artifactId}.${extension}
@@ -62,7 +62,7 @@
xerces:xercesImplxerces:xmlParserAPIs
- /auth/endorsed
+ /endorsed
@@ -71,7 +71,7 @@
iaik.prod:iaik_Pkcs11Provideriaik.prod:iaik_Pkcs11Wrapper
- /auth/ext
+ /extfalse
@@ -85,7 +85,7 @@
javadocfalseapi-doc
- /auth/moa-id/doc
+ /moa-id/doctrue
@@ -96,7 +96,7 @@
falsemoaid-templates.war
- /auth/templates
+ /templatesfalse
diff --git a/id/assembly-proxy.xml b/id/assembly-proxy.xml
index 52c9a4f30..03cdd837c 100644
--- a/id/assembly-proxy.xml
+++ b/id/assembly-proxy.xml
@@ -6,12 +6,12 @@
- false
+ moa-id-proxy-${project.version}${basedir}/id/server/data/deploy
- /proxy
+ /**/conf/moa-spss/****/conf/moa-id/transforms/**
@@ -19,11 +19,11 @@
${basedir}/id/server/doc
- /proxy/doc
+ /doc${basedir}/licenses
- /proxy
+ /APACHE-LICENSE-2.0.txthistory.txt
@@ -40,7 +40,7 @@
true
- /proxy
+ /${artifactId}.${extension}
@@ -49,7 +49,7 @@
xerces:xercesImplxerces:xmlParserAPIs
- /proxy/endorsed
+ /endorsed
@@ -58,7 +58,7 @@
iaik.prod:iaik_Pkcs11Provideriaik.prod:iaik_Pkcs11Wrapper
- /proxy/ext
+ /extfalse
@@ -72,7 +72,7 @@
javadocfalseapi-doc
- /proxy/moa-id/doc
+ /moa-id/doctrue
@@ -83,7 +83,7 @@
falsemoaid-templates.war
- /proxy/templates
+ /templatesfalse
diff --git a/id/server/idserverlib/pom.xml b/id/server/idserverlib/pom.xml
index daa9bfd6d..357ec0750 100644
--- a/id/server/idserverlib/pom.xml
+++ b/id/server/idserverlib/pom.xml
@@ -107,6 +107,10 @@
iaik.prodiaik_X509TrustManager
+
+ regexp
+ regexp
+
diff --git a/pom.xml b/pom.xml
index c85c7b307..b35bdc0ae 100644
--- a/pom.xml
+++ b/pom.xml
@@ -257,19 +257,19 @@
xalanxalan
- 2.5.1
+ 2.7.0compilexercesxercesImpl
- 2.4.0
+ 2.7.1compilexercesxmlParserAPIs
- 2.6.0
+ 2.6.2compile
diff --git a/spss/assembly.xml b/spss/assembly.xml
index 998a0d0e4..aa5666b6f 100644
--- a/spss/assembly.xml
+++ b/spss/assembly.xml
@@ -5,7 +5,7 @@
zip
- false
+ moa-spss-${project.version}
--
cgit v1.2.3
From c5c96f0928d3d35b93e7bac9436f43bb72e58037 Mon Sep 17 00:00:00 2001
From: pdanner
Date: Wed, 22 Aug 2007 18:16:09 +0000
Subject: set right directory position
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@931 d688527b-c9ab-4aba-bd8d-4036d912da1d
---
.../resources/properties/id_messages_de.properties | 160 ++++++++
.../src/main/resources/wsdl/MOA-ID-1.0.wsdl | 40 ++
.../src/main/resources/wsdl/MOA-ID-1.x.wsdl | 40 ++
.../src/main/resources/wsdl/MOA-SPSS-1.2.xsd | 454 +++++++++++++++++++++
.../resources/xmldata/CertInfoDsigSignature.xml | 139 +++++++
5 files changed, 833 insertions(+)
create mode 100644 id/server/idserverlib/src/main/resources/properties/id_messages_de.properties
create mode 100644 id/server/idserverlib/src/main/resources/wsdl/MOA-ID-1.0.wsdl
create mode 100644 id/server/idserverlib/src/main/resources/wsdl/MOA-ID-1.x.wsdl
create mode 100644 id/server/idserverlib/src/main/resources/wsdl/MOA-SPSS-1.2.xsd
create mode 100644 id/server/idserverlib/src/main/resources/xmldata/CertInfoDsigSignature.xml
(limited to 'id/server/idserverlib')
diff --git a/id/server/idserverlib/src/main/resources/properties/id_messages_de.properties b/id/server/idserverlib/src/main/resources/properties/id_messages_de.properties
new file mode 100644
index 000000000..4cfa6f765
--- /dev/null
+++ b/id/server/idserverlib/src/main/resources/properties/id_messages_de.properties
@@ -0,0 +1,160 @@
+# This file contains exception messages in the standard Java properties
+# format. The messages may contain formatting patterns as definied in the
+# java.text.MessageFormat class.
+
+#
+# Error messages: the key corresponds to the error code
+#
+
+# status messages included in of GetAuthenticationDataService
+1200=Anfrage erfolgreich beantwortet
+1201=Fehlerhaftes Requestformat: mehr als 1 Request übergeben
+1202=Fehlerhaftes Requestformat: kein SAML-Artifakt übergeben
+1203=Fehlerhaftes Requestformat: mehr als 1 SAML-Artifakt übergeben
+1204=Fehlerhaftes Requestformat
+1205=Fehler beim Abholen der Anmeldedaten, fehlerhaftes SAML-Artifakt Format (SAML-Artifakt={0}): {1}
+1206=Fehler beim Abholen der Anmeldedaten, unbekanntes SAML-Artifakt (SAML-Artifakt={0})
+1207=Zeitüberschreitung beim Abholen der Anmeldedaten (SAML-Artifakt={0})
+1299=Interner Server-Fehler
+
+auth.00=Anmeldung an dieser Applikation wird nicht unterstützt (URL={0})
+auth.01=Die Anmeldung ist bereits im Gange (MOASessionID={0})
+auth.02=MOASessionID ist unbekannt (MOASessionID={0})
+auth.03=Fehler beim Abholen einer Datei von der URL "{0}": Interne Fehlermeldung: {1}
+auth.04=Fehler beim Auslesen der Resource "{0}": {1}
+auth.05=Fehlender Parameter "{1}" beim Aufruf von "{0}"
+auth.06=Fehler beim Speichern der Anmeldedaten, fehlerhaftes SAML-Artifact Format (SAML-Artifact={0})
+auth.07=Aufruf von {0} muss mit Schema "https:" erfolgen. Hinweis: Bitte Dokumentation zu GenericConfiguration: "FrontendServlets.EnableHTTPConnection" beachten.
+auth.08=In der Bürgerkartenumgebung ist ein Fehler aufgetreten: Fehlercode {0}: {1}
+auth.09=Zur Auswahlseite der Bürgertenumgebung (URL={0}) konnte keine Verbindung hergestellt werden. : HTTP-Statuscode {1}
+auth.10=Fehler beim Aufruf von "{0}": Parameter "{1}" fehlt
+auth.11=Die zentral gespeicherte Auswahlseite für Bürgerkartenumgebungen konnte nicht geladen werden. Bitte informieren Sie den Adminstrator des Servers und versuchen Sie die Anmeldung in einiger Zeit abermals. URL "{0}" Interne Fehlermeldung: {1}
+
+init.00=MOA ID Authentisierung wurde erfolgreich gestartet
+init.01=Fehler beim Aktivieren des IAIK-JCE/JSSE/JDK1.3 Workaround: SSL ist möglicherweise nicht verfügbar
+init.02=Fehler beim Starten des Service MOA ID Authentisierung
+
+config.00=MOA ID Konfiguration erfolgreich geladen: {0}
+config.01=Umgebungsvariable "moa.id.configuration" nicht gesetzt
+config.02=Nicht klassifizierter Fehler in der Konfiguration (siehe Log-Datei für Details)
+config.03=Fehler beim Einlesen der Konfiguration (siehe Log-Datei für Details)
+config.04=Fehler beim Lesen der MOA ID Konfiguration; es wird weiterhin die ursprüngliche Konfiguration verwendet
+config.05=Fehlerhafter Wert für "{0}" in der MOA ID Konfiguration
+config.06=Doppelter Eintrag in der Konfiguration für die Online-Applikation gefunden: {0}
+config.07=Klasse {0} kann nicht instanziert werden
+config.08=Fehlender Wert für "{0}" in der MOA ID Konfiguration
+config.09=Fehler beim Erstellen von X509IssuerSerial (IssuerName={0}, SerialNumber={1})
+config.10=Fehler in der MOA SPSS Konfiguration: {0}
+config.11=LoginParameterResolver konnte nicht konfiguriert werden {0}
+config.12=Standard DATA URL Prefix "{0}" wird anstatt des konfigurierten DATA URL Prefix verwendet
+config.13=Konfiguriertes DATA URL Prefix "{0}" muss mit http:// bzw. https:// beginnen
+config.14=LoginParameterResolver-Fehler: {0}
+config.15=Das Personenbindungs-Trust-Profil (TrustProfileID = {0}) darf nicht für die Verifikation anderer Infoboxen verwendet werden.
+config.16=MOA ID Proxy konnte nicht gestartet werden. Das Element ConnnectionParameter im allgemeinen Konfigurationsteil der MOA-ID-PROXY Konfigurationsdatei fehlt.
+
+
+parser.00=Leichter Fehler beim Parsen: {0}
+parser.01=Fehler beim Parsen: {0}
+parser.02=Schwerer Fehler beim Parsen: {0}
+parser.03=Fehler beim Parsen oder Konvertieren eines ECDSA-Schlüssels: {0}
+parser.04=Fehler beim Serialisieren: {0}
+parser.05=Fehler beim Serialisieren: SAML-Attribute {0} (Namespace: {1}) konnte nicht serialsiert werden.
+parser.06=Fehler beim Parsen: {0}-InfoboxResponse nicht vollständig ({1} im {2} fehlt)
+parser.07=Fehler beim Parsen: Assoziatives Array im {0}-InfoboxResponse enthält einen Schlüssel ohne zugehörigen Wert ("Key"-Element statt "Pair"-Element).
+
+builder.00=Fehler beim Aufbau der Struktur "{0}": {1}
+builder.01=Fehlerhaftes Template: Kennung "{0}" fehlt
+
+service.00=Fehler beim Aufruf des Web Service: {0}
+service.01=Fehler beim Aufruf des Web Service: kein Endpoint
+service.02=Fehler beim Aufruf des Web Service, Status {0}: {1}
+service.03=Fehler beim Aufruf des SPSS-API: {0}
+
+cleaner.00=AuthenticationSessionCleaner wurde gestartet
+cleaner.01=Fehler im AuthenticationSessionCleaner
+cleaner.02=MOASession {0} ist abgelaufen
+cleaner.03=Anmeldedaten zu SAML-Artifakt {0} sind abgelaufen
+
+proxy.00=MOA ID Proxy wurde erfolgreich gestartet
+proxy.01=Unbekannter URL {0}, erwarteter URL auf {1}
+proxy.02=Unbekannter URL {0}. Es wurde keine Übereinstimmung zum Attribut publicURLPrefix im Element 'OnlineApplication' der verwendeten MOA-ID Konfigurationsdatei gefunden.
+proxy.04=URL {0} : {1}
+proxy.05=Fehler beim Aufbauen der SSLSocketFactory für {0} : {1}
+proxy.06=Fehler beim Starten des Service MOA ID Proxy
+proxy.07=Sie sind nicht bzw. nicht mehr angemeldet. Melden Sie sich bitte erneut an.
+proxy.08=Kein URL-Mapping in der HttpSession verfügbar (URL {0})
+proxy.09=Fehler beim Aufruf des MOA-ID Auth API: {0}
+proxy.10=Fehler beim Weiterleiten (MOA-ID Proxy)
+proxy.11=Beim Weiterleiten der Verbindung zur Anwendung ist ein Fehler aufgetreten.
+proxy.12=Fehler bei der Anmeldung. Eine Anmeldung an der Anwendung {0} war nicht möglich. Prüfen Sie bitte ihre Berechtigung.
+proxy.13=Fehler beim Aufruf des LoginParameterResolvers zu URL-Präfix: {0}
+proxy.14=
Folgende Ursachen können zu dem Fehler geführt haben:
Sie sind nicht mehr angemeldet (Verbindungen werden aus Sicherheitsgründen bei längerer Inaktivität beendet.) Melden Sie sich bitte erneut an.
Die Kommunikation mit dem Server schlug fehl.
+proxy.15=Auf die gewünschte Seite kann nicht zugegriffen werden, Sie besitzen nicht die benötigte Berechtigung.
+proxy.16=Fehler bei der Anmeldung. Eine Anmeldung an der Anwendung {0} war nicht möglich. Die maximale Anzahl von {1} ungültigen Loginversuchen wurde überschritten. Prüfen Sie bitte ihre Berechtigung.
+
+validator.00=Kein SAML:Assertion Objekt gefunden {0}
+validator.01=Im Subject kommt mehr als ein Element des Typs PhysicalPersonType vor {0}
+validator.02=Das verwendete Schlüsselformat eines öffentlichen Schlüssels ist unbekannt {0}
+validator.03=Der Namespace eines öffentlichen Schlüssels ist ungültig {0}
+validator.04=Es wurde ein SAML:Attribut ohne öffentlichen Schlüssel gefunden {0}
+validator.05=Es wurde {0} keine DSIG:Signature gefunden
+
+validator.06=Die Signatur ist ungültig
+validator.07=Das Zertifikat der Personenbindung ist ungültig. {0}
+validator.08=Das Manifest ist ungültig
+validator.09=Die öffentlichen Schlüssel des Identitiy Link stimmen nicht mit dem retournierten Zertifikat überein
+
+validator.10=Anzahl der URLs zur Authentisierungskomponente ungültig {0}
+validator.11="Geschäftsbereich" wurde nicht in den SAML-Attributen gefunden {0}
+validator.12=Der Namespace des SAML-Attributs "Geschäftsbereich" ist ungültig {0}
+validator.13=Das Target des 'Geschäftsbereichs' ist ungültig {0}
+validator.14="OA" wurde nicht in den SAML-Attributen gefunden {0}
+validator.15=Der Namespace des SAML-Attributs "OA" ist ungültig {0}
+validator.16=Die vorkonfigurierte URL der OnlineApplikation ist fehlerhaft {0}
+
+validator.17= Der SubjectDN-Name des von MOA-SP retournierten Zertifikats ist ungültig {0}
+#validator.18= Der SubjectDN-Name des von MOA-SP retournierten Zertifikats ist nicht als gültiger SubjectDN-Name für eine Personenbindung konfiguriert. {0} wurde NICHT in der Konfiguration gefunden
+validator.18= Das Zertifikat mit dem die Personenbindung signiert wurde, ist nicht zum Signieren der Personenbindung zulässig. Es konnte weder der SubjectDN ({0}) einem berechtigten Namen zugeordnet werden, noch enthält das Zertifikat die Erweiterung "Eigenschaft zur Ausstellung von Personenbindungen".
+
+validator.19=Das verwendete Zertifikat zum Signieren ist ungültig. {0}
+
+validator.21=Es konnte keine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konstruiert werden.
+validator.22=Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konnte konstruiert werden. Für zumindest ein Zertifikat dieser Kette fällt der Prüfzeitpunkt nicht in das Gültigkeitsintervall.
+validator.23=Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konnte konstruiert werden. Für alle Zertifikate dieser Kette fällt der Prüfzeitpunkt in das jeweilige Gültigkeitsintervall. Für zumindest ein Zertifikat konnte der Zertifikatstatus nicht festgestellt werden.
+validator.24=Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konnte konstruiert werden. Für alle Zertifikate dieser Kette fällt der Prüfzeitpunkt in das jeweilige Gültigkeitsintervall. Zumindest ein Zertifikat ist zum Prüfzeitpunkt widerrufen.
+validator.25=Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konnte konstruiert werden. Für alle Zertifikate dieser Kette fällt der Prüfzeitpunkt in das jeweilige Gültigkeitsintervall. Kein Zertifikat dieser Kette ist zum Prüfzeitpunkt widerrufen. Zumindest ein Zertifikat ist zum Prüfzeitpunkt gesperrt.
+
+validator.26=OA Applikation ist eine Wirtschaftsapplikation, trotzdem ist ein SAML-Attribut "Geschäftsbereich" enthalten
+validator.27=OA Applikation ist keine Wirtschaftsapplikation, trotzdem ist ein SAML-Attribut "wbPK" enthalten
+validator.28=Fehlerhafter Wert im "wbPK" SAML-Attribut {0}
+validator.29=Fehler beim Auslesen des "wbPK" SAML-Attributs {0}
+validator.30=Der Namespace des SAML-Attributs "wbPK" ist ungültig {0}
+validator.31="wbPK" wurde nicht in den SAML-Attributen gefunden {0}
+
+
+validator.32="Issuer" im AUTH-Block nicht vorhanden.
+validator.33="Issuer"-Attribut im AUTH-Block ("{0}") stimmt nicht mit dem Namen in der Personenbindung ("{1}") überein.
+validator.34=Das Geburtsdatum ({0}) stimmt nicht mit dem in der Personenbindung ({1}) überein.
+validator.35=Der Namespace des SAML-Attributs "Geburtsdatum" ist ungültig.
+validator.36=Die Anzahl der SAML-Attribute im AUTH-Block wurde verändert: {0} statt der erwarteten {1}
+validator.37=Die Reihenfolge der SAML-Attribute im AUTH-Block wurde verändert: Attribut "{0}" anstelle von Attribut "{1}" an der {2}. Position
+validator.38=Der {0} des SAML-Attributs Nummer {1} ({2}) im AUTH-Block ist ungültig: "{3}" anstelle von "{4}"
+validator.39=Der Austellungszeitpunkt (IssueInstant) im AUTH-Block wurde verändert: {0} anstelle von {1}. Möglicherweise wurde Ihre Bürgerkartenumgebung kompromittiert. Verwenden Sie Ihre Bürgerkarte bis auf weiteres nicht mehr, und setzen Sie sich umgehend mit dem Betreiber des Online-Dienstes, an dem Sie sich anmelden wollten, in Verbindung.
+
+
+validator.40=Überprüfung der {0}-Infobox fehlgeschlagen: {1}
+validator.41=Überprüfung der {0}-Infobox fehlgeschlagen: Keine Konfigurationsparameter zur Überprüfung der {0}-Infobox vorhanden.
+validator.42=Überprüfung der {0}-Infobox fehlgeschlagen: Es konnte keine geeignete Applikation zur Verifikation der {0}-Infobox geladen werden.
+validator.43=Überprüfung der {0}-Infobox fehlgeschlagen: Der InfoboxReadResponse für die {0}-Infobox konnte nicht erfolgreich geparst werden.
+validator.44=Überprüfung der {0}-Infobox fehlgeschlagen: In der {0}-Infobox Prüfapplikation ist ein Fehler aufgetreten.
+validator.45=Überprüfung der {0}-Infobox fehlgeschlagen: Der {1} des von der {0}-Infobox Prüfapplikation zurückgegebenen SAML-Attributes Nummer {2} ist {3}.
+validator.46=Überprüfung der {0}-Infobox fehlgeschlagen: Der Wert des von der Prüfapplikation zurückgegebenen SAML-Attributes Nummer {1} ist ungültig.
+validator.47=Überprüfung der {0}-Infobox fehlgeschlagen: Das von der Prüfapplikation zurückgegebene SAML-Attribut Nummer {1} kann nicht eindeutig zugeordnet werden.
+validator.48={0}-Infobox wurde nicht von der BKU übermittelt: Für die Anmeldung an dieser Online-Applikation ist die {0}-Infobox erforderlich. Bitte melden Sie sich erneut an, und selektieren Sie in Ihrer BKU die {0}-Infobox.
+
+validator.49=Beim Ermitteln der Personenbindungs-OID im Zertifikat, mit dem die Personenbindung signiert wurde, ist ein Fehler aufgetreten.
+
+validator.50=Transformationskette in der Signatur stimmt mit keiner Transformationskette aus dem Prüfprofil überein.
+
+
+ssl.01=Validierung des SSL-Server-Endzertifikates hat fehlgeschlagen
diff --git a/id/server/idserverlib/src/main/resources/wsdl/MOA-ID-1.0.wsdl b/id/server/idserverlib/src/main/resources/wsdl/MOA-ID-1.0.wsdl
new file mode 100644
index 000000000..5751b3e58
--- /dev/null
+++ b/id/server/idserverlib/src/main/resources/wsdl/MOA-ID-1.0.wsdl
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/id/server/idserverlib/src/main/resources/wsdl/MOA-ID-1.x.wsdl b/id/server/idserverlib/src/main/resources/wsdl/MOA-ID-1.x.wsdl
new file mode 100644
index 000000000..45152cb38
--- /dev/null
+++ b/id/server/idserverlib/src/main/resources/wsdl/MOA-ID-1.x.wsdl
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/id/server/idserverlib/src/main/resources/wsdl/MOA-SPSS-1.2.xsd b/id/server/idserverlib/src/main/resources/wsdl/MOA-SPSS-1.2.xsd
new file mode 100644
index 000000000..d7a06d6e7
--- /dev/null
+++ b/id/server/idserverlib/src/main/resources/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/idserverlib/src/main/resources/xmldata/CertInfoDsigSignature.xml b/id/server/idserverlib/src/main/resources/xmldata/CertInfoDsigSignature.xml
new file mode 100644
index 000000000..7896cb399
--- /dev/null
+++ b/id/server/idserverlib/src/main/resources/xmldata/CertInfoDsigSignature.xml
@@ -0,0 +1,139 @@
+id('signed-data')/node()C0hW5jQojphweuFzPb+CNkHwhe4=id('refetsi')/etsi:QualifyingProperties/etsi:SignedPropertiesBdsc7wAfyMyZ21ChcF+tRh3D7sU=lCz3hDQMbqRMmCieG3fQFax3f8JX86gDi7mf4h03J7vlJjSOJQ4Wh/3Kd81ntKuh
+qFphj2cEhQYX08e6SeaU+7H7qdRa+xFRDRGav8L5x5xCUQT2SV+2/hx0C7UuJt+p
+tewtbqVAcNxgKPlBuIzyXGOrBdiinp1KftEQoVCpPCI=MIIFJTCCBA2gAwIBAgICGTcwDQYJKoZIhvcNAQEFBQAwgaExCzAJBgNVBAYTAkFU
+MUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGlt
+IGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIzAhBgNVBAsTGmEtc2lnbi1URVNU
+LVByZW1pdW0tRW5jLTAxMSMwIQYDVQQDExphLXNpZ24tVEVTVC1QcmVtaXVtLUVu
+Yy0wMTAeFw0wMzAyMTAxMzIwNThaFw0wNjAyMTAxMzIwNThaMGoxCzAJBgNVBAYT
+AkFUMRwwGgYDVQQDExNUZXN0cGVyc29uIE1PQTQgQlJaMQwwCgYDVQQEEwNCUlox
+GDAWBgNVBCoTD1Rlc3RwZXJzb24gTU9BNDEVMBMGA1UEBRMMNzkwMTg3NDYxNjMz
+MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDS/UW1/tZeCh7HHQmj8auUTEc4
+edAgRDkUVKOm0tF3kE3WZlhGDZL0p84xsdIKyI+bwDCMATATkQwDo/Xxn9jJMi4/
+t80bNyRsHk9giA0wcvz9NgmEcDwKNqawGsR9gNeK8TyIC8AuDkj1EwtkAObMvtp/
+Z1phi47x3JxDDfGDpQIDAQABo4ICHzCCAhswEwYDVR0jBAwwCoAIS7OAw3GTPNgw
+JwYIKwYBBQUHAQMBAf8EGDAWMAgGBgQAjkYBATAKBggrBgEFBQcLATCBggYIKwYB
+BQUHAQEEdjB0MCkGCCsGAQUFBzABhh1odHRwOi8vd3d3LmEtdHJ1c3QuYXQ6ODIv
+b2NzcDBHBggrBgEFBQcwAoY7aHR0cDovL3d3dy5hLXRydXN0LmF0L2NlcnRzL2Et
+c2lnbi1URVNULVByZW1pdW0tU2lnLTAxYS5jcnQwgZQGA1UdIASBjDCBiTB9BgYq
+KAARAQQwczA1BggrBgEFBQcCARYpaHR0cDovL3d3dy5hLXRydXN0LmF0L2RvY3Mv
+Y3AvYS1zaWduLVRFU1QwOgYIKwYBBQUHAgIwLhosRGllc2VzIFplcnRpZmlrYXQg
+ZGllbnQgbnVyIHp1IFRlc3R6d2Vja2VuICEwCAYGBACLMAEBMG8GA1UdHwRoMGYw
+ZKBioGCGXmxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLVRFU1QtUHJl
+bWl1bS1FbmMtMDEsbz1BLVRydXN0LGM9QVQ/Y2VydGlmaWNhdGVyZXZvY2F0aW9u
+bGlzdD8wEQYDVR0OBAoECE4DxL9ky4M+MA4GA1UdDwEB/wQEAwIGwDAgBgNVHREE
+GTAXgRV0ZXN0cGVyc29uNEBicnouZ3YuYXQwCQYDVR0TBAIwADANBgkqhkiG9w0B
+AQUFAAOCAQEAioVvsZN+NnQxXMTGdjKveTBMRTYzHflkSC8lI9XXltP5+mjIuoB2
+Tn6voovA8dXz9jTsnQt8f8ye0CL2bSS9UVD1jv8So3bavquW+HlkZBAZvL39APNL
+PjUUnWn0QOnrQAJ6W47UwGAUgEw3KcBcJaEa4Xb/8kUj618xGzWl6X0mKsVpxkrf
++5Cj+nmwDqChll08/90MmhSY4M5FrvmQ9GjAN5FHVsk0FPp02tKCRzoBJtzpB1DW
+KHlgiDHUAXy5eD0XI7PXebPNZ4InvY/jC/IH8PRLdJT249YQmUxZ4neTtFDvb8C1
+Qh6k725fh3hVxqX8ZwwWj9+iGQVk53K3CA==
+
+Überprüfung des Namen des Anmelde-Servers
+
+
+
Prüfung der Identität des MOA-ID Servers
+
+Bevor Sie sich in den folgenden Schritten an eine Online-Applikation anmelden,
+wird empfohlen den Namen des Anmelde-Servers zu überprüfen.
+Zu diesem Zweck identifiziert Ihr Webbrowser den Anmelde-Server mit Hilfe eines Zertifikates.
+Ihre Aufgabe ist es zu überprüfen, ob das Server-Zertifikat von einem Unternehmen ausgestellt
+wurde, dem Sie vertrauen.
+
+Die folgenden Absätze beschreiben, wie Sie diese Überprüfung durchführen können.
+Führen Sie jene Arbeitsschritte durch, die für den von Ihnen verwendeten Webbrowser zutreffend sind.
+
+
Microsoft Internet Explorer 6.0
+
+
+
Öffnen Sie (durch Doppel-Klicken) das Symbol mit dem gelben Vorhangschloß am unteren Rand des Browsers.
+
Selektieren Sie im nun geöffnetem Fenster "Zertifikat" den Karteireiter "Zertifizierungspfad".
+
Öffnen Sie (durch Doppel-Klicken) das an oberster Stelle gereihte Zertifikat.
+
Überprüfen Sie ob als Aussteller dieses Zertifikat (Karteireiter "Details", Eintrag "Aussteller")
+ein Unternehmen aufscheint, dem Sie vertrauen den Namen des Anmelde-Servers zu überprüfen.
+
Überprüfen Sie, ob dieses Zertifikat authentisch vom angegebene Unternehmen stammt. Dazu können Sie den
+Fingerabdruck (Karteireiter "Details", unterster Eintrag) des Zertifikats überprüfen. Am Ende dieses Dokuments ist
+eine von der IKT-Stabsstelle überprüfte Liste von Zertifikaten und deren Fingerabdruck aufgelistet.
+Überprüfen Sie ob das von Ihnen zu überprüfende Zertifikat
+in dieser Liste enthalten ist und der Fingerabruck mit dem Wert in der Liste übereinstimmt.
+
+
Ist Ihr zu prüfendes Zertifikat in der Liste enthalten und stimmt der Wert des Fingerabdrucks mit dem Wert
+in der Liste überein, dann ist das Zertifikat authentisch und der Anmeldevorgang kann fortgesetzt werden.
+
Ist Ihr zu prüfendes Zertifikat in der Liste enthalten aber stimmt der Wert des Fingerabdrucks nicht mit dem Wert
+in der Liste überein, dann ist das Zertifikat nicht authentisch und der Anmeldevorgang muss abgebrochen werden.
+
Ist Ihr zu prüfendes Zertifikat nicht in der Liste enthalten müssen Sie eine andere verlässliche Quelle für den
+Vergleich des Fingerabdrucks finden. Sofern das Zertifikat authentisch ist, kann der Anmeldevorgang fortgesetzt werden.
+
+
Ist das in Schritt 3. geöffnete Zertifikat nicht im Internet Explorer installiert erscheint das Zertifikat mit
+einem roten Kreuz. Sie können das Zertifikat installieren, indem Sie die Schaltfläche "Zertifikat installieren ..."
+(Karteireiter "Allgemein") aktivieren. In der Folge werden alle von dieser Zertifizierungsstelle ausgestellten Zertifikate
+vom Internet Explorer als vertrauenswürdig erkannt.
+
+
Netscape Navigator 7.0
+
+
Öffnen Sie (durch Klicken) das Symbol mit dem Vorhangschloss am rechten, unteren Rand des Browsers
+
Aktivieren Sie die Schaltfläche "Anzeigen"
+
Selektieren Sie im nun geöffnetem Fenster "Zertifikatsanzeige" den Karteireiter "Detail".
+
Aktivieren Sie (durch Klicken) das an oberster Stelle gereihte Zertifikat.
+
Überprüfen Sie ob als Aussteller dieses Zertifikat (Eintrag "Aussteller")
+ein Unternehmen aufscheint, dem Sie vertrauen den Namen des Anmelde-Servers zu überprüfen.
+
Überprüfen Sie, ob dieses Zertifikat authentisch vom angegebene Unternehmen stammt. Dazu können Sie den
+Fingerabdruck des Zertifikats überprüfen. Am Ende dieses Dokuments ist
+eine von der IKT-Stabsstelle überprüfte Liste von Zertifikaten und deren Fingerabdruck aufgelistet.
+Überprüfen Sie ob das von Ihnen zu überprüfende Zertifikat
+in dieser Liste enthalten ist und der Fingerabruck mit dem Wert in der Liste übereinstimmt.
+
+
Ist Ihr zu prüfendes Zertifikat in der Liste enthalten und stimmt der Wert des Fingerabdrucks mit dem Wert
+in der Liste überein, dann ist das Zertifikat authentisch und der Anmeldevorgang kann fortgesetzt werden.
+
Ist Ihr zu prüfendes Zertifikat in der Liste enthalten aber stimmt der Wert des Fingerabdrucks nicht mit dem Wert
+in der Liste überein, dann ist das Zertifikat nicht authentisch und der Anmeldevorgang muss abgebrochen werden.
+
Ist Ihr zu prüfendes Zertifikat nicht in der Liste enthalten müssen Sie eine andere verlässliche Quelle für den
+Vergleich des Fingerabdrucks finden. Sofern das Zertifikat authentisch ist, kann der Anmeldevorgang fortgesetzt werden.
+
+
Ist das Aussteller-Zertifikat nicht im Netscape Navigator installiert können Sie das Zertifikat installieren,
+indem Sie die "*.cer" Datei mit Netscape Navigator öffnen. In der Folge werden alle von dieser Zertifizierungsstelle
+ausgestellten Zertifikate vom Internet Explorer als vertrauenswürdig erkannt.
Folgende Ursachen können zu dem Fehler geführt haben:
Sie sind nicht mehr angemeldet (Verbindungen werden aus Sicherheitsgründen bei längerer Inaktivität beendet.) Melden Sie sich bitte erneut an.
Die Kommunikation mit dem Server schlug fehl.
-proxy.15=Auf die gewünschte Seite kann nicht zugegriffen werden, Sie besitzen nicht die benötigte Berechtigung.
-proxy.16=Fehler bei der Anmeldung. Eine Anmeldung an der Anwendung {0} war nicht möglich. Die maximale Anzahl von {1} ungültigen Loginversuchen wurde überschritten. Prüfen Sie bitte ihre Berechtigung.
-
-validator.00=Kein SAML:Assertion Objekt gefunden {0}
-validator.01=Im Subject kommt mehr als ein Element des Typs PhysicalPersonType vor {0}
-validator.02=Das verwendete Schlüsselformat eines öffentlichen Schlüssels ist unbekannt {0}
-validator.03=Der Namespace eines öffentlichen Schlüssels ist ungültig {0}
-validator.04=Es wurde ein SAML:Attribut ohne öffentlichen Schlüssel gefunden {0}
-validator.05=Es wurde {0} keine DSIG:Signature gefunden
-
-validator.06=Die Signatur ist ungültig
-validator.07=Das Zertifikat der Personenbindung ist ungültig. {0}
-validator.08=Das Manifest ist ungültig
-validator.09=Die öffentlichen Schlüssel des Identitiy Link stimmen nicht mit dem retournierten Zertifikat überein
-
-validator.10=Anzahl der URLs zur Authentisierungskomponente ungültig {0}
-validator.11="Geschäftsbereich" wurde nicht in den SAML-Attributen gefunden {0}
-validator.12=Der Namespace des SAML-Attributs "Geschäftsbereich" ist ungültig {0}
-validator.13=Das Target des 'Geschäftsbereichs' ist ungültig {0}
-validator.14="OA" wurde nicht in den SAML-Attributen gefunden {0}
-validator.15=Der Namespace des SAML-Attributs "OA" ist ungültig {0}
-validator.16=Die vorkonfigurierte URL der OnlineApplikation ist fehlerhaft {0}
-
-validator.17= Der SubjectDN-Name des von MOA-SP retournierten Zertifikats ist ungültig {0}
-#validator.18= Der SubjectDN-Name des von MOA-SP retournierten Zertifikats ist nicht als gültiger SubjectDN-Name für eine Personenbindung konfiguriert. {0} wurde NICHT in der Konfiguration gefunden
-validator.18= Das Zertifikat mit dem die Personenbindung signiert wurde, ist nicht zum Signieren der Personenbindung zulässig. Es konnte weder der SubjectDN ({0}) einem berechtigten Namen zugeordnet werden, noch enthält das Zertifikat die Erweiterung "Eigenschaft zur Ausstellung von Personenbindungen".
-
-validator.19=Das verwendete Zertifikat zum Signieren ist ungültig. {0}
-
-validator.21=Es konnte keine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konstruiert werden.
-validator.22=Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konnte konstruiert werden. Für zumindest ein Zertifikat dieser Kette fällt der Prüfzeitpunkt nicht in das Gültigkeitsintervall.
-validator.23=Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konnte konstruiert werden. Für alle Zertifikate dieser Kette fällt der Prüfzeitpunkt in das jeweilige Gültigkeitsintervall. Für zumindest ein Zertifikat konnte der Zertifikatstatus nicht festgestellt werden.
-validator.24=Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konnte konstruiert werden. Für alle Zertifikate dieser Kette fällt der Prüfzeitpunkt in das jeweilige Gültigkeitsintervall. Zumindest ein Zertifikat ist zum Prüfzeitpunkt widerrufen.
-validator.25=Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konnte konstruiert werden. Für alle Zertifikate dieser Kette fällt der Prüfzeitpunkt in das jeweilige Gültigkeitsintervall. Kein Zertifikat dieser Kette ist zum Prüfzeitpunkt widerrufen. Zumindest ein Zertifikat ist zum Prüfzeitpunkt gesperrt.
-
-validator.26=OA Applikation ist eine Wirtschaftsapplikation, trotzdem ist ein SAML-Attribut "Geschäftsbereich" enthalten
-validator.27=OA Applikation ist keine Wirtschaftsapplikation, trotzdem ist ein SAML-Attribut "wbPK" enthalten
-validator.28=Fehlerhafter Wert im "wbPK" SAML-Attribut {0}
-validator.29=Fehler beim Auslesen des "wbPK" SAML-Attributs {0}
-validator.30=Der Namespace des SAML-Attributs "wbPK" ist ungültig {0}
-validator.31="wbPK" wurde nicht in den SAML-Attributen gefunden {0}
-
-
-validator.32="Issuer" im AUTH-Block nicht vorhanden.
-validator.33="Issuer"-Attribut im AUTH-Block ("{0}") stimmt nicht mit dem Namen in der Personenbindung ("{1}") überein.
-validator.34=Das Geburtsdatum ({0}) stimmt nicht mit dem in der Personenbindung ({1}) überein.
-validator.35=Der Namespace des SAML-Attributs "Geburtsdatum" ist ungültig.
-validator.36=Die Anzahl der SAML-Attribute im AUTH-Block wurde verändert: {0} statt der erwarteten {1}
-validator.37=Die Reihenfolge der SAML-Attribute im AUTH-Block wurde verändert: Attribut "{0}" anstelle von Attribut "{1}" an der {2}. Position
-validator.38=Der {0} des SAML-Attributs Nummer {1} ({2}) im AUTH-Block ist ungültig: "{3}" anstelle von "{4}"
-validator.39=Der Austellungszeitpunkt (IssueInstant) im AUTH-Block wurde verändert: {0} anstelle von {1}. Möglicherweise wurde Ihre Bürgerkartenumgebung kompromittiert. Verwenden Sie Ihre Bürgerkarte bis auf weiteres nicht mehr, und setzen Sie sich umgehend mit dem Betreiber des Online-Dienstes, an dem Sie sich anmelden wollten, in Verbindung.
-
-
-validator.40=Überprüfung der {0}-Infobox fehlgeschlagen: {1}
-validator.41=Überprüfung der {0}-Infobox fehlgeschlagen: Keine Konfigurationsparameter zur Überprüfung der {0}-Infobox vorhanden.
-validator.42=Überprüfung der {0}-Infobox fehlgeschlagen: Es konnte keine geeignete Applikation zur Verifikation der {0}-Infobox geladen werden.
-validator.43=Überprüfung der {0}-Infobox fehlgeschlagen: Der InfoboxReadResponse für die {0}-Infobox konnte nicht erfolgreich geparst werden.
-validator.44=Überprüfung der {0}-Infobox fehlgeschlagen: In der {0}-Infobox Prüfapplikation ist ein Fehler aufgetreten.
-validator.45=Überprüfung der {0}-Infobox fehlgeschlagen: Der {1} des von der {0}-Infobox Prüfapplikation zurückgegebenen SAML-Attributes Nummer {2} ist {3}.
-validator.46=Überprüfung der {0}-Infobox fehlgeschlagen: Der Wert des von der Prüfapplikation zurückgegebenen SAML-Attributes Nummer {1} ist ungültig.
-validator.47=Überprüfung der {0}-Infobox fehlgeschlagen: Das von der Prüfapplikation zurückgegebene SAML-Attribut Nummer {1} kann nicht eindeutig zugeordnet werden.
-validator.48={0}-Infobox wurde nicht von der BKU übermittelt: Für die Anmeldung an dieser Online-Applikation ist die {0}-Infobox erforderlich. Bitte melden Sie sich erneut an, und selektieren Sie in Ihrer BKU die {0}-Infobox.
-
-validator.49=Beim Ermitteln der Personenbindungs-OID im Zertifikat, mit dem die Personenbindung signiert wurde, ist ein Fehler aufgetreten.
-
-validator.50=Transformationskette in der Signatur stimmt mit keiner Transformationskette aus dem Prüfprofil überein.
-
-
-ssl.01=Validierung des SSL-Server-Endzertifikates hat fehlgeschlagen
diff --git a/id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties b/id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties
new file mode 100644
index 000000000..4cfa6f765
--- /dev/null
+++ b/id/server/idserverlib/src/main/resources/resources/properties/id_messages_de.properties
@@ -0,0 +1,160 @@
+# This file contains exception messages in the standard Java properties
+# format. The messages may contain formatting patterns as definied in the
+# java.text.MessageFormat class.
+
+#
+# Error messages: the key corresponds to the error code
+#
+
+# status messages included in of GetAuthenticationDataService
+1200=Anfrage erfolgreich beantwortet
+1201=Fehlerhaftes Requestformat: mehr als 1 Request übergeben
+1202=Fehlerhaftes Requestformat: kein SAML-Artifakt übergeben
+1203=Fehlerhaftes Requestformat: mehr als 1 SAML-Artifakt übergeben
+1204=Fehlerhaftes Requestformat
+1205=Fehler beim Abholen der Anmeldedaten, fehlerhaftes SAML-Artifakt Format (SAML-Artifakt={0}): {1}
+1206=Fehler beim Abholen der Anmeldedaten, unbekanntes SAML-Artifakt (SAML-Artifakt={0})
+1207=Zeitüberschreitung beim Abholen der Anmeldedaten (SAML-Artifakt={0})
+1299=Interner Server-Fehler
+
+auth.00=Anmeldung an dieser Applikation wird nicht unterstützt (URL={0})
+auth.01=Die Anmeldung ist bereits im Gange (MOASessionID={0})
+auth.02=MOASessionID ist unbekannt (MOASessionID={0})
+auth.03=Fehler beim Abholen einer Datei von der URL "{0}": Interne Fehlermeldung: {1}
+auth.04=Fehler beim Auslesen der Resource "{0}": {1}
+auth.05=Fehlender Parameter "{1}" beim Aufruf von "{0}"
+auth.06=Fehler beim Speichern der Anmeldedaten, fehlerhaftes SAML-Artifact Format (SAML-Artifact={0})
+auth.07=Aufruf von {0} muss mit Schema "https:" erfolgen. Hinweis: Bitte Dokumentation zu GenericConfiguration: "FrontendServlets.EnableHTTPConnection" beachten.
+auth.08=In der Bürgerkartenumgebung ist ein Fehler aufgetreten: Fehlercode {0}: {1}
+auth.09=Zur Auswahlseite der Bürgertenumgebung (URL={0}) konnte keine Verbindung hergestellt werden. : HTTP-Statuscode {1}
+auth.10=Fehler beim Aufruf von "{0}": Parameter "{1}" fehlt
+auth.11=Die zentral gespeicherte Auswahlseite für Bürgerkartenumgebungen konnte nicht geladen werden. Bitte informieren Sie den Adminstrator des Servers und versuchen Sie die Anmeldung in einiger Zeit abermals. URL "{0}" Interne Fehlermeldung: {1}
+
+init.00=MOA ID Authentisierung wurde erfolgreich gestartet
+init.01=Fehler beim Aktivieren des IAIK-JCE/JSSE/JDK1.3 Workaround: SSL ist möglicherweise nicht verfügbar
+init.02=Fehler beim Starten des Service MOA ID Authentisierung
+
+config.00=MOA ID Konfiguration erfolgreich geladen: {0}
+config.01=Umgebungsvariable "moa.id.configuration" nicht gesetzt
+config.02=Nicht klassifizierter Fehler in der Konfiguration (siehe Log-Datei für Details)
+config.03=Fehler beim Einlesen der Konfiguration (siehe Log-Datei für Details)
+config.04=Fehler beim Lesen der MOA ID Konfiguration; es wird weiterhin die ursprüngliche Konfiguration verwendet
+config.05=Fehlerhafter Wert für "{0}" in der MOA ID Konfiguration
+config.06=Doppelter Eintrag in der Konfiguration für die Online-Applikation gefunden: {0}
+config.07=Klasse {0} kann nicht instanziert werden
+config.08=Fehlender Wert für "{0}" in der MOA ID Konfiguration
+config.09=Fehler beim Erstellen von X509IssuerSerial (IssuerName={0}, SerialNumber={1})
+config.10=Fehler in der MOA SPSS Konfiguration: {0}
+config.11=LoginParameterResolver konnte nicht konfiguriert werden {0}
+config.12=Standard DATA URL Prefix "{0}" wird anstatt des konfigurierten DATA URL Prefix verwendet
+config.13=Konfiguriertes DATA URL Prefix "{0}" muss mit http:// bzw. https:// beginnen
+config.14=LoginParameterResolver-Fehler: {0}
+config.15=Das Personenbindungs-Trust-Profil (TrustProfileID = {0}) darf nicht für die Verifikation anderer Infoboxen verwendet werden.
+config.16=MOA ID Proxy konnte nicht gestartet werden. Das Element ConnnectionParameter im allgemeinen Konfigurationsteil der MOA-ID-PROXY Konfigurationsdatei fehlt.
+
+
+parser.00=Leichter Fehler beim Parsen: {0}
+parser.01=Fehler beim Parsen: {0}
+parser.02=Schwerer Fehler beim Parsen: {0}
+parser.03=Fehler beim Parsen oder Konvertieren eines ECDSA-Schlüssels: {0}
+parser.04=Fehler beim Serialisieren: {0}
+parser.05=Fehler beim Serialisieren: SAML-Attribute {0} (Namespace: {1}) konnte nicht serialsiert werden.
+parser.06=Fehler beim Parsen: {0}-InfoboxResponse nicht vollständig ({1} im {2} fehlt)
+parser.07=Fehler beim Parsen: Assoziatives Array im {0}-InfoboxResponse enthält einen Schlüssel ohne zugehörigen Wert ("Key"-Element statt "Pair"-Element).
+
+builder.00=Fehler beim Aufbau der Struktur "{0}": {1}
+builder.01=Fehlerhaftes Template: Kennung "{0}" fehlt
+
+service.00=Fehler beim Aufruf des Web Service: {0}
+service.01=Fehler beim Aufruf des Web Service: kein Endpoint
+service.02=Fehler beim Aufruf des Web Service, Status {0}: {1}
+service.03=Fehler beim Aufruf des SPSS-API: {0}
+
+cleaner.00=AuthenticationSessionCleaner wurde gestartet
+cleaner.01=Fehler im AuthenticationSessionCleaner
+cleaner.02=MOASession {0} ist abgelaufen
+cleaner.03=Anmeldedaten zu SAML-Artifakt {0} sind abgelaufen
+
+proxy.00=MOA ID Proxy wurde erfolgreich gestartet
+proxy.01=Unbekannter URL {0}, erwarteter URL auf {1}
+proxy.02=Unbekannter URL {0}. Es wurde keine Übereinstimmung zum Attribut publicURLPrefix im Element 'OnlineApplication' der verwendeten MOA-ID Konfigurationsdatei gefunden.
+proxy.04=URL {0} : {1}
+proxy.05=Fehler beim Aufbauen der SSLSocketFactory für {0} : {1}
+proxy.06=Fehler beim Starten des Service MOA ID Proxy
+proxy.07=Sie sind nicht bzw. nicht mehr angemeldet. Melden Sie sich bitte erneut an.
+proxy.08=Kein URL-Mapping in der HttpSession verfügbar (URL {0})
+proxy.09=Fehler beim Aufruf des MOA-ID Auth API: {0}
+proxy.10=Fehler beim Weiterleiten (MOA-ID Proxy)
+proxy.11=Beim Weiterleiten der Verbindung zur Anwendung ist ein Fehler aufgetreten.
+proxy.12=Fehler bei der Anmeldung. Eine Anmeldung an der Anwendung {0} war nicht möglich. Prüfen Sie bitte ihre Berechtigung.
+proxy.13=Fehler beim Aufruf des LoginParameterResolvers zu URL-Präfix: {0}
+proxy.14=
Folgende Ursachen können zu dem Fehler geführt haben:
Sie sind nicht mehr angemeldet (Verbindungen werden aus Sicherheitsgründen bei längerer Inaktivität beendet.) Melden Sie sich bitte erneut an.
Die Kommunikation mit dem Server schlug fehl.
+proxy.15=Auf die gewünschte Seite kann nicht zugegriffen werden, Sie besitzen nicht die benötigte Berechtigung.
+proxy.16=Fehler bei der Anmeldung. Eine Anmeldung an der Anwendung {0} war nicht möglich. Die maximale Anzahl von {1} ungültigen Loginversuchen wurde überschritten. Prüfen Sie bitte ihre Berechtigung.
+
+validator.00=Kein SAML:Assertion Objekt gefunden {0}
+validator.01=Im Subject kommt mehr als ein Element des Typs PhysicalPersonType vor {0}
+validator.02=Das verwendete Schlüsselformat eines öffentlichen Schlüssels ist unbekannt {0}
+validator.03=Der Namespace eines öffentlichen Schlüssels ist ungültig {0}
+validator.04=Es wurde ein SAML:Attribut ohne öffentlichen Schlüssel gefunden {0}
+validator.05=Es wurde {0} keine DSIG:Signature gefunden
+
+validator.06=Die Signatur ist ungültig
+validator.07=Das Zertifikat der Personenbindung ist ungültig. {0}
+validator.08=Das Manifest ist ungültig
+validator.09=Die öffentlichen Schlüssel des Identitiy Link stimmen nicht mit dem retournierten Zertifikat überein
+
+validator.10=Anzahl der URLs zur Authentisierungskomponente ungültig {0}
+validator.11="Geschäftsbereich" wurde nicht in den SAML-Attributen gefunden {0}
+validator.12=Der Namespace des SAML-Attributs "Geschäftsbereich" ist ungültig {0}
+validator.13=Das Target des 'Geschäftsbereichs' ist ungültig {0}
+validator.14="OA" wurde nicht in den SAML-Attributen gefunden {0}
+validator.15=Der Namespace des SAML-Attributs "OA" ist ungültig {0}
+validator.16=Die vorkonfigurierte URL der OnlineApplikation ist fehlerhaft {0}
+
+validator.17= Der SubjectDN-Name des von MOA-SP retournierten Zertifikats ist ungültig {0}
+#validator.18= Der SubjectDN-Name des von MOA-SP retournierten Zertifikats ist nicht als gültiger SubjectDN-Name für eine Personenbindung konfiguriert. {0} wurde NICHT in der Konfiguration gefunden
+validator.18= Das Zertifikat mit dem die Personenbindung signiert wurde, ist nicht zum Signieren der Personenbindung zulässig. Es konnte weder der SubjectDN ({0}) einem berechtigten Namen zugeordnet werden, noch enthält das Zertifikat die Erweiterung "Eigenschaft zur Ausstellung von Personenbindungen".
+
+validator.19=Das verwendete Zertifikat zum Signieren ist ungültig. {0}
+
+validator.21=Es konnte keine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konstruiert werden.
+validator.22=Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konnte konstruiert werden. Für zumindest ein Zertifikat dieser Kette fällt der Prüfzeitpunkt nicht in das Gültigkeitsintervall.
+validator.23=Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konnte konstruiert werden. Für alle Zertifikate dieser Kette fällt der Prüfzeitpunkt in das jeweilige Gültigkeitsintervall. Für zumindest ein Zertifikat konnte der Zertifikatstatus nicht festgestellt werden.
+validator.24=Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konnte konstruiert werden. Für alle Zertifikate dieser Kette fällt der Prüfzeitpunkt in das jeweilige Gültigkeitsintervall. Zumindest ein Zertifikat ist zum Prüfzeitpunkt widerrufen.
+validator.25=Eine formal korrekte Zertifikatskette vom Signatorzertifikat zu einem vertrauenswürdigen Wurzelzertifikat konnte konstruiert werden. Für alle Zertifikate dieser Kette fällt der Prüfzeitpunkt in das jeweilige Gültigkeitsintervall. Kein Zertifikat dieser Kette ist zum Prüfzeitpunkt widerrufen. Zumindest ein Zertifikat ist zum Prüfzeitpunkt gesperrt.
+
+validator.26=OA Applikation ist eine Wirtschaftsapplikation, trotzdem ist ein SAML-Attribut "Geschäftsbereich" enthalten
+validator.27=OA Applikation ist keine Wirtschaftsapplikation, trotzdem ist ein SAML-Attribut "wbPK" enthalten
+validator.28=Fehlerhafter Wert im "wbPK" SAML-Attribut {0}
+validator.29=Fehler beim Auslesen des "wbPK" SAML-Attributs {0}
+validator.30=Der Namespace des SAML-Attributs "wbPK" ist ungültig {0}
+validator.31="wbPK" wurde nicht in den SAML-Attributen gefunden {0}
+
+
+validator.32="Issuer" im AUTH-Block nicht vorhanden.
+validator.33="Issuer"-Attribut im AUTH-Block ("{0}") stimmt nicht mit dem Namen in der Personenbindung ("{1}") überein.
+validator.34=Das Geburtsdatum ({0}) stimmt nicht mit dem in der Personenbindung ({1}) überein.
+validator.35=Der Namespace des SAML-Attributs "Geburtsdatum" ist ungültig.
+validator.36=Die Anzahl der SAML-Attribute im AUTH-Block wurde verändert: {0} statt der erwarteten {1}
+validator.37=Die Reihenfolge der SAML-Attribute im AUTH-Block wurde verändert: Attribut "{0}" anstelle von Attribut "{1}" an der {2}. Position
+validator.38=Der {0} des SAML-Attributs Nummer {1} ({2}) im AUTH-Block ist ungültig: "{3}" anstelle von "{4}"
+validator.39=Der Austellungszeitpunkt (IssueInstant) im AUTH-Block wurde verändert: {0} anstelle von {1}. Möglicherweise wurde Ihre Bürgerkartenumgebung kompromittiert. Verwenden Sie Ihre Bürgerkarte bis auf weiteres nicht mehr, und setzen Sie sich umgehend mit dem Betreiber des Online-Dienstes, an dem Sie sich anmelden wollten, in Verbindung.
+
+
+validator.40=Überprüfung der {0}-Infobox fehlgeschlagen: {1}
+validator.41=Überprüfung der {0}-Infobox fehlgeschlagen: Keine Konfigurationsparameter zur Überprüfung der {0}-Infobox vorhanden.
+validator.42=Überprüfung der {0}-Infobox fehlgeschlagen: Es konnte keine geeignete Applikation zur Verifikation der {0}-Infobox geladen werden.
+validator.43=Überprüfung der {0}-Infobox fehlgeschlagen: Der InfoboxReadResponse für die {0}-Infobox konnte nicht erfolgreich geparst werden.
+validator.44=Überprüfung der {0}-Infobox fehlgeschlagen: In der {0}-Infobox Prüfapplikation ist ein Fehler aufgetreten.
+validator.45=Überprüfung der {0}-Infobox fehlgeschlagen: Der {1} des von der {0}-Infobox Prüfapplikation zurückgegebenen SAML-Attributes Nummer {2} ist {3}.
+validator.46=Überprüfung der {0}-Infobox fehlgeschlagen: Der Wert des von der Prüfapplikation zurückgegebenen SAML-Attributes Nummer {1} ist ungültig.
+validator.47=Überprüfung der {0}-Infobox fehlgeschlagen: Das von der Prüfapplikation zurückgegebene SAML-Attribut Nummer {1} kann nicht eindeutig zugeordnet werden.
+validator.48={0}-Infobox wurde nicht von der BKU übermittelt: Für die Anmeldung an dieser Online-Applikation ist die {0}-Infobox erforderlich. Bitte melden Sie sich erneut an, und selektieren Sie in Ihrer BKU die {0}-Infobox.
+
+validator.49=Beim Ermitteln der Personenbindungs-OID im Zertifikat, mit dem die Personenbindung signiert wurde, ist ein Fehler aufgetreten.
+
+validator.50=Transformationskette in der Signatur stimmt mit keiner Transformationskette aus dem Prüfprofil überein.
+
+
+ssl.01=Validierung des SSL-Server-Endzertifikates hat fehlgeschlagen
diff --git a/id/server/idserverlib/src/main/resources/resources/wsdl/MOA-ID-1.0.wsdl b/id/server/idserverlib/src/main/resources/resources/wsdl/MOA-ID-1.0.wsdl
new file mode 100644
index 000000000..5751b3e58
--- /dev/null
+++ b/id/server/idserverlib/src/main/resources/resources/wsdl/MOA-ID-1.0.wsdl
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/id/server/idserverlib/src/main/resources/resources/wsdl/MOA-ID-1.x.wsdl b/id/server/idserverlib/src/main/resources/resources/wsdl/MOA-ID-1.x.wsdl
new file mode 100644
index 000000000..45152cb38
--- /dev/null
+++ b/id/server/idserverlib/src/main/resources/resources/wsdl/MOA-ID-1.x.wsdl
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/id/server/idserverlib/src/main/resources/resources/wsdl/MOA-SPSS-1.2.xsd b/id/server/idserverlib/src/main/resources/resources/wsdl/MOA-SPSS-1.2.xsd
new file mode 100644
index 000000000..d7a06d6e7
--- /dev/null
+++ b/id/server/idserverlib/src/main/resources/resources/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/idserverlib/src/main/resources/resources/xmldata/CertInfoDsigSignature.xml b/id/server/idserverlib/src/main/resources/resources/xmldata/CertInfoDsigSignature.xml
new file mode 100644
index 000000000..7896cb399
--- /dev/null
+++ b/id/server/idserverlib/src/main/resources/resources/xmldata/CertInfoDsigSignature.xml
@@ -0,0 +1,139 @@
+id('signed-data')/node()C0hW5jQojphweuFzPb+CNkHwhe4=id('refetsi')/etsi:QualifyingProperties/etsi:SignedPropertiesBdsc7wAfyMyZ21ChcF+tRh3D7sU=lCz3hDQMbqRMmCieG3fQFax3f8JX86gDi7mf4h03J7vlJjSOJQ4Wh/3Kd81ntKuh
+qFphj2cEhQYX08e6SeaU+7H7qdRa+xFRDRGav8L5x5xCUQT2SV+2/hx0C7UuJt+p
+tewtbqVAcNxgKPlBuIzyXGOrBdiinp1KftEQoVCpPCI=MIIFJTCCBA2gAwIBAgICGTcwDQYJKoZIhvcNAQEFBQAwgaExCzAJBgNVBAYTAkFU
+MUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGlt
+IGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIzAhBgNVBAsTGmEtc2lnbi1URVNU
+LVByZW1pdW0tRW5jLTAxMSMwIQYDVQQDExphLXNpZ24tVEVTVC1QcmVtaXVtLUVu
+Yy0wMTAeFw0wMzAyMTAxMzIwNThaFw0wNjAyMTAxMzIwNThaMGoxCzAJBgNVBAYT
+AkFUMRwwGgYDVQQDExNUZXN0cGVyc29uIE1PQTQgQlJaMQwwCgYDVQQEEwNCUlox
+GDAWBgNVBCoTD1Rlc3RwZXJzb24gTU9BNDEVMBMGA1UEBRMMNzkwMTg3NDYxNjMz
+MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDS/UW1/tZeCh7HHQmj8auUTEc4
+edAgRDkUVKOm0tF3kE3WZlhGDZL0p84xsdIKyI+bwDCMATATkQwDo/Xxn9jJMi4/
+t80bNyRsHk9giA0wcvz9NgmEcDwKNqawGsR9gNeK8TyIC8AuDkj1EwtkAObMvtp/
+Z1phi47x3JxDDfGDpQIDAQABo4ICHzCCAhswEwYDVR0jBAwwCoAIS7OAw3GTPNgw
+JwYIKwYBBQUHAQMBAf8EGDAWMAgGBgQAjkYBATAKBggrBgEFBQcLATCBggYIKwYB
+BQUHAQEEdjB0MCkGCCsGAQUFBzABhh1odHRwOi8vd3d3LmEtdHJ1c3QuYXQ6ODIv
+b2NzcDBHBggrBgEFBQcwAoY7aHR0cDovL3d3dy5hLXRydXN0LmF0L2NlcnRzL2Et
+c2lnbi1URVNULVByZW1pdW0tU2lnLTAxYS5jcnQwgZQGA1UdIASBjDCBiTB9BgYq
+KAARAQQwczA1BggrBgEFBQcCARYpaHR0cDovL3d3dy5hLXRydXN0LmF0L2RvY3Mv
+Y3AvYS1zaWduLVRFU1QwOgYIKwYBBQUHAgIwLhosRGllc2VzIFplcnRpZmlrYXQg
+ZGllbnQgbnVyIHp1IFRlc3R6d2Vja2VuICEwCAYGBACLMAEBMG8GA1UdHwRoMGYw
+ZKBioGCGXmxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLVRFU1QtUHJl
+bWl1bS1FbmMtMDEsbz1BLVRydXN0LGM9QVQ/Y2VydGlmaWNhdGVyZXZvY2F0aW9u
+bGlzdD8wEQYDVR0OBAoECE4DxL9ky4M+MA4GA1UdDwEB/wQEAwIGwDAgBgNVHREE
+GTAXgRV0ZXN0cGVyc29uNEBicnouZ3YuYXQwCQYDVR0TBAIwADANBgkqhkiG9w0B
+AQUFAAOCAQEAioVvsZN+NnQxXMTGdjKveTBMRTYzHflkSC8lI9XXltP5+mjIuoB2
+Tn6voovA8dXz9jTsnQt8f8ye0CL2bSS9UVD1jv8So3bavquW+HlkZBAZvL39APNL
+PjUUnWn0QOnrQAJ6W47UwGAUgEw3KcBcJaEa4Xb/8kUj618xGzWl6X0mKsVpxkrf
++5Cj+nmwDqChll08/90MmhSY4M5FrvmQ9GjAN5FHVsk0FPp02tKCRzoBJtzpB1DW
+KHlgiDHUAXy5eD0XI7PXebPNZ4InvY/jC/IH8PRLdJT249YQmUxZ4neTtFDvb8C1
+Qh6k725fh3hVxqX8ZwwWj9+iGQVk53K3CA==
+
+Überprüfung des Namen des Anmelde-Servers
+
+
+
Prüfung der Identität des MOA-ID Servers
+
+Bevor Sie sich in den folgenden Schritten an eine Online-Applikation anmelden,
+wird empfohlen den Namen des Anmelde-Servers zu überprüfen.
+Zu diesem Zweck identifiziert Ihr Webbrowser den Anmelde-Server mit Hilfe eines Zertifikates.
+Ihre Aufgabe ist es zu überprüfen, ob das Server-Zertifikat von einem Unternehmen ausgestellt
+wurde, dem Sie vertrauen.
+
+Die folgenden Absätze beschreiben, wie Sie diese Überprüfung durchführen können.
+Führen Sie jene Arbeitsschritte durch, die für den von Ihnen verwendeten Webbrowser zutreffend sind.
+
+
Microsoft Internet Explorer 6.0
+
+
+
Öffnen Sie (durch Doppel-Klicken) das Symbol mit dem gelben Vorhangschloß am unteren Rand des Browsers.
+
Selektieren Sie im nun geöffnetem Fenster "Zertifikat" den Karteireiter "Zertifizierungspfad".
+
Öffnen Sie (durch Doppel-Klicken) das an oberster Stelle gereihte Zertifikat.
+
Überprüfen Sie ob als Aussteller dieses Zertifikat (Karteireiter "Details", Eintrag "Aussteller")
+ein Unternehmen aufscheint, dem Sie vertrauen den Namen des Anmelde-Servers zu überprüfen.
+
Überprüfen Sie, ob dieses Zertifikat authentisch vom angegebene Unternehmen stammt. Dazu können Sie den
+Fingerabdruck (Karteireiter "Details", unterster Eintrag) des Zertifikats überprüfen. Am Ende dieses Dokuments ist
+eine von der IKT-Stabsstelle überprüfte Liste von Zertifikaten und deren Fingerabdruck aufgelistet.
+Überprüfen Sie ob das von Ihnen zu überprüfende Zertifikat
+in dieser Liste enthalten ist und der Fingerabruck mit dem Wert in der Liste übereinstimmt.
+
+
Ist Ihr zu prüfendes Zertifikat in der Liste enthalten und stimmt der Wert des Fingerabdrucks mit dem Wert
+in der Liste überein, dann ist das Zertifikat authentisch und der Anmeldevorgang kann fortgesetzt werden.
+
Ist Ihr zu prüfendes Zertifikat in der Liste enthalten aber stimmt der Wert des Fingerabdrucks nicht mit dem Wert
+in der Liste überein, dann ist das Zertifikat nicht authentisch und der Anmeldevorgang muss abgebrochen werden.
+
Ist Ihr zu prüfendes Zertifikat nicht in der Liste enthalten müssen Sie eine andere verlässliche Quelle für den
+Vergleich des Fingerabdrucks finden. Sofern das Zertifikat authentisch ist, kann der Anmeldevorgang fortgesetzt werden.
+
+
Ist das in Schritt 3. geöffnete Zertifikat nicht im Internet Explorer installiert erscheint das Zertifikat mit
+einem roten Kreuz. Sie können das Zertifikat installieren, indem Sie die Schaltfläche "Zertifikat installieren ..."
+(Karteireiter "Allgemein") aktivieren. In der Folge werden alle von dieser Zertifizierungsstelle ausgestellten Zertifikate
+vom Internet Explorer als vertrauenswürdig erkannt.
+
+
Netscape Navigator 7.0
+
+
Öffnen Sie (durch Klicken) das Symbol mit dem Vorhangschloss am rechten, unteren Rand des Browsers
+
Aktivieren Sie die Schaltfläche "Anzeigen"
+
Selektieren Sie im nun geöffnetem Fenster "Zertifikatsanzeige" den Karteireiter "Detail".
+
Aktivieren Sie (durch Klicken) das an oberster Stelle gereihte Zertifikat.
+
Überprüfen Sie ob als Aussteller dieses Zertifikat (Eintrag "Aussteller")
+ein Unternehmen aufscheint, dem Sie vertrauen den Namen des Anmelde-Servers zu überprüfen.
+
Überprüfen Sie, ob dieses Zertifikat authentisch vom angegebene Unternehmen stammt. Dazu können Sie den
+Fingerabdruck des Zertifikats überprüfen. Am Ende dieses Dokuments ist
+eine von der IKT-Stabsstelle überprüfte Liste von Zertifikaten und deren Fingerabdruck aufgelistet.
+Überprüfen Sie ob das von Ihnen zu überprüfende Zertifikat
+in dieser Liste enthalten ist und der Fingerabruck mit dem Wert in der Liste übereinstimmt.
+
+
Ist Ihr zu prüfendes Zertifikat in der Liste enthalten und stimmt der Wert des Fingerabdrucks mit dem Wert
+in der Liste überein, dann ist das Zertifikat authentisch und der Anmeldevorgang kann fortgesetzt werden.
+
Ist Ihr zu prüfendes Zertifikat in der Liste enthalten aber stimmt der Wert des Fingerabdrucks nicht mit dem Wert
+in der Liste überein, dann ist das Zertifikat nicht authentisch und der Anmeldevorgang muss abgebrochen werden.
+
Ist Ihr zu prüfendes Zertifikat nicht in der Liste enthalten müssen Sie eine andere verlässliche Quelle für den
+Vergleich des Fingerabdrucks finden. Sofern das Zertifikat authentisch ist, kann der Anmeldevorgang fortgesetzt werden.
+
+
Ist das Aussteller-Zertifikat nicht im Netscape Navigator installiert können Sie das Zertifikat installieren,
+indem Sie die "*.cer" Datei mit Netscape Navigator öffnen. In der Folge werden alle von dieser Zertifizierungsstelle
+ausgestellten Zertifikate vom Internet Explorer als vertrauenswürdig erkannt.
+
+
+2003-05-06T07:09:50ZFrhu1o4mL4gQHdJcU0xSA/h4COE=CN=a-sign-TEST-Premium-Enc-01,OU=a-sign-TEST-Premium-Enc-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT6455text/html
\ No newline at end of file
diff --git a/id/server/idserverlib/src/main/resources/wsdl/MOA-ID-1.0.wsdl b/id/server/idserverlib/src/main/resources/wsdl/MOA-ID-1.0.wsdl
deleted file mode 100644
index 5751b3e58..000000000
--- a/id/server/idserverlib/src/main/resources/wsdl/MOA-ID-1.0.wsdl
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/id/server/idserverlib/src/main/resources/wsdl/MOA-ID-1.x.wsdl b/id/server/idserverlib/src/main/resources/wsdl/MOA-ID-1.x.wsdl
deleted file mode 100644
index 45152cb38..000000000
--- a/id/server/idserverlib/src/main/resources/wsdl/MOA-ID-1.x.wsdl
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/id/server/idserverlib/src/main/resources/wsdl/MOA-SPSS-1.2.xsd b/id/server/idserverlib/src/main/resources/wsdl/MOA-SPSS-1.2.xsd
deleted file mode 100644
index d7a06d6e7..000000000
--- a/id/server/idserverlib/src/main/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/idserverlib/src/main/resources/xmldata/CertInfoDsigSignature.xml b/id/server/idserverlib/src/main/resources/xmldata/CertInfoDsigSignature.xml
deleted file mode 100644
index 7896cb399..000000000
--- a/id/server/idserverlib/src/main/resources/xmldata/CertInfoDsigSignature.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-id('signed-data')/node()C0hW5jQojphweuFzPb+CNkHwhe4=id('refetsi')/etsi:QualifyingProperties/etsi:SignedPropertiesBdsc7wAfyMyZ21ChcF+tRh3D7sU=lCz3hDQMbqRMmCieG3fQFax3f8JX86gDi7mf4h03J7vlJjSOJQ4Wh/3Kd81ntKuh
-qFphj2cEhQYX08e6SeaU+7H7qdRa+xFRDRGav8L5x5xCUQT2SV+2/hx0C7UuJt+p
-tewtbqVAcNxgKPlBuIzyXGOrBdiinp1KftEQoVCpPCI=MIIFJTCCBA2gAwIBAgICGTcwDQYJKoZIhvcNAQEFBQAwgaExCzAJBgNVBAYTAkFU
-MUgwRgYDVQQKEz9BLVRydXN0IEdlcy4gZi4gU2ljaGVyaGVpdHNzeXN0ZW1lIGlt
-IGVsZWt0ci4gRGF0ZW52ZXJrZWhyIEdtYkgxIzAhBgNVBAsTGmEtc2lnbi1URVNU
-LVByZW1pdW0tRW5jLTAxMSMwIQYDVQQDExphLXNpZ24tVEVTVC1QcmVtaXVtLUVu
-Yy0wMTAeFw0wMzAyMTAxMzIwNThaFw0wNjAyMTAxMzIwNThaMGoxCzAJBgNVBAYT
-AkFUMRwwGgYDVQQDExNUZXN0cGVyc29uIE1PQTQgQlJaMQwwCgYDVQQEEwNCUlox
-GDAWBgNVBCoTD1Rlc3RwZXJzb24gTU9BNDEVMBMGA1UEBRMMNzkwMTg3NDYxNjMz
-MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDS/UW1/tZeCh7HHQmj8auUTEc4
-edAgRDkUVKOm0tF3kE3WZlhGDZL0p84xsdIKyI+bwDCMATATkQwDo/Xxn9jJMi4/
-t80bNyRsHk9giA0wcvz9NgmEcDwKNqawGsR9gNeK8TyIC8AuDkj1EwtkAObMvtp/
-Z1phi47x3JxDDfGDpQIDAQABo4ICHzCCAhswEwYDVR0jBAwwCoAIS7OAw3GTPNgw
-JwYIKwYBBQUHAQMBAf8EGDAWMAgGBgQAjkYBATAKBggrBgEFBQcLATCBggYIKwYB
-BQUHAQEEdjB0MCkGCCsGAQUFBzABhh1odHRwOi8vd3d3LmEtdHJ1c3QuYXQ6ODIv
-b2NzcDBHBggrBgEFBQcwAoY7aHR0cDovL3d3dy5hLXRydXN0LmF0L2NlcnRzL2Et
-c2lnbi1URVNULVByZW1pdW0tU2lnLTAxYS5jcnQwgZQGA1UdIASBjDCBiTB9BgYq
-KAARAQQwczA1BggrBgEFBQcCARYpaHR0cDovL3d3dy5hLXRydXN0LmF0L2RvY3Mv
-Y3AvYS1zaWduLVRFU1QwOgYIKwYBBQUHAgIwLhosRGllc2VzIFplcnRpZmlrYXQg
-ZGllbnQgbnVyIHp1IFRlc3R6d2Vja2VuICEwCAYGBACLMAEBMG8GA1UdHwRoMGYw
-ZKBioGCGXmxkYXA6Ly9sZGFwLmEtdHJ1c3QuYXQvb3U9YS1zaWduLVRFU1QtUHJl
-bWl1bS1FbmMtMDEsbz1BLVRydXN0LGM9QVQ/Y2VydGlmaWNhdGVyZXZvY2F0aW9u
-bGlzdD8wEQYDVR0OBAoECE4DxL9ky4M+MA4GA1UdDwEB/wQEAwIGwDAgBgNVHREE
-GTAXgRV0ZXN0cGVyc29uNEBicnouZ3YuYXQwCQYDVR0TBAIwADANBgkqhkiG9w0B
-AQUFAAOCAQEAioVvsZN+NnQxXMTGdjKveTBMRTYzHflkSC8lI9XXltP5+mjIuoB2
-Tn6voovA8dXz9jTsnQt8f8ye0CL2bSS9UVD1jv8So3bavquW+HlkZBAZvL39APNL
-PjUUnWn0QOnrQAJ6W47UwGAUgEw3KcBcJaEa4Xb/8kUj618xGzWl6X0mKsVpxkrf
-+5Cj+nmwDqChll08/90MmhSY4M5FrvmQ9GjAN5FHVsk0FPp02tKCRzoBJtzpB1DW
-KHlgiDHUAXy5eD0XI7PXebPNZ4InvY/jC/IH8PRLdJT249YQmUxZ4neTtFDvb8C1
-Qh6k725fh3hVxqX8ZwwWj9+iGQVk53K3CA==
-
-Überprüfung des Namen des Anmelde-Servers
-
-
-
Prüfung der Identität des MOA-ID Servers
-
-Bevor Sie sich in den folgenden Schritten an eine Online-Applikation anmelden,
-wird empfohlen den Namen des Anmelde-Servers zu überprüfen.
-Zu diesem Zweck identifiziert Ihr Webbrowser den Anmelde-Server mit Hilfe eines Zertifikates.
-Ihre Aufgabe ist es zu überprüfen, ob das Server-Zertifikat von einem Unternehmen ausgestellt
-wurde, dem Sie vertrauen.
-
-Die folgenden Absätze beschreiben, wie Sie diese Überprüfung durchführen können.
-Führen Sie jene Arbeitsschritte durch, die für den von Ihnen verwendeten Webbrowser zutreffend sind.
-
-
Microsoft Internet Explorer 6.0
-
-
-
Öffnen Sie (durch Doppel-Klicken) das Symbol mit dem gelben Vorhangschloß am unteren Rand des Browsers.
-
Selektieren Sie im nun geöffnetem Fenster "Zertifikat" den Karteireiter "Zertifizierungspfad".
-
Öffnen Sie (durch Doppel-Klicken) das an oberster Stelle gereihte Zertifikat.
-
Überprüfen Sie ob als Aussteller dieses Zertifikat (Karteireiter "Details", Eintrag "Aussteller")
-ein Unternehmen aufscheint, dem Sie vertrauen den Namen des Anmelde-Servers zu überprüfen.
-
Überprüfen Sie, ob dieses Zertifikat authentisch vom angegebene Unternehmen stammt. Dazu können Sie den
-Fingerabdruck (Karteireiter "Details", unterster Eintrag) des Zertifikats überprüfen. Am Ende dieses Dokuments ist
-eine von der IKT-Stabsstelle überprüfte Liste von Zertifikaten und deren Fingerabdruck aufgelistet.
-Überprüfen Sie ob das von Ihnen zu überprüfende Zertifikat
-in dieser Liste enthalten ist und der Fingerabruck mit dem Wert in der Liste übereinstimmt.
-
-
Ist Ihr zu prüfendes Zertifikat in der Liste enthalten und stimmt der Wert des Fingerabdrucks mit dem Wert
-in der Liste überein, dann ist das Zertifikat authentisch und der Anmeldevorgang kann fortgesetzt werden.
-
Ist Ihr zu prüfendes Zertifikat in der Liste enthalten aber stimmt der Wert des Fingerabdrucks nicht mit dem Wert
-in der Liste überein, dann ist das Zertifikat nicht authentisch und der Anmeldevorgang muss abgebrochen werden.
-
Ist Ihr zu prüfendes Zertifikat nicht in der Liste enthalten müssen Sie eine andere verlässliche Quelle für den
-Vergleich des Fingerabdrucks finden. Sofern das Zertifikat authentisch ist, kann der Anmeldevorgang fortgesetzt werden.
-
-
Ist das in Schritt 3. geöffnete Zertifikat nicht im Internet Explorer installiert erscheint das Zertifikat mit
-einem roten Kreuz. Sie können das Zertifikat installieren, indem Sie die Schaltfläche "Zertifikat installieren ..."
-(Karteireiter "Allgemein") aktivieren. In der Folge werden alle von dieser Zertifizierungsstelle ausgestellten Zertifikate
-vom Internet Explorer als vertrauenswürdig erkannt.
-
-
Netscape Navigator 7.0
-
-
Öffnen Sie (durch Klicken) das Symbol mit dem Vorhangschloss am rechten, unteren Rand des Browsers
-
Aktivieren Sie die Schaltfläche "Anzeigen"
-
Selektieren Sie im nun geöffnetem Fenster "Zertifikatsanzeige" den Karteireiter "Detail".
-
Aktivieren Sie (durch Klicken) das an oberster Stelle gereihte Zertifikat.
-
Überprüfen Sie ob als Aussteller dieses Zertifikat (Eintrag "Aussteller")
-ein Unternehmen aufscheint, dem Sie vertrauen den Namen des Anmelde-Servers zu überprüfen.
-
Überprüfen Sie, ob dieses Zertifikat authentisch vom angegebene Unternehmen stammt. Dazu können Sie den
-Fingerabdruck des Zertifikats überprüfen. Am Ende dieses Dokuments ist
-eine von der IKT-Stabsstelle überprüfte Liste von Zertifikaten und deren Fingerabdruck aufgelistet.
-Überprüfen Sie ob das von Ihnen zu überprüfende Zertifikat
-in dieser Liste enthalten ist und der Fingerabruck mit dem Wert in der Liste übereinstimmt.
-
-
Ist Ihr zu prüfendes Zertifikat in der Liste enthalten und stimmt der Wert des Fingerabdrucks mit dem Wert
-in der Liste überein, dann ist das Zertifikat authentisch und der Anmeldevorgang kann fortgesetzt werden.
-
Ist Ihr zu prüfendes Zertifikat in der Liste enthalten aber stimmt der Wert des Fingerabdrucks nicht mit dem Wert
-in der Liste überein, dann ist das Zertifikat nicht authentisch und der Anmeldevorgang muss abgebrochen werden.
-
Ist Ihr zu prüfendes Zertifikat nicht in der Liste enthalten müssen Sie eine andere verlässliche Quelle für den
-Vergleich des Fingerabdrucks finden. Sofern das Zertifikat authentisch ist, kann der Anmeldevorgang fortgesetzt werden.
-
-
Ist das Aussteller-Zertifikat nicht im Netscape Navigator installiert können Sie das Zertifikat installieren,
-indem Sie die "*.cer" Datei mit Netscape Navigator öffnen. In der Folge werden alle von dieser Zertifizierungsstelle
-ausgestellten Zertifikate vom Internet Explorer als vertrauenswürdig erkannt.
-
-
-2003-05-06T07:09:50ZFrhu1o4mL4gQHdJcU0xSA/h4COE=CN=a-sign-TEST-Premium-Enc-01,OU=a-sign-TEST-Premium-Enc-01,O=A-Trust Ges. f. Sicherheitssysteme im elektr. Datenverkehr GmbH,C=AT6455text/html
\ No newline at end of file
--
cgit v1.2.3
From 90d582de5e84815e72436b728ac7fd12f0a2d657 Mon Sep 17 00:00:00 2001
From: pdanner
Date: Mon, 27 Aug 2007 10:18:47 +0000
Subject: changed JavaDoc
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@962 d688527b-c9ab-4aba-bd8d-4036d912da1d
---
.../java/at/gv/egovernment/moa/id/auth/validator/InfoboxValidator.java | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
(limited to 'id/server/idserverlib')
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/InfoboxValidator.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/InfoboxValidator.java
index c776418ab..95cd65608 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/InfoboxValidator.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/validator/InfoboxValidator.java
@@ -20,8 +20,7 @@ public interface InfoboxValidator {
* @param params {@link at.gv.egovernment.moa.id.auth.data.InfoboxValidatorParams
* Parameters} needed by the validator.
*
- * @return True if validation succeeds,
- * otherwise false.
+ * @return InfoboxValidationResult structure (@link at.gv.egovernment.moa.id.auth.data.InfoboxValidationResult}
*
* @throws ValidateException If an error occurs on validating the
* InfoboxReadResponse.
--
cgit v1.2.3
From 9ede2ad26816afcd3969a3c7e58c4572f38d0c38 Mon Sep 17 00:00:00 2001
From: pdanner
Date: Mon, 27 Aug 2007 12:56:18 +0000
Subject: changed JavaDoc
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@963 d688527b-c9ab-4aba-bd8d-4036d912da1d
---
.../gv/egovernment/moa/id/auth/data/VerifyXMLSignatureResponse.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
(limited to 'id/server/idserverlib')
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/VerifyXMLSignatureResponse.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/VerifyXMLSignatureResponse.java
index 4f0fe5ac7..de636b6cf 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/VerifyXMLSignatureResponse.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/data/VerifyXMLSignatureResponse.java
@@ -191,8 +191,8 @@ public class VerifyXMLSignatureResponse {
/**
* Sets the signatureManifestCode.
*
- * @param signatureManifestCode The signatureManifestCode to set.
- */
+ * @param signatureManifestCheckCode The signatureManifestCode to set.
+ */
public void setSignatureManifestCheckCode(int signatureManifestCheckCode) {
this.signatureManifestCheckCode = signatureManifestCheckCode;
}
--
cgit v1.2.3
From ef5f57de87191f8296359c4141d562453d15ca20 Mon Sep 17 00:00:00 2001
From: mcentner
Date: Tue, 28 Aug 2007 07:35:22 +0000
Subject: The xalan.jar of the official xalan distribution and the one in the
central repository differ. So, we are going to include the official one in
our own distribution to prevent from problems with different versions in the
endorsed directory of the servlet container or jre.
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@966 d688527b-c9ab-4aba-bd8d-4036d912da1d
---
common-test/pom.xml | 2 +-
common/pom.xml | 4 ++-
id/assembly-auth.xml | 2 +-
id/assembly-proxy.xml | 2 +-
id/server/auth/pom.xml | 2 +-
id/server/idserverlib/pom.xml | 2 +-
id/server/proxy/pom.xml | 2 +-
pom.xml | 18 ++++++++++---
.../xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.jar | Bin 0 -> 3078601 bytes
.../xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.jar.md5 | 1 +
.../xalan/2.7.0/xalan-2.7.0.jar.sha1 | 1 +
.../xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.pom | 6 +++++
.../xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.pom.md5 | 1 +
.../xalan/2.7.0/xalan-2.7.0.pom.sha1 | 1 +
repository/xalan-bin-dist/xalan/maven-metadata.xml | 11 ++++++++
.../xalan-bin-dist/xalan/maven-metadata.xml.md5 | 1 +
.../xalan-bin-dist/xalan/maven-metadata.xml.sha1 | 1 +
spss/assembly-lib.xml | 8 +++---
spss/assembly.xml | 28 ++++++++++++++-------
spss/server/serverlib/pom.xml | 3 ++-
spss/server/serverws/pom.xml | 2 +-
21 files changed, 73 insertions(+), 25 deletions(-)
create mode 100644 repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.jar
create mode 100644 repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.jar.md5
create mode 100644 repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.jar.sha1
create mode 100644 repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.pom
create mode 100644 repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.pom.md5
create mode 100644 repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.pom.sha1
create mode 100644 repository/xalan-bin-dist/xalan/maven-metadata.xml
create mode 100644 repository/xalan-bin-dist/xalan/maven-metadata.xml.md5
create mode 100644 repository/xalan-bin-dist/xalan/maven-metadata.xml.sha1
(limited to 'id/server/idserverlib')
diff --git a/common-test/pom.xml b/common-test/pom.xml
index 6c605f1b5..69f653348 100644
--- a/common-test/pom.xml
+++ b/common-test/pom.xml
@@ -38,7 +38,7 @@
true
- xalan
+ xalan-bin-distxalan
diff --git a/common/pom.xml b/common/pom.xml
index 85b206ee9..f4eacf8e9 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -40,8 +40,9 @@
saxpath
- xalan
+ xalan-bin-distxalan
+ compiletrue
@@ -52,6 +53,7 @@
xercesxmlParserAPIs
+ compiletrue
diff --git a/id/assembly-auth.xml b/id/assembly-auth.xml
index eceffa00a..bde8a7bba 100644
--- a/id/assembly-auth.xml
+++ b/id/assembly-auth.xml
@@ -61,7 +61,7 @@
- xalan:xalan
+ xalan-bin-dist:xalanxerces:xercesImplxerces:xmlParserAPIs
diff --git a/id/assembly-proxy.xml b/id/assembly-proxy.xml
index 20f05d775..a24e3d217 100644
--- a/id/assembly-proxy.xml
+++ b/id/assembly-proxy.xml
@@ -47,7 +47,7 @@
- xalan:xalan
+ xalan-bin-dist:xalanxerces:xercesImplxerces:xmlParserAPIs
diff --git a/id/server/auth/pom.xml b/id/server/auth/pom.xml
index d0c8c1612..b3bb1f8b0 100644
--- a/id/server/auth/pom.xml
+++ b/id/server/auth/pom.xml
@@ -86,7 +86,7 @@
provided
- xalan
+ xalan-bin-distxalanprovided
diff --git a/id/server/idserverlib/pom.xml b/id/server/idserverlib/pom.xml
index 7c30ddbe2..1fbcfeb0c 100644
--- a/id/server/idserverlib/pom.xml
+++ b/id/server/idserverlib/pom.xml
@@ -44,7 +44,7 @@
xmlParserAPIs
- xalan
+ xalan-bin-distxalan
diff --git a/id/server/proxy/pom.xml b/id/server/proxy/pom.xml
index ee8c38c29..24024c9c7 100644
--- a/id/server/proxy/pom.xml
+++ b/id/server/proxy/pom.xml
@@ -88,7 +88,7 @@
provided
- xalan
+ xalan-bin-distxalanprovided
diff --git a/pom.xml b/pom.xml
index 1938944e9..ff5fb98c5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -253,12 +253,24 @@
win32dllruntime
-
+
+
+ xalan
+ xalan
+ 2.7.0
+ compile
+
+
- xalan
+ xalan-bin-distxalan2.7.0
- compile
+ runtimexerces
diff --git a/repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.jar b/repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.jar
new file mode 100644
index 000000000..979ee761c
Binary files /dev/null and b/repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.jar differ
diff --git a/repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.jar.md5 b/repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.jar.md5
new file mode 100644
index 000000000..5a623f9d2
--- /dev/null
+++ b/repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.jar.md5
@@ -0,0 +1 @@
+126c0c876a6b9726cfdd43f052923660
\ No newline at end of file
diff --git a/repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.jar.sha1 b/repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.jar.sha1
new file mode 100644
index 000000000..c8b946d9e
--- /dev/null
+++ b/repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.jar.sha1
@@ -0,0 +1 @@
+10f170da8dfbcdcc4098131ba773710f0ba7aef1
\ No newline at end of file
diff --git a/repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.pom b/repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.pom
new file mode 100644
index 000000000..a957201e4
--- /dev/null
+++ b/repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.pom
@@ -0,0 +1,6 @@
+
+ 4.0.0
+ xalan-bin-dist
+ xalan
+ 2.7.0
+
\ No newline at end of file
diff --git a/repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.pom.md5 b/repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.pom.md5
new file mode 100644
index 000000000..892d7635e
--- /dev/null
+++ b/repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.pom.md5
@@ -0,0 +1 @@
+fb90bb055826496abcc3bdbd07c78088
\ No newline at end of file
diff --git a/repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.pom.sha1 b/repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.pom.sha1
new file mode 100644
index 000000000..a0286a312
--- /dev/null
+++ b/repository/xalan-bin-dist/xalan/2.7.0/xalan-2.7.0.pom.sha1
@@ -0,0 +1 @@
+c58c98128a376191f6ddcd88b29c4adcd0f59dfb
\ No newline at end of file
diff --git a/repository/xalan-bin-dist/xalan/maven-metadata.xml b/repository/xalan-bin-dist/xalan/maven-metadata.xml
new file mode 100644
index 000000000..8564c8faa
--- /dev/null
+++ b/repository/xalan-bin-dist/xalan/maven-metadata.xml
@@ -0,0 +1,11 @@
+
+ xalan-bin-dist
+ xalan
+ 2.7.0
+
+
+ 2.7.0
+
+ 20070828063912
+
+
\ No newline at end of file
diff --git a/repository/xalan-bin-dist/xalan/maven-metadata.xml.md5 b/repository/xalan-bin-dist/xalan/maven-metadata.xml.md5
new file mode 100644
index 000000000..2dfacdcec
--- /dev/null
+++ b/repository/xalan-bin-dist/xalan/maven-metadata.xml.md5
@@ -0,0 +1 @@
+ed0190e78f5dfbd8bb0906fe3d62948e
\ No newline at end of file
diff --git a/repository/xalan-bin-dist/xalan/maven-metadata.xml.sha1 b/repository/xalan-bin-dist/xalan/maven-metadata.xml.sha1
new file mode 100644
index 000000000..3b9fc56e6
--- /dev/null
+++ b/repository/xalan-bin-dist/xalan/maven-metadata.xml.sha1
@@ -0,0 +1 @@
+8ac861f6a88f53ac4807dd7de8d958d760165eaf
\ No newline at end of file
diff --git a/spss/assembly-lib.xml b/spss/assembly-lib.xml
index 669ef471f..0ca602f4a 100644
--- a/spss/assembly-lib.xml
+++ b/spss/assembly-lib.xml
@@ -17,7 +17,7 @@
- xalan:xalan
+ xalan-bin-dist:xalanxerces:xercesImplxerces:xmlParserAPIs
@@ -47,7 +47,7 @@
MOA:moa-common
- xalan:xalan
+ xalan-bin-dist:xalanxerces:xercesImplxerces:xmlParserAPIsiaik.prod:iaik_ecc
@@ -62,7 +62,7 @@
iaik.prod:iaik_Pkcs11Wrapper:dll:win32/lib/win32
- pkcs11wrapper.dll
+ pkcs11wrapper.${extension}moa-spss.${extension}
@@ -92,7 +92,7 @@
iaik.prod:iaik_moalog4j:log4j
- xalan:xalan
+ xalan-bin-dist:xalan/tools
diff --git a/spss/assembly.xml b/spss/assembly.xml
index d861b8ab9..a52860016 100644
--- a/spss/assembly.xml
+++ b/spss/assembly.xml
@@ -17,7 +17,7 @@
- xalan:xalan
+ xalan-bin-dist:xalanxerces:xercesImplxerces:xmlParserAPIs
@@ -36,18 +36,28 @@
${artifactId}.${extension}
-
-
- iaik.prod:iaik_Pkcs11Wrapper:dll:win32
-
- /pkcs11/win32
- pkcs11wrapper.dll
- moa-spss.${extension}false
+
+
+ MOA.spss.server:moa-spss-lib
+
+
+ true
+
+
+
+ iaik.prod:iaik_Pkcs11Wrapper:dll:win32
+
+ /pkcs11/win32
+ pkcs11wrapper.${extension}
+
+
+
+ MOA.spss.server:moa-spss-lib
@@ -71,7 +81,7 @@
iaik.prod:iaik_moalog4j:log4j
- xalan:xalan
+ xalan-bin-dist:xalan/tools
diff --git a/spss/server/serverlib/pom.xml b/spss/server/serverlib/pom.xml
index 620d3ebd4..1a169b357 100644
--- a/spss/server/serverlib/pom.xml
+++ b/spss/server/serverlib/pom.xml
@@ -56,8 +56,9 @@
provided
- xalan
+ xalan-bin-distxalan
+ compilexerces
diff --git a/spss/server/serverws/pom.xml b/spss/server/serverws/pom.xml
index 5a5afdebd..7fa109145 100644
--- a/spss/server/serverws/pom.xml
+++ b/spss/server/serverws/pom.xml
@@ -89,7 +89,7 @@
provided
- xalan
+ xalan-bin-distxalanprovided
--
cgit v1.2.3
From 6be52df44678056f95d36f08361b94e2befeb044 Mon Sep 17 00:00:00 2001
From: mcentner
Date: Tue, 28 Aug 2007 11:53:33 +0000
Subject: Xalan artifact serializer.jar added.
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@968 d688527b-c9ab-4aba-bd8d-4036d912da1d
---
common-test/pom.xml | 12 ++-
common/pom.xml | 10 ++-
id/assembly-auth.xml | 3 +-
id/assembly-proxy.xml | 3 +-
id/server/auth/pom.xml | 10 ++-
id/server/idserverlib/pom.xml | 8 +-
id/server/proxy/pom.xml | 10 ++-
pom.xml | 52 ++++++------
.../serializer/2.7.0/serializer-2.7.0.jar | Bin 0 -> 188993 bytes
.../serializer/2.7.0/serializer-2.7.0.jar.md5 | 1 +
.../serializer/2.7.0/serializer-2.7.0.jar.sha1 | 1 +
.../serializer/2.7.0/serializer-2.7.0.pom | 6 ++
.../serializer/2.7.0/serializer-2.7.0.pom.md5 | 1 +
.../serializer/2.7.0/serializer-2.7.0.pom.sha1 | 1 +
.../xalan-bin-dist/serializer/maven-metadata.xml | 11 +++
.../serializer/maven-metadata.xml.md5 | 1 +
.../serializer/maven-metadata.xml.sha1 | 1 +
.../xml-apis/2.7.0/xml-apis-2.7.0.jar | Bin 0 -> 194205 bytes
.../xml-apis/2.7.0/xml-apis-2.7.0.jar.md5 | 1 +
.../xml-apis/2.7.0/xml-apis-2.7.0.jar.sha1 | 1 +
.../xml-apis/2.7.0/xml-apis-2.7.0.pom | 6 ++
.../xml-apis/2.7.0/xml-apis-2.7.0.pom.md5 | 1 +
.../xml-apis/2.7.0/xml-apis-2.7.0.pom.sha1 | 1 +
.../xalan-bin-dist/xml-apis/maven-metadata.xml | 11 +++
.../xalan-bin-dist/xml-apis/maven-metadata.xml.md5 | 1 +
.../xml-apis/maven-metadata.xml.sha1 | 1 +
spss/assembly-lib.xml | 89 ++-------------------
spss/assembly.xml | 86 +-------------------
spss/server/serverlib/pom.xml | 8 +-
spss/server/serverws/pom.xml | 10 ++-
30 files changed, 139 insertions(+), 208 deletions(-)
create mode 100644 repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.jar
create mode 100644 repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.jar.md5
create mode 100644 repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.jar.sha1
create mode 100644 repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.pom
create mode 100644 repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.pom.md5
create mode 100644 repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.pom.sha1
create mode 100644 repository/xalan-bin-dist/serializer/maven-metadata.xml
create mode 100644 repository/xalan-bin-dist/serializer/maven-metadata.xml.md5
create mode 100644 repository/xalan-bin-dist/serializer/maven-metadata.xml.sha1
create mode 100644 repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.jar
create mode 100644 repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.jar.md5
create mode 100644 repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.jar.sha1
create mode 100644 repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.pom
create mode 100644 repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.pom.md5
create mode 100644 repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.pom.sha1
create mode 100644 repository/xalan-bin-dist/xml-apis/maven-metadata.xml
create mode 100644 repository/xalan-bin-dist/xml-apis/maven-metadata.xml.md5
create mode 100644 repository/xalan-bin-dist/xml-apis/maven-metadata.xml.sha1
(limited to 'id/server/idserverlib')
diff --git a/common-test/pom.xml b/common-test/pom.xml
index 69f653348..697cc04b8 100644
--- a/common-test/pom.xml
+++ b/common-test/pom.xml
@@ -37,17 +37,21 @@
iaik_jce_fulltrue
+
+ xerces
+ xercesImpl
+ xalan-bin-distxalan
- xerces
- xercesImpl
+ xalan-bin-dist
+ xml-apis
- xerces
- xmlParserAPIs
+ xalan-bin-dist
+ serializer
diff --git a/common/pom.xml b/common/pom.xml
index f4eacf8e9..c51265c96 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -51,10 +51,16 @@
true
- xerces
- xmlParserAPIs
+ xalan-bin-dist
+ xml-apiscompiletrue
+
+ xalan-bin-dist
+ serializer
+ runtime
+ true
+
diff --git a/id/assembly-auth.xml b/id/assembly-auth.xml
index bde8a7bba..c92e30179 100644
--- a/id/assembly-auth.xml
+++ b/id/assembly-auth.xml
@@ -63,7 +63,8 @@
xalan-bin-dist:xalanxerces:xercesImpl
- xerces:xmlParserAPIs
+ xalan-bin-dist:xml-apis
+ xalan-bin-dist:serializer/endorsed${artifactId}.${extension}
diff --git a/id/assembly-proxy.xml b/id/assembly-proxy.xml
index a24e3d217..6817b70be 100644
--- a/id/assembly-proxy.xml
+++ b/id/assembly-proxy.xml
@@ -49,7 +49,8 @@
xalan-bin-dist:xalanxerces:xercesImpl
- xerces:xmlParserAPIs
+ xalan-bin-dist:xml-apis
+ xalan-bin-dist:serializer/endorsed${artifactId}.${extension}
diff --git a/id/server/auth/pom.xml b/id/server/auth/pom.xml
index b3bb1f8b0..54f7ee54e 100644
--- a/id/server/auth/pom.xml
+++ b/id/server/auth/pom.xml
@@ -98,8 +98,14 @@
provided
- xerces
- xmlParserAPIs
+ xalan-bin-dist
+ xml-apis
+
+ provided
+
+
+ xalan-bin-dist
+ serializerprovided
diff --git a/id/server/idserverlib/pom.xml b/id/server/idserverlib/pom.xml
index 1fbcfeb0c..22dadc5b9 100644
--- a/id/server/idserverlib/pom.xml
+++ b/id/server/idserverlib/pom.xml
@@ -40,13 +40,17 @@
xercesImpl
- xerces
- xmlParserAPIs
+ xalan-bin-dist
+ xml-apisxalan-bin-distxalan
+
+ xalan-bin-dist
+ serializer
+ junitjunit
diff --git a/id/server/proxy/pom.xml b/id/server/proxy/pom.xml
index 24024c9c7..3c29d62b5 100644
--- a/id/server/proxy/pom.xml
+++ b/id/server/proxy/pom.xml
@@ -100,11 +100,17 @@
provided
- xerces
- xmlParserAPIs
+ xalan-bin-dist
+ xml-apisprovided
+
+ xalan-bin-dist
+ serializer
+
+ provided
+
diff --git a/pom.xml b/pom.xml
index ff5fb98c5..7746a6891 100644
--- a/pom.xml
+++ b/pom.xml
@@ -254,36 +254,42 @@
dllruntime
+
+ xerces
+ xercesImpl
+ 2.7.1
+ compile
+
+
- xalan
- xalan
- 2.7.0
- compile
+ xalan-bin-dist
+ xml-apis
+ 2.7.0
+ runtime
-
- xalan-bin-dist
- xalan
- 2.7.0
- runtime
-
-
- xerces
- xercesImpl
- 2.7.1
- compile
-
-
- xerces
- xmlParserAPIs
- 2.6.2
- compile
-
+ or jre endorsed directory. -->
+
+ xalan-bin-dist
+ xalan
+ 2.7.0
+ runtime
+
+
+ xalan-bin-dist
+ serializer
+ 2.7.0
+ runtime
+
diff --git a/repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.jar b/repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.jar
new file mode 100644
index 000000000..7cd806964
Binary files /dev/null and b/repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.jar differ
diff --git a/repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.jar.md5 b/repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.jar.md5
new file mode 100644
index 000000000..42964c31e
--- /dev/null
+++ b/repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.jar.md5
@@ -0,0 +1 @@
+35aa6a56662458d9dc28a9b628f84847
\ No newline at end of file
diff --git a/repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.jar.sha1 b/repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.jar.sha1
new file mode 100644
index 000000000..8bcab225d
--- /dev/null
+++ b/repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.jar.sha1
@@ -0,0 +1 @@
+85ddd38e4cdbc22fb6c518f3d35744336da6fbfd
\ No newline at end of file
diff --git a/repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.pom b/repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.pom
new file mode 100644
index 000000000..87bfdd006
--- /dev/null
+++ b/repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.pom
@@ -0,0 +1,6 @@
+
+ 4.0.0
+ xalan-bin-dist
+ serializer
+ 2.7.0
+
\ No newline at end of file
diff --git a/repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.pom.md5 b/repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.pom.md5
new file mode 100644
index 000000000..7b1cf9d6d
--- /dev/null
+++ b/repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.pom.md5
@@ -0,0 +1 @@
+b40d1a414676a4f358f157c6898664bb
\ No newline at end of file
diff --git a/repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.pom.sha1 b/repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.pom.sha1
new file mode 100644
index 000000000..2ebd5256a
--- /dev/null
+++ b/repository/xalan-bin-dist/serializer/2.7.0/serializer-2.7.0.pom.sha1
@@ -0,0 +1 @@
+9e7770973422a62b4a3ae7ea5c20b6d06b463528
\ No newline at end of file
diff --git a/repository/xalan-bin-dist/serializer/maven-metadata.xml b/repository/xalan-bin-dist/serializer/maven-metadata.xml
new file mode 100644
index 000000000..3b2919728
--- /dev/null
+++ b/repository/xalan-bin-dist/serializer/maven-metadata.xml
@@ -0,0 +1,11 @@
+
+ xalan-bin-dist
+ serializer
+ 2.7.0
+
+
+ 2.7.0
+
+ 20070828113437
+
+
\ No newline at end of file
diff --git a/repository/xalan-bin-dist/serializer/maven-metadata.xml.md5 b/repository/xalan-bin-dist/serializer/maven-metadata.xml.md5
new file mode 100644
index 000000000..1e74cd099
--- /dev/null
+++ b/repository/xalan-bin-dist/serializer/maven-metadata.xml.md5
@@ -0,0 +1 @@
+618746ccbd308489eec0a5f6ceafb565
\ No newline at end of file
diff --git a/repository/xalan-bin-dist/serializer/maven-metadata.xml.sha1 b/repository/xalan-bin-dist/serializer/maven-metadata.xml.sha1
new file mode 100644
index 000000000..4463aea5b
--- /dev/null
+++ b/repository/xalan-bin-dist/serializer/maven-metadata.xml.sha1
@@ -0,0 +1 @@
+de784579e439fb38440facdd43d70c159434cc44
\ No newline at end of file
diff --git a/repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.jar b/repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.jar
new file mode 100644
index 000000000..243eaeaeb
Binary files /dev/null and b/repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.jar differ
diff --git a/repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.jar.md5 b/repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.jar.md5
new file mode 100644
index 000000000..739ea21f7
--- /dev/null
+++ b/repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.jar.md5
@@ -0,0 +1 @@
+2e7aed876c51af3ee6a23ed524180d37
\ No newline at end of file
diff --git a/repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.jar.sha1 b/repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.jar.sha1
new file mode 100644
index 000000000..0916b2415
--- /dev/null
+++ b/repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.jar.sha1
@@ -0,0 +1 @@
+dc7315e359b5e43f20131414d60b5c307aace975
\ No newline at end of file
diff --git a/repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.pom b/repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.pom
new file mode 100644
index 000000000..152db2bdc
--- /dev/null
+++ b/repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.pom
@@ -0,0 +1,6 @@
+
+ 4.0.0
+ xalan-bin-dist
+ xml-apis
+ 2.7.0
+
\ No newline at end of file
diff --git a/repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.pom.md5 b/repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.pom.md5
new file mode 100644
index 000000000..b4ab1984a
--- /dev/null
+++ b/repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.pom.md5
@@ -0,0 +1 @@
+397393d2fed99f21295f9765db4daa39
\ No newline at end of file
diff --git a/repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.pom.sha1 b/repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.pom.sha1
new file mode 100644
index 000000000..af96bd0f0
--- /dev/null
+++ b/repository/xalan-bin-dist/xml-apis/2.7.0/xml-apis-2.7.0.pom.sha1
@@ -0,0 +1 @@
+e05fa7c530c0d57a6727153144b099f9ac7bd3bf
\ No newline at end of file
diff --git a/repository/xalan-bin-dist/xml-apis/maven-metadata.xml b/repository/xalan-bin-dist/xml-apis/maven-metadata.xml
new file mode 100644
index 000000000..97cbc7798
--- /dev/null
+++ b/repository/xalan-bin-dist/xml-apis/maven-metadata.xml
@@ -0,0 +1,11 @@
+
+ xalan-bin-dist
+ xml-apis
+ 2.7.0
+
+
+ 2.7.0
+
+ 20070828112349
+
+
\ No newline at end of file
diff --git a/repository/xalan-bin-dist/xml-apis/maven-metadata.xml.md5 b/repository/xalan-bin-dist/xml-apis/maven-metadata.xml.md5
new file mode 100644
index 000000000..59864b4b4
--- /dev/null
+++ b/repository/xalan-bin-dist/xml-apis/maven-metadata.xml.md5
@@ -0,0 +1 @@
+3b2a8867dbd3e9474a2ff3fce851d510
\ No newline at end of file
diff --git a/repository/xalan-bin-dist/xml-apis/maven-metadata.xml.sha1 b/repository/xalan-bin-dist/xml-apis/maven-metadata.xml.sha1
new file mode 100644
index 000000000..6ed6a1d39
--- /dev/null
+++ b/repository/xalan-bin-dist/xml-apis/maven-metadata.xml.sha1
@@ -0,0 +1 @@
+12d4a985dee1a1d5e9cbb524c83c2f5f8be5cd81
\ No newline at end of file
diff --git a/spss/assembly-lib.xml b/spss/assembly-lib.xml
index 0ca602f4a..0b47705a2 100644
--- a/spss/assembly-lib.xml
+++ b/spss/assembly-lib.xml
@@ -19,7 +19,8 @@
xalan-bin-dist:xalanxerces:xercesImpl
- xerces:xmlParserAPIs
+ xalan-bin-dist:xml-apis
+ xalan-bin-dist:serializer/endorsed
@@ -49,7 +50,8 @@
MOA:moa-commonxalan-bin-dist:xalanxerces:xercesImpl
- xerces:xmlParserAPIs
+ xalan-bin-dist:xml-apis
+ xalan-bin-dist:serializeriaik.prod:iaik_ecciaik.prod:iaik_jce_fulliaik.prod:iaik_Pkcs11Provider
@@ -142,85 +144,4 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/spss/assembly.xml b/spss/assembly.xml
index a52860016..435dd04ec 100644
--- a/spss/assembly.xml
+++ b/spss/assembly.xml
@@ -19,7 +19,8 @@
xalan-bin-dist:xalanxerces:xercesImpl
- xerces:xmlParserAPIs
+ xalan-bin-dist:xml-apis
+ xalan-bin-dist:serializer/endorsed
@@ -139,85 +140,4 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/spss/server/serverlib/pom.xml b/spss/server/serverlib/pom.xml
index 1a169b357..c71b4708d 100644
--- a/spss/server/serverlib/pom.xml
+++ b/spss/server/serverlib/pom.xml
@@ -65,8 +65,12 @@
xercesImpl
- xerces
- xmlParserAPIs
+ xalan-bin-dist
+ xml-apis
+
+
+ xalan-bin-dist
+ serializeriaik.prod
diff --git a/spss/server/serverws/pom.xml b/spss/server/serverws/pom.xml
index 7fa109145..62b925957 100644
--- a/spss/server/serverws/pom.xml
+++ b/spss/server/serverws/pom.xml
@@ -101,8 +101,14 @@
provided
- xerces
- xmlParserAPIs
+ xalan-bin-dist
+ xml-apis
+
+ provided
+
+
+ xalan-bin-dist
+ serializerprovided
--
cgit v1.2.3
From 29866bdc9e8b2cab619cd151f32b036c35debbfe Mon Sep 17 00:00:00 2001
From: pdanner
Date: Tue, 4 Sep 2007 09:02:22 +0000
Subject: removed maven project output from jars
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@979 d688527b-c9ab-4aba-bd8d-4036d912da1d
---
common-test/pom.xml | 14 ++++++++++++++
common/pom.xml | 14 ++++++++++++++
id/server/idserverlib/pom.xml | 9 +++++++++
spss/server/serverlib/pom.xml | 29 +++++++++++++++++++----------
4 files changed, 56 insertions(+), 10 deletions(-)
(limited to 'id/server/idserverlib')
diff --git a/common-test/pom.xml b/common-test/pom.xml
index 697cc04b8..73c8ae304 100644
--- a/common-test/pom.xml
+++ b/common-test/pom.xml
@@ -54,4 +54,18 @@
serializer
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ false
+
+
+
+
+
diff --git a/common/pom.xml b/common/pom.xml
index c51265c96..84b4c7981 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -63,4 +63,18 @@
true
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ false
+
+
+
+
+
diff --git a/id/server/idserverlib/pom.xml b/id/server/idserverlib/pom.xml
index 22dadc5b9..ab67e2d50 100644
--- a/id/server/idserverlib/pom.xml
+++ b/id/server/idserverlib/pom.xml
@@ -117,6 +117,15 @@
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ false
+
+
+ org.apache.maven.pluginsmaven-javadoc-plugin
diff --git a/spss/server/serverlib/pom.xml b/spss/server/serverlib/pom.xml
index c71b4708d..ae9c88171 100644
--- a/spss/server/serverlib/pom.xml
+++ b/spss/server/serverlib/pom.xml
@@ -119,7 +119,16 @@
-
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ false
+
+
+ org.apache.maven.pluginsmaven-javadoc-plugin
@@ -183,15 +192,15 @@
http://java.sun.com/j2se/1.4/docs/api/
-
-
- generate-javadoc
- package
-
- jar
-
-
-
+
+
+ generate-javadoc
+ package
+
+ jar
+
+
+
--
cgit v1.2.3
From 74a6925a47adaac292b3e2da326b08adc0239235 Mon Sep 17 00:00:00 2001
From: pdanner
Date: Tue, 4 Sep 2007 13:55:12 +0000
Subject: version change to 1.4.1
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@985 d688527b-c9ab-4aba-bd8d-4036d912da1d
---
common-test/pom.xml | 4 +-
common/pom.xml | 4 +-
id/history.txt | 16 ++
id/oa/pom.xml | 2 +-
id/pom.xml | 4 +-
id/readme_1.4.0.txt | 4 +-
id/readme_1.4.1.txt | 209 +++++++++++++++++++++++++++
id/server/auth/pom.xml | 4 +-
id/server/doc/MOA-Testzertifikate.pdf | Bin 0 -> 33476 bytes
id/server/idserverlib/pom.xml | 4 +-
id/server/pom.xml | 4 +-
id/server/proxy/pom.xml | 4 +-
id/templates/pom.xml | 4 +-
pom.xml | 6 +-
spss/handbook/clients/api/pom.xml | 14 +-
spss/handbook/clients/pom.xml | 14 +-
spss/handbook/clients/referencedData/pom.xml | 14 +-
spss/handbook/clients/webservice/pom.xml | 14 +-
spss/handbook/pom.xml | 14 +-
spss/pom.xml | 4 +-
spss/server/history.txt | 7 +
spss/server/pom.xml | 4 +-
spss/server/readme.update.txt | 18 +--
spss/server/serverlib/pom.xml | 14 +-
spss/server/serverws/pom.xml | 4 +-
spss/server/tools/pom.xml | 4 +-
26 files changed, 313 insertions(+), 81 deletions(-)
create mode 100644 id/readme_1.4.1.txt
create mode 100644 id/server/doc/MOA-Testzertifikate.pdf
(limited to 'id/server/idserverlib')
diff --git a/common-test/pom.xml b/common-test/pom.xml
index 73c8ae304..029e0e61d 100644
--- a/common-test/pom.xml
+++ b/common-test/pom.xml
@@ -4,13 +4,13 @@
MOAMOA
- 1.4.0
+ 1.4.14.0.0MOAmoa-common-test
- 1.4.0
+ 1.4.1jarMOA common test-library
diff --git a/common/pom.xml b/common/pom.xml
index 84b4c7981..feb9aa0d4 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -4,12 +4,12 @@
MOAMOA
- 1.4.0
+ 1.4.14.0.0MOAmoa-common
- 1.4.0
+ 1.4.1jarMOA common library
diff --git a/id/history.txt b/id/history.txt
index 09f9c42ec..7ecc0d34d 100644
--- a/id/history.txt
+++ b/id/history.txt
@@ -3,6 +3,22 @@ von MOA-ID auf.
History MOA-ID:
+=====
+Version MOA-ID 1.4.1: Änderungen seit Version MOA-ID 1.4.0:
+
+- Es wurden neue Testzertifikate ausgestellt, da die bisherigen abgelaufen sind
+ (siehe id/server/doc/MOA-Testzertifikate.pdf).
+
+- Zum Testen von MOA-ID für Personen ohne Bürgerkarte, wurde die
+ Bürgerkartenumgebung SeLaN (XSeLaN) angepasst und mit neuen Zertifikaten
+ versehen. Sie ist unter https://demo.a-sit.at/buergerkarte/security_kapsel/
+ resources/XSeLaN-1.0.6-withjre.zip mit einer kompletten Java Runtime Umgebung
+ bzw. unter https://demo.a-sit.at/buergerkarte/security_kapsel/resources/
+ XSeLaN-1.0.6-nojre.zip ohne Runtime Umgebung beziehbar.
+
+- Die Projektstruktur wurde eimem Maven Build-Prozess unterlegt. Der Sourcocde
+ ab dieser Version unter http://egovlabs.gv.at/scm/?group_id=6 verfügbar.
+
=====
Version MOA-ID 1.4.0: Änderungen seit Version MOA-ID 1.3.3:
diff --git a/id/oa/pom.xml b/id/oa/pom.xml
index 4f6d64b66..b712c5dde 100644
--- a/id/oa/pom.xml
+++ b/id/oa/pom.xml
@@ -5,7 +5,7 @@
MOAoawar
- 1.4.0
+ 1.4.1MOA Sample OA
diff --git a/id/pom.xml b/id/pom.xml
index ca374f78b..71c1ad7cc 100644
--- a/id/pom.xml
+++ b/id/pom.xml
@@ -3,14 +3,14 @@
MOAMOA
- 1.4.0
+ 1.4.14.0.0MOAidpom
- 1.4.0
+ 1.4.1MOA ID
diff --git a/id/readme_1.4.0.txt b/id/readme_1.4.0.txt
index 9d5d1d3a2..464d95433 100644
--- a/id/readme_1.4.0.txt
+++ b/id/readme_1.4.0.txt
@@ -1,5 +1,5 @@
===============================================================================
-MOA ID Version 1.4.0 - Wichtige Informationen zur Installation
+MOA ID Version 1.4.x - Wichtige Informationen zur Installation
===============================================================================
-------------------------------------------------------------------------------
@@ -61,7 +61,7 @@ C.1 Durchf
1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird.
Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an.
-2. Entpacken Sie die Distribution von MOA ID Auth (moa-id-auth-1.3.3.zip) in
+2. Entpacken Sie die Distribution von MOA ID Auth (moa-id-auth-1.4.0.zip) in
ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST
bezeichnet.
diff --git a/id/readme_1.4.1.txt b/id/readme_1.4.1.txt
new file mode 100644
index 000000000..ca792e07d
--- /dev/null
+++ b/id/readme_1.4.1.txt
@@ -0,0 +1,209 @@
+===============================================================================
+MOA ID Version 1.4.1 - Wichtige Informationen zur Installation
+===============================================================================
+
+-------------------------------------------------------------------------------
+A. Neuerungen/Änderungen
+-------------------------------------------------------------------------------
+
+MOA-ID 1.4.1 enthält gegenüber der Version MOA ID 1.4.0 keine Neuigkeiten oder
+größere Änderungen. Es wurde mit diesem Versionssprung die Projektstruktur
+angepasst und der Build-Prozess mittels Maven (http://maven.apache.org/)
+optimiert. Der Inhalt und Funktion dieser Distribution ist derselbe wie von
+Version 1.4.0. Anstatt jedoch eine Source Distribution beizulegen, ist ab
+MOA-ID Version 1.4.1 der Sourcecode mittels Versionskontrollsystem Subversion
+über die Open-Source Plattform http://egovlabs.gv.at/ zugänglich (
+http://egovlabs.gv.at/scm/?group_id=6).
+
+-------------------------------------------------------------------------------
+D. Durchführung des Updates
+-------------------------------------------------------------------------------
+
+...............................................................................
+D.1 Durchführung eines Updates von Version 1.4.0
+...............................................................................
+
+1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird.
+ Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an.
+
+2. Entpacken Sie die Distribution von MOA ID Auth (moa-id-auth-1.4.1.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST
+ bezeichnet.
+
+3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth
+ beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps,
+ wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation
+ für MOA ID steht). Löschen Sie darin sowohl die Datei moa-id-auth.war als
+ auch das komplette Verzeichnis moa-id-auth.
+
+4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
+ CATALINA_HOME_ID/webapps.
+
+5. Kopieren Sie die vier Dateien aus dem Verzeichnis
+ MOA_ID_AUTH_INST/conf/moa-id/transforms in das Verzeichnis transforms Ihres
+ Stammverzeichnisses für die MOA ID Konfiguration (für gewöhnlich lautet
+ dieses Stammverzeichnis CATALINA_HOME_ID/conf/moa-id; in weiterer Folge wird
+ davon ausgegangen).
+
+6. Kopieren Sie die vier Dateien aus dem Verzeichnis
+ MOA_ID_AUTH_INST/conf/moa-spss/profiles in das Verzeichnis profiles Ihres
+ Stammverzeichnisses für die MOA SPSS Konfiguration (für gewöhnlich lautet
+ dieses Stammverzeichnis CATALINA_HOME_SPSS/conf/moa-spss, wobei
+ CATALINA_HOME_SPSS für das Basisverzeichnis der Tomcat-Installation
+ für MOA SPSS steht; wenn Sie MOA SPSS nicht als eigenes Webservice
+ betreiben, sondern es von MOA ID über die API-Schnittstelle angesprochen
+ wird, lautet dieses Stammverzeichnis für gewöhnlich
+ CATALINA_HOME_ID/conf/moa-spss; in weiterer Folge wird von letzterer
+ Variante ausgegangen).
+
+7. Sollen zusätzliche Templates für ältere Bürgerkartenumgebungen aktiviert
+ werden, öffnen Sie die XML-Konfiguration von MOA ID (für gewöhnlich finden
+ Sie diese XML-Datei direkt im Stammverzeichnis für die MOA ID Konfiguration,
+ z.B. CATALINA_HOME_ID/conf/moa-id/SampleMOAIDConfiguration.xml); führen Sie
+ folgende Modifikationen an der XML-Konfiguration durch:
+
+ a. Ändern Sie die applikationsübergreifende Konfiguration der AuthBlock
+ Transformationen. Sie finden diese Konfiguration im XML-Element
+ /MOA-IDConfiguration/AuthComponent/SecurityLayer. Fügen Sie zusätzlich zum
+ bisherigen Inhalt dieses Elements (für gewöhnlich ein Element
+ TransformsInfo, dessen Attribut filname den Wert
+ transforms/TransformsInfoAuthBlockText.xml aufweist) ein Element
+ TransformsInfo an, dessen Attribut filename auf die Datei für ältere BKU
+ zeigt. Sie können auch auf die vordefinierten Elemente aus den
+ Musterkonfigurationen dieser Distribution (
+ MOA_ID_AUTH_INST/conf/moa-id/SampleMOAIDConfiguration.xml) zurückgreifen.
+
+ b. Fügen Sie Profilbezeichner für die Transformationsprofile in der
+ Konfiguration für MOA SP an. Sie finden diesen Bezeichner im XML-
+ Element /MOA-IDConfiguration/AuthComponent/MOA-SP/VerifyAuthBlock.
+ Hängen Sie ein Element VerifyTransformsInfoProfileID an, das für die Über-
+ prüfung der Transformation älterer BKU vorgesehen ist.
+ Siehe auch Inhalt des Elements VerifyAuthBlock aus der Musterkonfiguration
+ dieser Distribution (
+ MOA_ID_AUTH_INST/conf/moa-id/SampleMOAIDConfiguration.xml).
+
+ c. Ändern Sie gegebenenfalls die applikationsspezifische Konfiguration
+ der Authblock-Tranformationen. Führen Sie dazu die folgende Tätigkeit
+ für jedes XML-Element /MOA-IDConfiguration/OnlineApplicaton/AuthComponent
+ durch: Fügen Sie zusätzlich zu einem bestehenden Element TransformsInfo
+ ein Elemnet TransformsInfo an, das die Transformation für ältere BKU
+ enthält - gleich wie dies bereits in Schritt a. durchgeführt wurde (wenn
+ Sie dieses Element nicht vorfinden, oder es auskommentiert ist, muss
+ Schritt c. nicht durchgeführt werden).
+
+ Öffnen Sie die XML-Konfiguration von MOA SPSS (für gewöhnlich finden Sie
+ XML-Datei direkt im Stammverzeichnisses für die MOA SPSS Konfiguration, z.B.
+ CATALINA_HOME_ID/conf/moa-spss/SampleMOASPSSConfiguration.xml); führen Sie
+ folgende Modifikationen an der XML-Konfiguration durch:
+
+ a. Ändern Sie die konfigurierten Profile für die zulässigen Transformationen
+ über die signierten Daten. Sie finden diese Profile am Ende der XML-Konfi-
+ guration von MOA SPSS (Elemente des Namens
+ cfg:VerifyTransformsInfoProfile). Fügen Sie zusätzlich zu den vorkommenden
+ Elementen dieses Namens (für gewöhnlich zwei Elemente) zwei weitere
+ Elemente dieses Namens hinzu, die die Profile für die älteren Bürger-
+ kartenumgebungen aufnehmen - diese sind durch den Namensteil "_deprecated"
+ gekennzeichnet (siehe auch Musterkonfigurationen dieser Distribution
+ MOA_ID_AUTH_INST/conf/moa-spss/SampleMOASPSSConfiguration.xml).
+
+8. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im
+ Logging von MOA ID beim Einlesen der erneuerten Konfiguration.
+
+...............................................................................
+D.2 Durchführung eines Updates von Version 1.3.1, 1.3.2 oder 1.3.3
+...............................................................................
+
+1. Stoppen Sie den Tomcat, in dem Ihre bisherige Installation betrieben wird.
+ Fertigen Sie eine Sicherungskopie Ihrer kompletten Tomcat-Installation an.
+
+2. Entpacken Sie die Distribution von MOA ID Auth (moa-id-auth-1.4.1.zip) in
+ ein temporäres Verzeichnis, in weiterer Folge als MOA_ID_AUTH_INST
+ bezeichnet.
+
+3. Wechseln Sie in jenes Verzeichnis, das die Webapplikation von MOA ID Auth
+ beinhaltet (für gewöhnlich ist dieses Verzeichnis CATALINA_HOME_ID/webapps,
+ wobei CATALINA_HOME_ID für das Basisverzeichnis der Tomcat-Installation
+ für MOA ID steht). Löschen Sie darin sowohl die Datei moa-id-auth.war als
+ auch das komplette Verzeichnis moa-id-auth.
+
+4. Kopieren Sie die Datei MOA_ID_AUTH_INST/moa-id-auth.war nach
+ CATALINA_HOME_ID/webapps.
+
+5. Kopieren Sie die vier Dateien aus dem Verzeichnis
+ MOA_ID_AUTH_INST/conf/moa-id/transforms in das Verzeichnis transforms Ihres
+ Stammverzeichnisses für die MOA ID Konfiguration (für gewöhnlich lautet
+ dieses Stammverzeichnis CATALINA_HOME_ID/conf/moa-id; in weiterer Folge wird
+ davon ausgegangen).
+
+6. Kopieren Sie die vier Dateien aus dem Verzeichnis
+ MOA_ID_AUTH_INST/conf/moa-spss/profiles in das Verzeichnis profiles Ihres
+ Stammverzeichnisses für die MOA SPSS Konfiguration (für gewöhnlich lautet
+ dieses Stammverzeichnis CATALINA_HOME_SPSS/conf/moa-spss, wobei
+ CATALINA_HOME_SPSS für das Basisverzeichnis der Tomcat-Installation
+ für MOA SPSS steht; wenn Sie MOA SPSS nicht als eigenes Webservice
+ betreiben, sondern es von MOA ID über die API-Schnittstelle angesprochen
+ wird, lautet dieses Stammverzeichnis für gewöhnlich
+ CATALINA_HOME_ID/conf/moa-spss; in weiterer Folge wird von letzterer
+ Variante ausgegangen).
+
+7. Sollen zusätzliche Templates für ältere Bürgerkartenumgebungen aktiviert
+ werden, öffnen Sie die XML-Konfiguration von MOA ID (für gewöhnlich finden
+ Sie diese XML-Datei direkt im Stammverzeichnis für die MOA ID Konfiguration,
+ z.B. CATALINA_HOME_ID/conf/moa-id/SampleMOAIDConfiguration.xml); führen Sie
+ folgende Modifikationen an der XML-Konfiguration durch:
+
+ a. Ändern Sie die applikationsübergreifende Konfiguration der AuthBlock
+ Transformationen. Sie finden diese Konfiguration im XML-Element
+ /MOA-IDConfiguration/AuthComponent/SecurityLayer. Fügen Sie zusätzlich zum
+ bisherigen Inhalt dieses Elements (für gewöhnlich ein Element
+ TransformsInfo, dessen Attribut filname den Wert
+ transforms/TransformsInfoAuthBlockText.xml aufweist) ein Element
+ TransformsInfo an, dessen Attribut filename auf die Datei für ältere BKU
+ zeigt. Sie können auch auf die vordefinierten Elemente aus den
+ Musterkonfigurationen dieser Distribution (
+ MOA_ID_AUTH_INST/conf/moa-id/SampleMOAIDConfiguration.xml) zurückgreifen.
+
+ b. Fügen Sie Profilbezeichner für die Transformationsprofile in der
+ Konfiguration für MOA SP an. Sie finden diesen Bezeichner im XML-
+ Element /MOA-IDConfiguration/AuthComponent/MOA-SP/VerifyAuthBlock.
+ Hängen Sie ein Element VerifyTransformsInfoProfileID an, das für die Über-
+ prüfung der Transformation älterer BKU vorgesehen ist.
+ Siehe auch Inhalt des Elements VerifyAuthBlock aus der Musterkonfiguration
+ dieser Distribution (
+ MOA_ID_AUTH_INST/conf/moa-id/SampleMOAIDConfiguration.xml).
+
+ c. Ändern Sie gegebenenfalls die applikationsspezifische Konfiguration
+ der Authblock-Tranformationen. Führen Sie dazu die folgende Tätigkeit
+ für jedes XML-Element /MOA-IDConfiguration/OnlineApplicaton/AuthComponent
+ durch: Fügen Sie zusätzlich zu einem bestehenden Element TransformsInfo
+ ein Elemnet TransformsInfo an, das die Transformation für ältere BKU
+ enthält - gleich wie dies bereits in Schritt a. durchgeführt wurde (wenn
+ Sie dieses Element nicht vorfinden, oder es auskommentiert ist, muss
+ Schritt c. nicht durchgeführt werden).
+
+ Öffnen Sie die XML-Konfiguration von MOA SPSS (für gewöhnlich finden Sie
+ XML-Datei direkt im Stammverzeichnisses für die MOA SPSS Konfiguration, z.B.
+ CATALINA_HOME_ID/conf/moa-spss/SampleMOASPSSConfiguration.xml); führen Sie
+ folgende Modifikationen an der XML-Konfiguration durch:
+
+ a. Ändern Sie die konfigurierten Profile für die zulässigen Transformationen
+ über die signierten Daten. Sie finden diese Profile am Ende der XML-Konfi-
+ guration von MOA SPSS (Elemente des Namens
+ cfg:VerifyTransformsInfoProfile). Fügen Sie zusätzlich zu den vorkommenden
+ Elementen dieses Namens (für gewöhnlich zwei Elemente) zwei weitere
+ Elemente dieses Namens hinzu, die die Profile für die älteren Bürger-
+ kartenumgebungen aufnehmen - diese sind durch den Namensteil "_deprecated"
+ gekennzeichnet (siehe auch Musterkonfigurationen dieser Distribution
+ MOA_ID_AUTH_INST/conf/moa-spss/SampleMOASPSSConfiguration.xml).
+
+8. Starten Sie den Tomcat neu, achten Sie auf eventuelle Fehlermeldungen im
+ Logging von MOA ID beim Einlesen der erneuerten Konfiguration.
+
+...............................................................................
+B.3 Durchführung eines Updates von einer älteren Version
+...............................................................................
+
+Bitte führen Sie eine Neuinstallation von MOA ID laut Handbuch durch und passen
+Sie die mitgelieferte Musterkonfiguration entsprechend Ihren Bedürfnissen unter
+Zuhilfenahme Ihrer bisherigen Konfiguration an.
+
diff --git a/id/server/auth/pom.xml b/id/server/auth/pom.xml
index 54f7ee54e..869d94c2e 100644
--- a/id/server/auth/pom.xml
+++ b/id/server/auth/pom.xml
@@ -4,14 +4,14 @@
MOA.idmoa-id
- 1.4.0
+ 1.4.14.0.0MOA.id.servermoa-id-authwar
- 1.4.0
+ 1.4.1MOA ID-Auth WebService
diff --git a/id/server/doc/MOA-Testzertifikate.pdf b/id/server/doc/MOA-Testzertifikate.pdf
new file mode 100644
index 000000000..a2c44f2a2
Binary files /dev/null and b/id/server/doc/MOA-Testzertifikate.pdf differ
diff --git a/id/server/idserverlib/pom.xml b/id/server/idserverlib/pom.xml
index ab67e2d50..9e673f6f5 100644
--- a/id/server/idserverlib/pom.xml
+++ b/id/server/idserverlib/pom.xml
@@ -3,14 +3,14 @@
MOA.idmoa-id
- 1.4.0
+ 1.4.14.0.0MOA.id.servermoa-id-libjar
- 1.4.0
+ 1.4.1MOA ID API
diff --git a/id/server/pom.xml b/id/server/pom.xml
index eaa59d06f..fffc8d266 100644
--- a/id/server/pom.xml
+++ b/id/server/pom.xml
@@ -4,14 +4,14 @@
MOAid
- 1.4.0
+ 1.4.14.0.0MOA.idmoa-idpom
- 1.4.0
+ 1.4.1MOA ID Server
diff --git a/id/server/proxy/pom.xml b/id/server/proxy/pom.xml
index 3c29d62b5..2cb7fedbd 100644
--- a/id/server/proxy/pom.xml
+++ b/id/server/proxy/pom.xml
@@ -4,7 +4,7 @@
MOA.idmoa-id
- 1.4.0
+ 1.4.1
@@ -16,7 +16,7 @@
MOA.id.servermoa-id-proxywar
- 1.4.0
+ 1.4.1MOA ID-Proxy WebService
diff --git a/id/templates/pom.xml b/id/templates/pom.xml
index aa100b593..4498afdda 100644
--- a/id/templates/pom.xml
+++ b/id/templates/pom.xml
@@ -4,14 +4,14 @@
MOAid
- 1.4.0
+ 1.4.14.0.0MOA.idmoa-id-templateswar
- 1.4.0
+ 1.4.1MOA ID Sample Templates
diff --git a/pom.xml b/pom.xml
index 31871021b..67bc316a4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
MOAMOApom
- 1.4.0
+ 1.4.1MOA
@@ -157,13 +157,13 @@
MOAmoa-common
- 1.4.0
+ 1.4.1compileMOAmoa-common-test
- 1.4.0
+ 1.4.1test
diff --git a/spss/handbook/clients/api/pom.xml b/spss/handbook/clients/api/pom.xml
index 4c1e831c1..a6ae7660b 100644
--- a/spss/handbook/clients/api/pom.xml
+++ b/spss/handbook/clients/api/pom.xml
@@ -1,21 +1,21 @@
- MOA.spss.handbook.clients
- moa-spss-handbook-clients
- 1.4.0
+ MOA.spss.handbook.clients
+ moa-spss-handbook-clients
+ 1.4.14.0.0MOA.spss.handbookmoa-spss-handbook-apiClientjar
- 1.4.0
+ 1.4.1MOA SP/SS Handbook API Client
-
- ${basedir}/../../../../../repository
-
+
+ ${basedir}/../../../../../repository
+
diff --git a/spss/handbook/clients/pom.xml b/spss/handbook/clients/pom.xml
index 2bfd24b45..7928905f3 100644
--- a/spss/handbook/clients/pom.xml
+++ b/spss/handbook/clients/pom.xml
@@ -1,16 +1,16 @@
- MOA.spss.handbook
- moa-spss-handbook
- 1.4.0
+ MOA.spss.handbook
+ moa-spss-handbook
+ 1.4.14.0.0MOA.spss.handbook.clientsmoa-spss-handbook-clientspom
- 1.4.0
+ 1.4.1MOA SP/SS Handbook Clients
@@ -19,8 +19,8 @@
webservice
-
- ${basedir}/../../../../repository
-
+
+ ${basedir}/../../../../repository
+
diff --git a/spss/handbook/clients/referencedData/pom.xml b/spss/handbook/clients/referencedData/pom.xml
index 6ae59fe5e..23c3543df 100644
--- a/spss/handbook/clients/referencedData/pom.xml
+++ b/spss/handbook/clients/referencedData/pom.xml
@@ -1,21 +1,21 @@
- MOA.spss.handbook.clients
- moa-spss-handbook-clients
- 1.4.0
+ MOA.spss.handbook.clients
+ moa-spss-handbook-clients
+ 1.4.14.0.0MOA.spss.handbookmoa-spss-handbook-referencedDatawar
- 1.4.0
+ 1.4.1MOA SP/SS Handbook Referenced Data
-
- ${basedir}/../../../../../repository
-
+
+ ${basedir}/../../../../../repository
+
diff --git a/spss/handbook/clients/webservice/pom.xml b/spss/handbook/clients/webservice/pom.xml
index b0307bc67..72312da54 100644
--- a/spss/handbook/clients/webservice/pom.xml
+++ b/spss/handbook/clients/webservice/pom.xml
@@ -1,21 +1,21 @@
- MOA.spss.handbook.clients
- moa-spss-handbook-clients
- 1.4.0
+ MOA.spss.handbook.clients
+ moa-spss-handbook-clients
+ 1.4.14.0.0MOA.spss.handbook.clientsmoa-spss-handbook-webserviceClientjar
- 1.4.0
+ 1.4.1MOA SP/SS Handbook WebService Client
-
- ${basedir}/../../../../../repository
-
+
+ ${basedir}/../../../../../repository
+
diff --git a/spss/handbook/pom.xml b/spss/handbook/pom.xml
index f9fa534c3..8323f1802 100644
--- a/spss/handbook/pom.xml
+++ b/spss/handbook/pom.xml
@@ -1,24 +1,24 @@
- MOA
- spss
- 1.4.0
+ MOA
+ spss
+ 1.4.14.0.0MOA.spss.handbookmoa-spss-handbookpom
- 1.4.0
+ 1.4.1MOA SP/SS Handbookclients
-
- ${basedir}/../../../repository
-
+
+ ${basedir}/../../../repository
+
diff --git a/spss/pom.xml b/spss/pom.xml
index 687bd5f2b..aa06dee69 100644
--- a/spss/pom.xml
+++ b/spss/pom.xml
@@ -3,14 +3,14 @@
MOAMOA
- 1.4.0
+ 1.4.14.0.0MOAspsspom
- 1.4.0
+ 1.4.1MOA SP/SS
diff --git a/spss/server/history.txt b/spss/server/history.txt
index 4ae502a0d..d21fef433 100644
--- a/spss/server/history.txt
+++ b/spss/server/history.txt
@@ -1,3 +1,10 @@
+##############
+1.4.1
+##############
+
+- Die Projektstruktur wurde eimem Maven Build-Prozess unterlegt. Der Sourcocde
+ ab dieser Version unter http://egovlabs.gv.at/scm/?group_id=6 verfügbar.
+
##############
1.4.0
##############
diff --git a/spss/server/pom.xml b/spss/server/pom.xml
index 0610de7c7..aa5db1624 100644
--- a/spss/server/pom.xml
+++ b/spss/server/pom.xml
@@ -3,14 +3,14 @@
MOAspss
- 1.4.0
+ 1.4.14.0.0MOA.spssmoa-spsspom
- 1.4.0
+ 1.4.1MOA SP/SS Server
diff --git a/spss/server/readme.update.txt b/spss/server/readme.update.txt
index cfd7d5d13..9e35d570d 100644
--- a/spss/server/readme.update.txt
+++ b/spss/server/readme.update.txt
@@ -1,11 +1,11 @@
======================================================================
- Update einer bestehenden MOA-SPSS-Installation auf Version 1.4.0
+ Update einer bestehenden MOA-SPSS-Installation auf Version 1.4.1
======================================================================
Es gibt zwei Möglichkeiten (im Folgenden als "Update Variante A" und
"Update Variante B" bezeichnet), das Update von MOA-SPSS auf Version
-1.4.0 durchzuführen. Update Variante A geht dabei den Weg über eine
+1.4.1 durchzuführen. Update Variante A geht dabei den Weg über eine
vorangestellte Neuinstallation, während Variante B direkt eine
bestehende Installation aktualisiert.
@@ -16,7 +16,7 @@ JAVA_HOME bezeichnet das Wurzelverzeichnis der JDK-Installation
CATALINA_HOME bezeichnet das Wurzelverzeichnis der Tomcat-Installation
MOA_SPSS_INST bezeichnet das Verzeichnis, in das Sie die Datei
-moa-spss-1.4.0.zip entpackt haben.
+moa-spss-1.4.1.zip entpackt haben.
=================
@@ -55,23 +55,23 @@ Update Variante B
1.) Erstellen Sie eine Sicherungskopie des kompletten Tomcat-Verzeichnisses
Ihrer MOA-SPSS-Installation.
-2.) Entpacken Sie die Datei "moa-spss-1.4.0.zip" in das Verzeichnis MOA_SPSS_INST.
+2.) Entpacken Sie die Datei "moa-spss-1.4.1.zip" in das Verzeichnis MOA_SPSS_INST.
3.) Erstellen Sie eine Sicherungskopie aller "iaik*.jar"-Dateien im Verzeichnis
JAVA_HOME\jre\lib\ext und löschen Sie diese Dateien danach.
4.) Kopieren Sie alle Dateien aus dem Verzeichnis MOA_SPSS_INST\ext in das
- Verzeichnis JAVA_HOME\jre\lib\ext (Achtung: Java 1.3.x wird nicht mehr
- unterstützt).
+ Verzeichnis JAVA_HOME\jre\lib\ext (Achtung: Java 1.3.x wird nicht mehr
+ unterstützt).
5.) Kopieren Sie die Dateien aus dem Verzeichnis MOA_SPSS_INST\endorsed
in das Verzeichnis CATALINA_HOME\common\endorsed. Überschreiben Sie dabei
etwaige gleichnamige Dateien. Die dort eventuell vorhandene Datei
- xmlParserAPIs.jar ist zu löschen.
+ xmlParserAPIs.jar ist zu löschen.
-6.) Löschen Sie das Verzeichnis CATALINA_HOME\webapps\moa-spss.
+6.) Löschen Sie das Verzeichnis CATALINA_HOME\webapps\moa-spss.
-7.) Ersetzen Sie die Datei CATALINA_HOME\webapps\moa-spss.war durch die Datei
+7.) Ersetzen Sie die Datei CATALINA_HOME\webapps\moa-spss.war durch die Datei
MOA_SPSS_INST\moa-spss.war.
8.) Löschen Sie das Verzeichnis CATALINA_HOME\work.
diff --git a/spss/server/serverlib/pom.xml b/spss/server/serverlib/pom.xml
index ae9c88171..49bc37ceb 100644
--- a/spss/server/serverlib/pom.xml
+++ b/spss/server/serverlib/pom.xml
@@ -1,21 +1,21 @@
- MOA.spss
- moa-spss
- 1.4.0
+ MOA.spss
+ moa-spss
+ 1.4.14.0.0MOA.spss.servermoa-spss-libjar
- 1.4.0
+ 1.4.1MOA SP/SS API
-
- ${basedir}/../../../repository
-
+
+ ${basedir}/../../../repository
+
diff --git a/spss/server/serverws/pom.xml b/spss/server/serverws/pom.xml
index f1503ba82..de0f511c2 100644
--- a/spss/server/serverws/pom.xml
+++ b/spss/server/serverws/pom.xml
@@ -3,14 +3,14 @@
MOA.spssmoa-spss
- 1.4.0
+ 1.4.14.0.0MOA.spss.servermoa-spss-wswar
- 1.4.0
+ 1.4.1MOA SP/SS WebService
diff --git a/spss/server/tools/pom.xml b/spss/server/tools/pom.xml
index 184d67554..3bfb747f8 100644
--- a/spss/server/tools/pom.xml
+++ b/spss/server/tools/pom.xml
@@ -3,14 +3,14 @@
MOA.spssmoa-spss
- 1.4.0
+ 1.4.14.0.0MOA.spss.servermoa-spss-toolsjar
- 1.4.0
+ 1.4.1MOA SP/SS Tools
--
cgit v1.2.3
From 4e12d1df5daab1f7600fa3a58e6fc535375224ff Mon Sep 17 00:00:00 2001
From: pdanner
Date: Mon, 10 Sep 2007 15:16:34 +0000
Subject: moved test classes, cashing of resolved entities
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@1002 d688527b-c9ab-4aba-bd8d-4036d912da1d
---
.../java/test/at/gv/egovernment/moa/AllTests.java | 38 ---
.../test/at/gv/egovernment/moa/MOATestCase.java | 75 ----
.../at/gv/egovernment/moa/util/DOMUtilsTest.java | 137 --------
.../gv/egovernment/moa/util/DateTimeUtilsTest.java | 104 ------
.../gv/egovernment/moa/util/KeyStoreUtilsTest.java | 90 -----
.../at/gv/egovernment/moa/util/SSLUtilsTest.java | 160 ---------
.../at/gv/egovernment/moa/util/URLDecoderTest.java | 29 --
.../at/gv/egovernment/moa/util/URLEncoderTest.java | 43 ---
.../moa/util/XMLGrammarBuilderTest.java | 99 ------
.../at/gv/egovernment/moa/util/XPathUtilsTest.java | 51 ---
common/pom.xml | 155 +++++----
.../at/gv/egovernment/moa/util/StreamUtils.java | 45 +++
.../java/test/at/gv/egovernment/moa/AllTests.java | 38 +++
.../test/at/gv/egovernment/moa/MOATestCase.java | 75 ++++
.../at/gv/egovernment/moa/util/DOMUtilsTest.java | 137 ++++++++
.../gv/egovernment/moa/util/DateTimeUtilsTest.java | 104 ++++++
.../gv/egovernment/moa/util/KeyStoreUtilsTest.java | 90 +++++
.../at/gv/egovernment/moa/util/SSLUtilsTest.java | 160 +++++++++
.../at/gv/egovernment/moa/util/URLDecoderTest.java | 29 ++
.../at/gv/egovernment/moa/util/URLEncoderTest.java | 43 +++
.../moa/util/XMLGrammarBuilderTest.java | 99 ++++++
.../at/gv/egovernment/moa/util/XPathUtilsTest.java | 51 +++
id/oa/pom.xml | 2 +-
id/pom.xml | 6 +-
id/server/auth/pom.xml | 4 +-
id/server/idserverlib/pom.xml | 334 +++++++++---------
id/server/pom.xml | 40 +--
id/server/proxy/pom.xml | 16 +-
id/templates/pom.xml | 4 +-
pom.xml | 250 +++++++-------
spss/handbook/clients/api/pom.xml | 6 +-
spss/handbook/clients/pom.xml | 4 +-
spss/handbook/clients/referencedData/pom.xml | 4 +-
spss/handbook/clients/webservice/pom.xml | 6 +-
spss/handbook/pom.xml | 4 +-
spss/pom.xml | 4 +-
spss/server/history.txt | 8 +-
spss/server/pom.xml | 4 +-
spss/server/serverlib/pom.xml | 4 +-
.../moa/spss/server/invoke/DataObjectFactory.java | 119 +++++--
.../spss/server/invoke/ExternalURIResolver.java | 15 -
.../invoke/XMLSignatureVerificationInvoker.java | 6 +-
.../moa/spss/server/service/AxisHandler.java | 43 ++-
.../server/service/SignatureCreationService.java | 13 +-
.../server/transaction/TransactionContext.java | 131 +++++--
.../test/at/gv/egovernment/moa/spss/AllTests.java | 40 ---
.../at/gv/egovernment/moa/spss/SPSSTestCase.java | 82 -----
.../egovernment/moa/spss/api/xmlbind/AllTests.java | 24 --
.../CreateXMLSignatureRequestParserTest.java | 71 ----
.../moa/spss/api/xmlbind/TransformParserTest.java | 113 ------
.../VerifyCMSSignatureRequestParserTest.java | 61 ----
.../VerifyXMLSignatureRequestParserTest.java | 81 -----
.../moa/spss/server/config/AllTests.java | 20 --
.../server/config/ConfigurationProviderTest1.java | 377 ---------------------
.../server/config/ConfigurationProviderTest2.java | 225 ------------
.../server/config/ConfigurationProviderTest3.java | 166 ---------
.../iaik/config/ConfigurationDataImplTest.java | 149 --------
.../server/iaik/config/IaikConfiguratorTest.java | 36 --
.../moa/spss/server/invoke/AllTests.java | 25 --
.../CMSSignatureVerificationInvokerTest.java | 63 ----
.../spss/server/invoke/DataObjectFactoryTest.java | 180 ----------
.../server/invoke/TransformationFactoryTest.java | 201 -----------
.../invoke/XMLSignatureCreationInvokerTest.java | 63 ----
.../XMLSignatureVerificationInvokerTest.java | 61 ----
.../moa/spss/server/tools/CertToolTest.java | 50 ---
.../java/at/gv/egovernment/moa/spss/AllTests.java | 40 +++
.../at/gv/egovernment/moa/spss/SPSSTestCase.java | 82 +++++
.../egovernment/moa/spss/api/xmlbind/AllTests.java | 24 ++
.../CreateXMLSignatureRequestParserTest.java | 71 ++++
.../moa/spss/api/xmlbind/TransformParserTest.java | 113 ++++++
.../VerifyCMSSignatureRequestParserTest.java | 61 ++++
.../VerifyXMLSignatureRequestParserTest.java | 81 +++++
.../moa/spss/server/config/AllTests.java | 20 ++
.../server/config/ConfigurationProviderTest1.java | 377 +++++++++++++++++++++
.../server/config/ConfigurationProviderTest2.java | 225 ++++++++++++
.../server/config/ConfigurationProviderTest3.java | 166 +++++++++
.../iaik/config/ConfigurationDataImplTest.java | 149 ++++++++
.../server/iaik/config/IaikConfiguratorTest.java | 36 ++
.../moa/spss/server/invoke/AllTests.java | 25 ++
.../CMSSignatureVerificationInvokerTest.java | 63 ++++
.../spss/server/invoke/DataObjectFactoryTest.java | 180 ++++++++++
.../server/invoke/TransformationFactoryTest.java | 201 +++++++++++
.../invoke/XMLSignatureCreationInvokerTest.java | 63 ++++
.../XMLSignatureVerificationInvokerTest.java | 61 ++++
.../moa/spss/server/tools/CertToolTest.java | 50 +++
spss/server/serverws/pom.xml | 6 +-
spss/server/tools/pom.xml | 6 +-
87 files changed, 3645 insertions(+), 3422 deletions(-)
delete mode 100644 common-test/src/main/java/test/at/gv/egovernment/moa/AllTests.java
delete mode 100644 common-test/src/main/java/test/at/gv/egovernment/moa/MOATestCase.java
delete mode 100644 common-test/src/main/java/test/at/gv/egovernment/moa/util/DOMUtilsTest.java
delete mode 100644 common-test/src/main/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java
delete mode 100644 common-test/src/main/java/test/at/gv/egovernment/moa/util/KeyStoreUtilsTest.java
delete mode 100644 common-test/src/main/java/test/at/gv/egovernment/moa/util/SSLUtilsTest.java
delete mode 100644 common-test/src/main/java/test/at/gv/egovernment/moa/util/URLDecoderTest.java
delete mode 100644 common-test/src/main/java/test/at/gv/egovernment/moa/util/URLEncoderTest.java
delete mode 100644 common-test/src/main/java/test/at/gv/egovernment/moa/util/XMLGrammarBuilderTest.java
delete mode 100644 common-test/src/main/java/test/at/gv/egovernment/moa/util/XPathUtilsTest.java
create mode 100644 common/src/test/java/test/at/gv/egovernment/moa/AllTests.java
create mode 100644 common/src/test/java/test/at/gv/egovernment/moa/MOATestCase.java
create mode 100644 common/src/test/java/test/at/gv/egovernment/moa/util/DOMUtilsTest.java
create mode 100644 common/src/test/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java
create mode 100644 common/src/test/java/test/at/gv/egovernment/moa/util/KeyStoreUtilsTest.java
create mode 100644 common/src/test/java/test/at/gv/egovernment/moa/util/SSLUtilsTest.java
create mode 100644 common/src/test/java/test/at/gv/egovernment/moa/util/URLDecoderTest.java
create mode 100644 common/src/test/java/test/at/gv/egovernment/moa/util/URLEncoderTest.java
create mode 100644 common/src/test/java/test/at/gv/egovernment/moa/util/XMLGrammarBuilderTest.java
create mode 100644 common/src/test/java/test/at/gv/egovernment/moa/util/XPathUtilsTest.java
delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/AllTests.java
delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/SPSSTestCase.java
delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java
delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java
delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java
delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java
delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java
delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/AllTests.java
delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest1.java
delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest2.java
delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest3.java
delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java
delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java
delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/AllTests.java
delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java
delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java
delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java
delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java
delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java
delete mode 100644 spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java
create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/AllTests.java
create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/SPSSTestCase.java
create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java
create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java
create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java
create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java
create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java
create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/AllTests.java
create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest1.java
create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest2.java
create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest3.java
create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java
create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java
create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/AllTests.java
create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java
create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java
create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java
create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java
create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java
create mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java
(limited to 'id/server/idserverlib')
diff --git a/common-test/src/main/java/test/at/gv/egovernment/moa/AllTests.java b/common-test/src/main/java/test/at/gv/egovernment/moa/AllTests.java
deleted file mode 100644
index 00e2c505f..000000000
--- a/common-test/src/main/java/test/at/gv/egovernment/moa/AllTests.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package test.at.gv.egovernment.moa;
-
-import test.at.gv.egovernment.moa.util.DOMUtilsTest;
-import test.at.gv.egovernment.moa.util.DateTimeUtilsTest;
-import test.at.gv.egovernment.moa.util.KeyStoreUtilsTest;
-import test.at.gv.egovernment.moa.util.SSLUtilsTest;
-import test.at.gv.egovernment.moa.util.XPathUtilsTest;
-
-import junit.awtui.TestRunner;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author patrick
- * @version $Id$
- */
-public class AllTests {
-
- public static Test suite() {
- TestSuite suite = new TestSuite();
-
- suite.addTestSuite(DOMUtilsTest.class);
- suite.addTestSuite(DateTimeUtilsTest.class);
- suite.addTestSuite(XPathUtilsTest.class);
- suite.addTestSuite(KeyStoreUtilsTest.class);
- suite.addTestSuite(SSLUtilsTest.class);
-
- return suite;
- }
-
- public static void main(String[] args) {
- try {
- TestRunner.run(AllTests.class);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-}
diff --git a/common-test/src/main/java/test/at/gv/egovernment/moa/MOATestCase.java b/common-test/src/main/java/test/at/gv/egovernment/moa/MOATestCase.java
deleted file mode 100644
index 86ea2ee6c..000000000
--- a/common-test/src/main/java/test/at/gv/egovernment/moa/MOATestCase.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package test.at.gv.egovernment.moa;
-
-import java.io.FileInputStream;
-import java.io.StringReader;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import org.w3c.dom.Document;
-
-import org.xml.sax.InputSource;
-
-import junit.framework.TestCase;
-
-import at.gv.egovernment.moa.util.Constants;
-import at.gv.egovernment.moa.util.DOMUtils;
-
-/**
- * Base class for MOA test cases.
- *
- * Provides some utility functions.
- *
- * @author Patrick Peck
- * @version $Id$
- */
-public class MOATestCase extends TestCase {
-
- protected static final String TESTDATA_ROOT = "data/test/";
-
- /**
- * Constructor for MOATestCase.
- * @param arg0
- */
- public MOATestCase(String name) {
- super(name);
- }
-
- /**
- * Parse an XML file non-validating.
- */
- public static Document parseXml(String fileName) throws Exception {
- return DOMUtils.parseDocument(
- new FileInputStream(fileName),
- false,
- null,
- null);
- }
-
- /**
- * Parse an XML validating with a given file name.
- *
- * Uses the local schema resources.
- */
- public static Document parseXmlValidating(String fileName) throws Exception {
- return DOMUtils.parseDocument(
- new FileInputStream(fileName),
- true,
- Constants.ALL_SCHEMA_LOCATIONS,
- null);
- }
-
- /**
- * Parse an XML from a String.
- */
- public static Document parseXmlString(String xml) throws Exception {
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- DocumentBuilder builder;
-
- factory.setNamespaceAware(true);
- builder = factory.newDocumentBuilder();
-
- return builder.parse(new InputSource(new StringReader(xml)));
- }
-
-}
diff --git a/common-test/src/main/java/test/at/gv/egovernment/moa/util/DOMUtilsTest.java b/common-test/src/main/java/test/at/gv/egovernment/moa/util/DOMUtilsTest.java
deleted file mode 100644
index eb3ad1a5c..000000000
--- a/common-test/src/main/java/test/at/gv/egovernment/moa/util/DOMUtilsTest.java
+++ /dev/null
@@ -1,137 +0,0 @@
-package test.at.gv.egovernment.moa.util;
-import java.io.FileInputStream;
-import java.util.Map;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-import test.at.gv.egovernment.moa.*;
-
-import at.gv.egovernment.moa.util.Constants;
-import at.gv.egovernment.moa.util.DOMUtils;
-
-/**
- * @author Patrick Peck
- * @version $Id$
- */
-public class DOMUtilsTest extends MOATestCase {
- private static final String TESTDATA_BASE = TESTDATA_ROOT + "xml/";
- private static boolean grammarsInitialized = false;
-
- /**
- * Constructor for DOMUtilsTest.
- * @param name
- */
- public DOMUtilsTest(String name) {
- super(name);
- }
-
- protected void setUp() throws Exception {
- if (!grammarsInitialized) {
- // preparse XML schema
- DOMUtils.addSchemaToPool(
- getClass().getResourceAsStream(Constants.XML_SCHEMA_LOCATION),
- Constants.XML_NS_URI);
- // preparse XMLDsig Filter2 schema
- DOMUtils.addSchemaToPool(
- getClass().getResourceAsStream(Constants.DSIG_FILTER2_SCHEMA_LOCATION),
- Constants.DSIG_FILTER2_NS_URI);
- // preparse XMLDsig schema
- DOMUtils.addSchemaToPool(
- getClass().getResourceAsStream(Constants.DSIG_SCHEMA_LOCATION),
- Constants.DSIG_NS_URI);
- // preparse MOA schema
- DOMUtils.addSchemaToPool(
- getClass().getResourceAsStream(Constants.MOA_SCHEMA_LOCATION),
- Constants.MOA_NS_URI);
- grammarsInitialized = true;
- }
- }
-
- private Document parse(String fileName) throws Exception {
- return DOMUtils.parseDocument(
- new FileInputStream(fileName),
- true,
- Constants.ALL_SCHEMA_LOCATIONS,
- null);
- }
-
- public void testParseCreateXMLSignature() throws Exception {
- parse(TESTDATA_BASE + "CreateXMLSignature/TestGeneratorCX2.005.Req.xml");
- parse(TESTDATA_BASE + "CreateXMLSignature/Req000.xml");
- parse(TESTDATA_BASE + "CreateXMLSignature/Req001.xml");
- parse(TESTDATA_BASE + "CreateXMLSignature/Req002.xml");
- parse(TESTDATA_BASE + "CreateXMLSignature/Req004.xml");
- }
-
- public void testParseVerifyCMSSignature() throws Exception {
- parse(TESTDATA_BASE + "VerifyCMSSignature/Req000.xml");
- }
-
- public void testParseVerifyXMLSignature() throws Exception {
- parse(TESTDATA_BASE + "VerifyXMLSignature/Req000.xml");
- parse(TESTDATA_BASE + "VerifyXMLSignature/Req001.xml");
- parse(TESTDATA_BASE + "VerifyXMLSignature/Req002.xml");
- parse(TESTDATA_BASE + "VerifyXMLSignature/TestGeneratorVX.002.Req.xml");
- //parse(TESTDATA_BASE + "VerifyXMLSignature/TestGeneratorVX.006.Req.xml");
- parse(TESTDATA_BASE + "VerifyXMLSignature/VerifySAMLRequest.xml");
- }
-
- public void testParseInfobox() throws Exception {
- parse(TESTDATA_BASE + "Infobox/InfoboxReadResponseMOA4.xml");
- parse(TESTDATA_BASE + "Infobox/InfoboxReadResponse.xml");
- }
-
-
- private Document parsePlain(String fileName) throws Exception {
- return DOMUtils.parseDocument(
- new FileInputStream(fileName),
- false,
- null,
- null);
- }
-
- public void testValidateCreateXMLSignature() throws Exception {
- Document doc;
- boolean valid;
-
- // test a valid request
- doc = parsePlain(TESTDATA_BASE + "CreateXMLSignature/Req000.xml");
- valid =
- DOMUtils.validateElement(
- doc.getDocumentElement(),
- Constants.ALL_SCHEMA_LOCATIONS,
- null);
- assertTrue(valid);
-
- // test an invalid request
- doc = parsePlain(TESTDATA_BASE + "CreateXMLSignature/invalid.xml");
- try {
- valid =
- DOMUtils.validateElement(
- doc.getDocumentElement(),
- Constants.ALL_SCHEMA_LOCATIONS,
- null);
- fail();
- } catch (Exception e) {
- }
- }
-
- public void testGetNamespaceDeclarations() throws Exception {
- Document doc;
- NodeList nl;
- Element elem;
- Map nsDecls;
-
- doc = parse(TESTDATA_BASE + "VerifyXMLSignature/Req002.xml");
- nl = doc.getElementsByTagNameNS(Constants.DSIG_NS_URI, "Reference");
- elem = (Element) nl.item(0);
- nsDecls = DOMUtils.getNamespaceDeclarations(elem);
-
- assertEquals(2, nsDecls.size());
- assertEquals(Constants.DSIG_NS_URI, nsDecls.get("dsig"));
- assertEquals(Constants.MOA_NS_URI, nsDecls.get(""));
- }
-
-}
diff --git a/common-test/src/main/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java b/common-test/src/main/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java
deleted file mode 100644
index da6b29b1c..000000000
--- a/common-test/src/main/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package test.at.gv.egovernment.moa.util;
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.TimeZone;
-
-import junit.framework.TestCase;
-
-import at.gv.egovernment.moa.util.DateTimeUtils;
-
-/**
- * @author Patrick Peck
- * @version $Id$
- */
-public class DateTimeUtilsTest extends TestCase {
-
- /**
- * Constructor for DateTimeUtilsTest.
- * @param arg0
- */
- public DateTimeUtilsTest(String arg0) {
- super(arg0);
- }
-
- public void testParseDateTimeValid() throws Exception {
- Date date;
- DateFormat format = SimpleDateFormat.getDateTimeInstance();
- String dateStr;
-
- format.setTimeZone(TimeZone.getTimeZone("GMT"));
- date = DateTimeUtils.parseDateTime("+1971-12-12T06:30:15");
- date.setTime(date.getTime() + TimeZone.getDefault().getRawOffset());
- dateStr = format.format(date);
- assertEquals("12.12.1971 06:30:15", dateStr);
-
- date = DateTimeUtils.parseDateTime("2000-01-01T23:59:59.012Z");
- dateStr = format.format(date);
- assertEquals("01.01.2000 23:59:59", dateStr);
-
- date = DateTimeUtils.parseDateTime("2003-05-20T12:17:30-05:00");
- dateStr = format.format(date);
- assertEquals("20.05.2003 17:17:30", dateStr);
-
-
- date = DateTimeUtils.parseDateTime("2002-02-02T02:02:02.33+04:30");
- dateStr = format.format(date);
- assertEquals("01.02.2002 21:32:02", dateStr);
- }
-
- public void testParseDateTimeInvalid() {
- try {
- DateTimeUtils.parseDateTime("+1971-12-12T6:30:15");
- fail();
- } catch (ParseException e) {
- }
-
- try {
- DateTimeUtils.parseDateTime("2000-01-0123:59:59.999999Z");
- fail();
- } catch (ParseException e) {
- }
-
- try {
- DateTimeUtils.parseDateTime("2003-05-20T12:17:3005:00");
- fail();
- } catch (ParseException e) {
- }
-
- try {
- DateTimeUtils.parseDateTime(" 2002-02-02T02:02:02.33+04:00");
- fail();
- } catch (ParseException e) {
- }
-
- }
-
- public void testBuildDateTimeGMTMinus3() {
- String should = "2002-01-01T01:01:01-03:00";
- doTestBuildDateTime(2002, 1, 1, 1, 1, 1, "GMT-03:00", should);
- }
- public void testBuildDateTimeMEZSommerzeit() {
- String should = "2002-07-31T23:59:59+02:00";
- doTestBuildDateTime(2002, 7, 31, 23, 59, 59, "GMT+01:00", should);
- }
- public void testBuildDateTimeGMT() {
- String should = "2002-01-01T01:01:01";
- doTestBuildDateTime(2002, 1, 1, 1, 1, 1, "GMT+00:00", should);
- }
- private void doTestBuildDateTime(
- int year, int month, int day,
- int hour, int min, int sec,
- String timeZone, String dateTimeShould) {
-
- Calendar cal = new GregorianCalendar(TimeZone.getTimeZone(timeZone));
- cal.set(year,month, day, hour, min, sec);
- cal.set(Calendar.MILLISECOND, 0);
- String dateTimeBuilt = DateTimeUtils.buildDateTime(cal);
- assertEquals(dateTimeShould, dateTimeBuilt);
- }
-
-}
diff --git a/common-test/src/main/java/test/at/gv/egovernment/moa/util/KeyStoreUtilsTest.java b/common-test/src/main/java/test/at/gv/egovernment/moa/util/KeyStoreUtilsTest.java
deleted file mode 100644
index a6d1847ce..000000000
--- a/common-test/src/main/java/test/at/gv/egovernment/moa/util/KeyStoreUtilsTest.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package test.at.gv.egovernment.moa.util;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.math.BigInteger;
-import java.security.KeyStore;
-import java.security.Security;
-import java.security.cert.X509Certificate;
-import java.util.Enumeration;
-
-import at.gv.egovernment.moa.util.KeyStoreUtils;
-
-import junit.framework.TestCase;
-
-/**
- * @author Paul Ivancsics
- * @version $Id$
- */
-public class KeyStoreUtilsTest extends TestCase {
- private String tmpDir = "tmp/KeyStoreUtilsTest";
- private String tmpDirURL = "file:" + tmpDir;
-
- public KeyStoreUtilsTest(String arg0) {
- super(arg0);
- }
-
- protected void setUp() throws Exception {
- Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
- new File(tmpDir).mkdirs();
- }
- protected void tearDown() throws Exception {
- new File(tmpDir).delete();
- }
- public void testCreateKeyStoreJKS() throws Exception {
- String[] certFilenames = new String[] {
- "data/test/security/server-certs/baltimore.cer"
- };
- KeyStore ks = KeyStoreUtils.createKeyStore("jks", certFilenames);
- assertEquals(1, ks.size());
- X509Certificate cert = (X509Certificate)ks.getCertificate("0");
- assertEquals(3424, cert.getSerialNumber().intValue());
- }
- public void testCreateKeyStorePKCS12() throws Exception {
- String[] certFilenames = new String[] {
- "data/test/security/server-certs/baltimore.cer"
- };
- KeyStore ks = KeyStoreUtils.createKeyStore("pkcs12", certFilenames);
- assertEquals(1, ks.size());
- X509Certificate cert = (X509Certificate)ks.getCertificate("0");
- assertEquals(3424, cert.getSerialNumber().intValue());
- }
- public void testCreateKeyStoreFromCertificateDirectory() throws Exception {
- // copy certificate files to a temporary directory,
- // omitting the "CVS" directory in the source directory
- copyCertificates("data/test/security/server-certs", tmpDir);
- KeyStore ks = KeyStoreUtils.createKeyStoreFromCertificateDirectory("jks", tmpDirURL);
- assertEquals(2, ks.size());
- X509Certificate cert0 = (X509Certificate)ks.getCertificate("0");
- X509Certificate cert1 = (X509Certificate)ks.getCertificate("1");
- assertTrue(3424 == cert0.getSerialNumber().intValue() || 3424 == cert1.getSerialNumber().intValue());
- }
- private void copyCertificates(String from, String to) throws IOException {
- String[] fromList = new File(from).list();
- for (int i = 0; i < fromList.length; i++) {
- File fromFile = new File(from + File.separator + fromList[i]);
- if (fromFile.isFile()) {
- String toFile = to + "/" + fromList[i];
- FileInputStream in = new FileInputStream(fromFile);
- FileOutputStream out = new FileOutputStream(toFile);
- for (int ch = in.read(); ch >= 0; ch = in.read())
- out.write(ch);
- out.close();
- in.close();
- }
- }
-
- }
- public void testLoadKeyStore() throws Exception {
- String keyStoreURL = "file:data/test/security/client-certs/sicher-demo(buergerkarte).p12";
- KeyStore ks = KeyStoreUtils.loadKeyStore("pkcs12", keyStoreURL, "buergerkarte");
- assertEquals(1, ks.size());
- Enumeration aliases = ks.aliases();
- String alias = (String)aliases.nextElement();
- X509Certificate cert = (X509Certificate)ks.getCertificate(alias);
- assertEquals(new BigInteger("1044289238331").intValue(), cert.getSerialNumber().intValue());
- }
-
-}
diff --git a/common-test/src/main/java/test/at/gv/egovernment/moa/util/SSLUtilsTest.java b/common-test/src/main/java/test/at/gv/egovernment/moa/util/SSLUtilsTest.java
deleted file mode 100644
index 7e55cb7d0..000000000
--- a/common-test/src/main/java/test/at/gv/egovernment/moa/util/SSLUtilsTest.java
+++ /dev/null
@@ -1,160 +0,0 @@
-package test.at.gv.egovernment.moa.util;
-
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.net.URL;
-import java.security.KeyStore;
-import java.security.Security;
-
-import javax.net.ssl.SSLException;
-import javax.net.ssl.SSLSocketFactory;
-
-import com.sun.net.ssl.HostnameVerifier;
-import com.sun.net.ssl.HttpsURLConnection;
-
-import at.gv.egovernment.moa.util.KeyStoreUtils;
-import at.gv.egovernment.moa.util.SSLUtils;
-
-import junit.framework.TestCase;
-
-/**
- * @author Paul Ivancsics
- * @version $Id$
- */
-public class SSLUtilsTest extends TestCase {
-
- public SSLUtilsTest(String arg0) {
- super(arg0);
- }
-
-
- protected void setUp() throws Exception {
- //System.setProperty("javax.net.debug", "all");
- Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
- System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
- System.setProperty("https.cipherSuites", "SSL_DHE_DSS_WITH_DES_CBC_SHA,SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA,SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,SSL_RSA_WITH_DES_CBC_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA,SSL_RSA_EXPORT_WITH_RC4_40_MD5");
- }
-
- public void testGetSSLSocketFactoryBaltimoreOK() throws Exception {
- doTestGetSSLSocketFactory(
- "GET",
- "https://www.baltimore.com/",
- false,
- "file:data/test/security/cacerts+gt_cybertrust_root",
- "changeit",
- true);
- }
- public void testGetSSLSocketFactoryBaltimoreNOK() throws Exception {
- doTestGetSSLSocketFactory(
- "GET",
- "https://www.baltimore.com/",
- false,
- "file:data/test/security/cacerts",
- "changeit",
- false);
- }
- public void testGetSSLSocketFactoryVerisignOK() throws Exception {
- doTestGetSSLSocketFactory(
- "GET",
- "https://www.verisign.com/",
- false,
- "file:data/test/security/cacerts",
- "changeit",
- true);
- }
- public void testGetSSLSocketFactoryVerisignNoTruststoreOK() throws Exception {
- doTestGetSSLSocketFactory(
- "GET",
- "https://www.verisign.com/",
- false,
- null,
- null,
- true);
- }
- public void testGetSSLSocketFactoryLocalhostOK() throws Exception {
- String urlString = "https://localhost:8443/moa-id-auth/index.jsp";
- doTestGetSSLSocketFactory(
- "GET",
- urlString,
- true,
- "file:data/test/security/server.keystore.tomcat",
- "changeit",
- true);
- }
- public void testGetSSLSocketFactoryLocalhostNOK() throws Exception {
- String urlString = "https://localhost:8443/moa-id-auth/index.jsp";
- doTestGetSSLSocketFactory(
- "GET",
- urlString,
- true,
- null,
- null,
- false);
- }
-
- public void doTestGetSSLSocketFactory(
- String requestMethod,
- String urlString,
- boolean useHostnameVerifierHack,
- String truststoreurl,
- String trustpassword,
- boolean shouldOk
- ) throws Exception {
-
- doTestGetSSLSocketFactory(
- requestMethod, urlString, useHostnameVerifierHack, truststoreurl, trustpassword, null, null, null, shouldOk);
- }
- public void doTestGetSSLSocketFactory(
- String requestMethod,
- String urlString,
- boolean useHostnameVerifierHack,
- String truststoreurl,
- String trustpassword,
- String keystoretype,
- String keystoreurl,
- String keypassword,
- boolean shouldOk
- ) throws Exception {
-
- KeyStore truststore = null;
- if (truststoreurl != null)
- truststore = KeyStoreUtils.loadKeyStore("jks", truststoreurl, trustpassword);
- SSLSocketFactory sf = SSLUtils.getSSLSocketFactory(
- truststore, keystoretype, keystoreurl, keypassword);
- System.out.println(requestMethod + " " + urlString);
-
- URL url = new URL(urlString);
- HttpsURLConnection conn = (HttpsURLConnection)url.openConnection();
- conn.setRequestMethod(requestMethod);
- conn.setDoInput(true);
- conn.setDoOutput(true);
- conn.setUseCaches(false);
- conn.setAllowUserInteraction(false);
- conn.setSSLSocketFactory(sf);
- if (useHostnameVerifierHack)
- conn.setHostnameVerifier(new HostnameVerifierHack());
- try {
- conn.connect();
- assertTrue(shouldOk);
- assertEquals(200, conn.getResponseCode());
- conn.disconnect();
- }
- catch (SSLException ex) {
- assertFalse(shouldOk);
- }
- }
- private byte[] readTruststore(String filename) throws IOException {
- if (filename == null)
- return null;
- FileInputStream in = new FileInputStream(filename);
- byte[] buffer = new byte[in.available()];
- in.read(buffer);
- in.close();
- return buffer;
- }
- private class HostnameVerifierHack implements HostnameVerifier {
- public boolean verify(String arg0, String arg1) {
- return true;
- }
- }
-}
diff --git a/common-test/src/main/java/test/at/gv/egovernment/moa/util/URLDecoderTest.java b/common-test/src/main/java/test/at/gv/egovernment/moa/util/URLDecoderTest.java
deleted file mode 100644
index b6ea0e152..000000000
--- a/common-test/src/main/java/test/at/gv/egovernment/moa/util/URLDecoderTest.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package test.at.gv.egovernment.moa.util;
-
-import java.net.URLEncoder;
-
-import at.gv.egovernment.moa.util.FileUtils;
-import at.gv.egovernment.moa.util.URLDecoder;
-
-import junit.framework.TestCase;
-
-/*
- * @author Paul Ivancsics
- * @version $Id$
- */
-public class URLDecoderTest extends TestCase {
-
- public void test() throws Exception {
- String s = "immerZUA0129<>%==$$%&/()@?{()=} \\\"äöüÄÖÜ?§";
- String senc = URLEncoder.encode(s);
- String sdec = URLDecoder.decode(senc, "ISO-8859-1");
- assertEquals(s, sdec);
- }
- public void testUTF8() throws Exception {
- String s = new String(FileUtils.readFile("data/test/xml/CreateXMLSignature/CreateXMLSignatureResponse.xml"));
- String senc = URLEncoder.encode(s);
- String sdec = URLDecoder.decode(senc, "UTF-8");
- String sutf8 = FileUtils.readFile("data/test/xml/CreateXMLSignature/CreateXMLSignatureResponse.xml", "UTF-8");
- assertEquals(sutf8, sdec);
- }
-}
diff --git a/common-test/src/main/java/test/at/gv/egovernment/moa/util/URLEncoderTest.java b/common-test/src/main/java/test/at/gv/egovernment/moa/util/URLEncoderTest.java
deleted file mode 100644
index 43238c51f..000000000
--- a/common-test/src/main/java/test/at/gv/egovernment/moa/util/URLEncoderTest.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package test.at.gv.egovernment.moa.util;
-
-import at.gv.egovernment.moa.util.FileUtils;
-import at.gv.egovernment.moa.util.URLDecoder;
-import at.gv.egovernment.moa.util.URLEncoder;
-import junit.framework.TestCase;
-
-/*
- * @author Paul Ivancsics
- * @version $Id$
- */
-public class URLEncoderTest extends TestCase {
-
- public void testUnchangedString() throws Exception {
- String s = "AZaz0123456789.-*_";
- String senc = URLEncoder.encode(s, "UTF-8");
- assertEquals(s, senc);
- }
- public void testAumlUTF8() throws Exception {
- String s = "ä";
- String senc = URLEncoder.encode(s, "UTF-8");
- assertEquals("%C3%A4", senc);
- }
- public void testEncodeDecode() throws Exception {
- String s = "AZaz09.-*_ <>%=$%&/()@?{}[]\\\"'äöüÄÖÜß§";
- String senc = URLEncoder.encode(s, "UTF-8");
- String sdec = URLDecoder.decode(senc, "UTF-8");
- assertEquals(s, sdec);
- }
- public void testCertInfo() throws Exception {
- String s = new String(FileUtils.readFile("data/test/xml/VerifyXMLSignature/CertInfoVerifyXMLSignatureRequest.xml", "UTF-8"));
- String senc = URLEncoder.encode(s, "UTF-8");
- String sdec = URLDecoder.decode(senc, "UTF-8");
- assertEquals(s, sdec);
- }
- /*public void testJDK14() throws Exception {
- String s = new String(FileUtils.readFile("data/test/xml/VerifyXMLSignature/CertInfoVerifyXMLSignatureRequest.xml", "UTF-8"));
- String senc = URLEncoder.encode(s, "UTF-8");
- String senc14 = java.net.URLEncoder.encode(s, "UTF-8");
- assertEquals(senc, senc14);
- }*/
-
-}
diff --git a/common-test/src/main/java/test/at/gv/egovernment/moa/util/XMLGrammarBuilderTest.java b/common-test/src/main/java/test/at/gv/egovernment/moa/util/XMLGrammarBuilderTest.java
deleted file mode 100644
index 7986fe540..000000000
--- a/common-test/src/main/java/test/at/gv/egovernment/moa/util/XMLGrammarBuilderTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package test.at.gv.egovernment.moa.util;
-import java.io.FileInputStream;
-import java.io.InputStream;
-
-import org.apache.xerces.parsers.DOMParser;
-import org.apache.xerces.parsers.XMLGrammarPreparser;
-import org.apache.xerces.util.SymbolTable;
-import org.apache.xerces.util.XMLGrammarPoolImpl;
-import org.apache.xerces.xni.grammars.Grammar;
-import org.apache.xerces.xni.grammars.XMLGrammarDescription;
-import org.apache.xerces.xni.parser.XMLInputSource;
-import org.xml.sax.InputSource;
-
-import test.at.gv.egovernment.moa.MOATestCase;
-
-import at.gv.egovernment.moa.util.Constants;
-
-
-/**
- * Experimentation with Xerces grammar caching.
- *
- * Used the Xerces sample 'XMLGrammarBuilder' as a starting point.
- *
- * @author Patrick Peck
- * @version $Id$
- */
-public class XMLGrammarBuilderTest extends MOATestCase {
-
- private static final String GRAMMAR_POOL =
- org.apache.xerces.impl.Constants.XERCES_PROPERTY_PREFIX
- + org.apache.xerces.impl.Constants.XMLGRAMMAR_POOL_PROPERTY;
-
- protected static final String NAMESPACES_FEATURE_ID =
- "http://xml.org/sax/features/namespaces";
- protected static final String VALIDATION_FEATURE_ID =
- "http://xml.org/sax/features/validation";
- protected static final String SCHEMA_VALIDATION_FEATURE_ID =
- "http://apache.org/xml/features/validation/schema";
- protected static final String SCHEMA_FULL_CHECKING_FEATURE_ID =
- "http://apache.org/xml/features/validation/schema-full-checking";
-
- private static final int BIG_PRIME = 2039;
- private SymbolTable symbolTable;
- private XMLGrammarPoolImpl grammarPool;
-
- /**
- * Constructor for XMLGrammarBuilderTest.
- * @param name
- */
- public XMLGrammarBuilderTest(String name) {
- super(name);
- }
-
- protected void setUp() throws Exception {
- XMLGrammarPreparser preparser;
-
- // set up symbol table and grammar pool
- symbolTable = new SymbolTable(BIG_PRIME);
- grammarPool = new XMLGrammarPoolImpl();
- preparser = new XMLGrammarPreparser(symbolTable);
- preparser.registerPreparser(XMLGrammarDescription.XML_SCHEMA, null);
- preparser.setProperty(GRAMMAR_POOL, grammarPool);
- preparser.setFeature(NAMESPACES_FEATURE_ID, true);
- preparser.setFeature(VALIDATION_FEATURE_ID, true);
- // now we can still do schema features just in case,
- // so long as it's our configuraiton......
- preparser.setFeature(SCHEMA_VALIDATION_FEATURE_ID, true);
- preparseSchemaResource(
- preparser,
- Constants.DSIG_SCHEMA_LOCATION,
- "/resources/schemas/xmldsig-core-schema.xsd");
- }
-
- private static Grammar preparseSchemaResource(
- XMLGrammarPreparser preparser,
- String systemId,
- String resource)
- throws Exception {
-
- InputStream is = XMLGrammarBuilderTest.class.getResourceAsStream(resource);
- return preparser.preparseGrammar(
- XMLGrammarDescription.XML_SCHEMA,
- new XMLInputSource(null, systemId, null, is, null));
- }
-
- public void testParseValidating() throws Exception {
- DOMParser parser = new DOMParser(symbolTable, grammarPool);
-
- parser.setFeature(NAMESPACES_FEATURE_ID, true);
- parser.setFeature(VALIDATION_FEATURE_ID, true);
- parser.setFeature(SCHEMA_VALIDATION_FEATURE_ID, true);
-
- parser.parse(
- new InputSource(
- new FileInputStream(TESTDATA_ROOT + "xml/dsigTransform/base64.xml")));
- parser.getDocument();
- }
-
-}
diff --git a/common-test/src/main/java/test/at/gv/egovernment/moa/util/XPathUtilsTest.java b/common-test/src/main/java/test/at/gv/egovernment/moa/util/XPathUtilsTest.java
deleted file mode 100644
index 559494300..000000000
--- a/common-test/src/main/java/test/at/gv/egovernment/moa/util/XPathUtilsTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package test.at.gv.egovernment.moa.util;
-import org.w3c.dom.Document;
-import org.w3c.dom.NodeList;
-
-import test.at.gv.egovernment.moa.MOATestCase;
-
-import at.gv.egovernment.moa.util.XPathUtils;
-
-
-/**
- * @author Patrick Peck
- * @version $Id$
- */
-public class XPathUtilsTest extends MOATestCase {
-
- private Document doc1;
-
- /**
- * Constructor for XPathUtilsTest.
- * @param name
- */
- public XPathUtilsTest(String name) {
- super(name);
- }
-
- /**
- * @see TestCase#setUp()
- */
- protected void setUp() throws Exception {
- super.setUp();
- doc1 =
- parseXml(TESTDATA_ROOT + "xml/VerifyXMLSignature/Req000.xml");
- }
-
- public void testSelectNodeList() throws Exception {
- NodeList nodes;
-
- nodes =
- XPathUtils.selectNodeList(
- doc1.getDocumentElement(),
- doc1.getDocumentElement(),
- "/VerifyXMLSignatureRequest");
- assertEquals(1, nodes.getLength());
- nodes =
- XPathUtils.selectNodeList(
- doc1.getDocumentElement(),
- "//dsig:Signature");
- assertEquals(1, nodes.getLength());
- }
-
-}
diff --git a/common/pom.xml b/common/pom.xml
index feb9aa0d4..ed8d0e95f 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -1,80 +1,85 @@
-
-
- MOA
- MOA
- 1.4.1
-
- 4.0.0
+
+ MOA
- moa-common
- 1.4.1
- jar
- MOA common library
+ MOA
+ 1.4.2
+
+ 4.0.0
+ MOA
+ moa-common
+ 1.4.2
+ jar
+ MOA common library
-
- ${basedir}/../repository
-
+
+ ${basedir}/../repository
+
-
-
- commons-logging
- commons-logging
-
-
- iaik.prod
- iaik_jce_full
-
-
- junit
- junit
- test
-
-
- jaxen
- jaxen
-
-
- saxpath
- saxpath
-
-
- xalan-bin-dist
- xalan
- compile
- true
-
-
- xerces
- xercesImpl
- true
-
-
- xalan-bin-dist
- xml-apis
- compile
- true
-
-
- xalan-bin-dist
- serializer
- runtime
- true
-
-
+
+
+ commons-logging
+ commons-logging
+
+
+ iaik.prod
+ iaik_jce_full
+
+
+ junit
+ junit
+ test
+
+
+ jaxen
+ jaxen
+
+
+ saxpath
+ saxpath
+
+
+ xalan-bin-dist
+ xalan
+ compile
+ true
+
+
+ xerces
+ xercesImpl
+ true
+
+
+ xalan-bin-dist
+ xml-apis
+ compile
+ true
+
+
+ xalan-bin-dist
+ serializer
+ runtime
+ true
+
+
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
-
-
- false
-
-
-
-
-
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ false
+
+
+
+
+
+ test-jar
+
+
+
+
+
+
diff --git a/common/src/main/java/at/gv/egovernment/moa/util/StreamUtils.java b/common/src/main/java/at/gv/egovernment/moa/util/StreamUtils.java
index a22f1c2a8..3b1a6b56b 100644
--- a/common/src/main/java/at/gv/egovernment/moa/util/StreamUtils.java
+++ b/common/src/main/java/at/gv/egovernment/moa/util/StreamUtils.java
@@ -3,6 +3,7 @@ package at.gv.egovernment.moa.util;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.io.OutputStream;
import java.io.PrintStream;
/**
@@ -88,10 +89,17 @@ public class StreamUtils {
* @throws IOException on any exception thrown
*/
public static byte[] readStream(InputStream in) throws IOException {
+
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ copyStream(in, out, null);
+
+ /*
ByteArrayOutputStream out = new ByteArrayOutputStream();
int b;
while ((b = in.read()) >= 0)
out.write(b);
+
+ */
in.close();
return out.toByteArray();
}
@@ -106,14 +114,51 @@ public class StreamUtils {
* @throws IOException on any exception thrown
*/
public static String readStream(InputStream in, String encoding) throws IOException {
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ copyStream(in, out, null);
+
+ /*
ByteArrayOutputStream out = new ByteArrayOutputStream();
int b;
while ((b = in.read()) >= 0)
out.write(b);
+ */
in.close();
return out.toString(encoding);
}
+ /**
+ * Reads all data (until EOF is reached) from the given source to the
+ * destination stream. If the destination stream is null, all data is dropped.
+ * It uses the given buffer to read data and forward it. If the buffer is
+ * null, this method allocates a buffer.
+ *
+ * @param source The stream providing the data.
+ * @param destination The stream that takes the data. If this is null, all
+ * data from source will be read and discarded.
+ * @param buffer The buffer to use for forwarding. If it is null, the method
+ * allocates a buffer.
+ * @exception IOException If reading from the source or writing to the
+ * destination fails.
+ */
+ private static void copyStream(InputStream source, OutputStream destination, byte[] buffer) throws IOException {
+ if (source == null) {
+ throw new NullPointerException("Argument \"source\" must not be null.");
+ }
+ if (buffer == null) {
+ buffer = new byte[8192];
+ }
+
+ if (destination != null) {
+ int bytesRead;
+ while ((bytesRead = source.read(buffer)) >= 0) {
+ destination.write(buffer, 0, bytesRead);
+ }
+ } else {
+ while (source.read(buffer) >= 0);
+ }
+ }
+
/**
* Gets the stack trace of the Throwable passed in as a string.
* @param t The Throwable.
diff --git a/common/src/test/java/test/at/gv/egovernment/moa/AllTests.java b/common/src/test/java/test/at/gv/egovernment/moa/AllTests.java
new file mode 100644
index 000000000..00e2c505f
--- /dev/null
+++ b/common/src/test/java/test/at/gv/egovernment/moa/AllTests.java
@@ -0,0 +1,38 @@
+package test.at.gv.egovernment.moa;
+
+import test.at.gv.egovernment.moa.util.DOMUtilsTest;
+import test.at.gv.egovernment.moa.util.DateTimeUtilsTest;
+import test.at.gv.egovernment.moa.util.KeyStoreUtilsTest;
+import test.at.gv.egovernment.moa.util.SSLUtilsTest;
+import test.at.gv.egovernment.moa.util.XPathUtilsTest;
+
+import junit.awtui.TestRunner;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * @author patrick
+ * @version $Id$
+ */
+public class AllTests {
+
+ public static Test suite() {
+ TestSuite suite = new TestSuite();
+
+ suite.addTestSuite(DOMUtilsTest.class);
+ suite.addTestSuite(DateTimeUtilsTest.class);
+ suite.addTestSuite(XPathUtilsTest.class);
+ suite.addTestSuite(KeyStoreUtilsTest.class);
+ suite.addTestSuite(SSLUtilsTest.class);
+
+ return suite;
+ }
+
+ public static void main(String[] args) {
+ try {
+ TestRunner.run(AllTests.class);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/common/src/test/java/test/at/gv/egovernment/moa/MOATestCase.java b/common/src/test/java/test/at/gv/egovernment/moa/MOATestCase.java
new file mode 100644
index 000000000..86ea2ee6c
--- /dev/null
+++ b/common/src/test/java/test/at/gv/egovernment/moa/MOATestCase.java
@@ -0,0 +1,75 @@
+package test.at.gv.egovernment.moa;
+
+import java.io.FileInputStream;
+import java.io.StringReader;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import org.w3c.dom.Document;
+
+import org.xml.sax.InputSource;
+
+import junit.framework.TestCase;
+
+import at.gv.egovernment.moa.util.Constants;
+import at.gv.egovernment.moa.util.DOMUtils;
+
+/**
+ * Base class for MOA test cases.
+ *
+ * Provides some utility functions.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class MOATestCase extends TestCase {
+
+ protected static final String TESTDATA_ROOT = "data/test/";
+
+ /**
+ * Constructor for MOATestCase.
+ * @param arg0
+ */
+ public MOATestCase(String name) {
+ super(name);
+ }
+
+ /**
+ * Parse an XML file non-validating.
+ */
+ public static Document parseXml(String fileName) throws Exception {
+ return DOMUtils.parseDocument(
+ new FileInputStream(fileName),
+ false,
+ null,
+ null);
+ }
+
+ /**
+ * Parse an XML validating with a given file name.
+ *
+ * Uses the local schema resources.
+ */
+ public static Document parseXmlValidating(String fileName) throws Exception {
+ return DOMUtils.parseDocument(
+ new FileInputStream(fileName),
+ true,
+ Constants.ALL_SCHEMA_LOCATIONS,
+ null);
+ }
+
+ /**
+ * Parse an XML from a String.
+ */
+ public static Document parseXmlString(String xml) throws Exception {
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder builder;
+
+ factory.setNamespaceAware(true);
+ builder = factory.newDocumentBuilder();
+
+ return builder.parse(new InputSource(new StringReader(xml)));
+ }
+
+}
diff --git a/common/src/test/java/test/at/gv/egovernment/moa/util/DOMUtilsTest.java b/common/src/test/java/test/at/gv/egovernment/moa/util/DOMUtilsTest.java
new file mode 100644
index 000000000..eb3ad1a5c
--- /dev/null
+++ b/common/src/test/java/test/at/gv/egovernment/moa/util/DOMUtilsTest.java
@@ -0,0 +1,137 @@
+package test.at.gv.egovernment.moa.util;
+import java.io.FileInputStream;
+import java.util.Map;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+
+import test.at.gv.egovernment.moa.*;
+
+import at.gv.egovernment.moa.util.Constants;
+import at.gv.egovernment.moa.util.DOMUtils;
+
+/**
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class DOMUtilsTest extends MOATestCase {
+ private static final String TESTDATA_BASE = TESTDATA_ROOT + "xml/";
+ private static boolean grammarsInitialized = false;
+
+ /**
+ * Constructor for DOMUtilsTest.
+ * @param name
+ */
+ public DOMUtilsTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ if (!grammarsInitialized) {
+ // preparse XML schema
+ DOMUtils.addSchemaToPool(
+ getClass().getResourceAsStream(Constants.XML_SCHEMA_LOCATION),
+ Constants.XML_NS_URI);
+ // preparse XMLDsig Filter2 schema
+ DOMUtils.addSchemaToPool(
+ getClass().getResourceAsStream(Constants.DSIG_FILTER2_SCHEMA_LOCATION),
+ Constants.DSIG_FILTER2_NS_URI);
+ // preparse XMLDsig schema
+ DOMUtils.addSchemaToPool(
+ getClass().getResourceAsStream(Constants.DSIG_SCHEMA_LOCATION),
+ Constants.DSIG_NS_URI);
+ // preparse MOA schema
+ DOMUtils.addSchemaToPool(
+ getClass().getResourceAsStream(Constants.MOA_SCHEMA_LOCATION),
+ Constants.MOA_NS_URI);
+ grammarsInitialized = true;
+ }
+ }
+
+ private Document parse(String fileName) throws Exception {
+ return DOMUtils.parseDocument(
+ new FileInputStream(fileName),
+ true,
+ Constants.ALL_SCHEMA_LOCATIONS,
+ null);
+ }
+
+ public void testParseCreateXMLSignature() throws Exception {
+ parse(TESTDATA_BASE + "CreateXMLSignature/TestGeneratorCX2.005.Req.xml");
+ parse(TESTDATA_BASE + "CreateXMLSignature/Req000.xml");
+ parse(TESTDATA_BASE + "CreateXMLSignature/Req001.xml");
+ parse(TESTDATA_BASE + "CreateXMLSignature/Req002.xml");
+ parse(TESTDATA_BASE + "CreateXMLSignature/Req004.xml");
+ }
+
+ public void testParseVerifyCMSSignature() throws Exception {
+ parse(TESTDATA_BASE + "VerifyCMSSignature/Req000.xml");
+ }
+
+ public void testParseVerifyXMLSignature() throws Exception {
+ parse(TESTDATA_BASE + "VerifyXMLSignature/Req000.xml");
+ parse(TESTDATA_BASE + "VerifyXMLSignature/Req001.xml");
+ parse(TESTDATA_BASE + "VerifyXMLSignature/Req002.xml");
+ parse(TESTDATA_BASE + "VerifyXMLSignature/TestGeneratorVX.002.Req.xml");
+ //parse(TESTDATA_BASE + "VerifyXMLSignature/TestGeneratorVX.006.Req.xml");
+ parse(TESTDATA_BASE + "VerifyXMLSignature/VerifySAMLRequest.xml");
+ }
+
+ public void testParseInfobox() throws Exception {
+ parse(TESTDATA_BASE + "Infobox/InfoboxReadResponseMOA4.xml");
+ parse(TESTDATA_BASE + "Infobox/InfoboxReadResponse.xml");
+ }
+
+
+ private Document parsePlain(String fileName) throws Exception {
+ return DOMUtils.parseDocument(
+ new FileInputStream(fileName),
+ false,
+ null,
+ null);
+ }
+
+ public void testValidateCreateXMLSignature() throws Exception {
+ Document doc;
+ boolean valid;
+
+ // test a valid request
+ doc = parsePlain(TESTDATA_BASE + "CreateXMLSignature/Req000.xml");
+ valid =
+ DOMUtils.validateElement(
+ doc.getDocumentElement(),
+ Constants.ALL_SCHEMA_LOCATIONS,
+ null);
+ assertTrue(valid);
+
+ // test an invalid request
+ doc = parsePlain(TESTDATA_BASE + "CreateXMLSignature/invalid.xml");
+ try {
+ valid =
+ DOMUtils.validateElement(
+ doc.getDocumentElement(),
+ Constants.ALL_SCHEMA_LOCATIONS,
+ null);
+ fail();
+ } catch (Exception e) {
+ }
+ }
+
+ public void testGetNamespaceDeclarations() throws Exception {
+ Document doc;
+ NodeList nl;
+ Element elem;
+ Map nsDecls;
+
+ doc = parse(TESTDATA_BASE + "VerifyXMLSignature/Req002.xml");
+ nl = doc.getElementsByTagNameNS(Constants.DSIG_NS_URI, "Reference");
+ elem = (Element) nl.item(0);
+ nsDecls = DOMUtils.getNamespaceDeclarations(elem);
+
+ assertEquals(2, nsDecls.size());
+ assertEquals(Constants.DSIG_NS_URI, nsDecls.get("dsig"));
+ assertEquals(Constants.MOA_NS_URI, nsDecls.get(""));
+ }
+
+}
diff --git a/common/src/test/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java b/common/src/test/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java
new file mode 100644
index 000000000..da6b29b1c
--- /dev/null
+++ b/common/src/test/java/test/at/gv/egovernment/moa/util/DateTimeUtilsTest.java
@@ -0,0 +1,104 @@
+package test.at.gv.egovernment.moa.util;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.TimeZone;
+
+import junit.framework.TestCase;
+
+import at.gv.egovernment.moa.util.DateTimeUtils;
+
+/**
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class DateTimeUtilsTest extends TestCase {
+
+ /**
+ * Constructor for DateTimeUtilsTest.
+ * @param arg0
+ */
+ public DateTimeUtilsTest(String arg0) {
+ super(arg0);
+ }
+
+ public void testParseDateTimeValid() throws Exception {
+ Date date;
+ DateFormat format = SimpleDateFormat.getDateTimeInstance();
+ String dateStr;
+
+ format.setTimeZone(TimeZone.getTimeZone("GMT"));
+ date = DateTimeUtils.parseDateTime("+1971-12-12T06:30:15");
+ date.setTime(date.getTime() + TimeZone.getDefault().getRawOffset());
+ dateStr = format.format(date);
+ assertEquals("12.12.1971 06:30:15", dateStr);
+
+ date = DateTimeUtils.parseDateTime("2000-01-01T23:59:59.012Z");
+ dateStr = format.format(date);
+ assertEquals("01.01.2000 23:59:59", dateStr);
+
+ date = DateTimeUtils.parseDateTime("2003-05-20T12:17:30-05:00");
+ dateStr = format.format(date);
+ assertEquals("20.05.2003 17:17:30", dateStr);
+
+
+ date = DateTimeUtils.parseDateTime("2002-02-02T02:02:02.33+04:30");
+ dateStr = format.format(date);
+ assertEquals("01.02.2002 21:32:02", dateStr);
+ }
+
+ public void testParseDateTimeInvalid() {
+ try {
+ DateTimeUtils.parseDateTime("+1971-12-12T6:30:15");
+ fail();
+ } catch (ParseException e) {
+ }
+
+ try {
+ DateTimeUtils.parseDateTime("2000-01-0123:59:59.999999Z");
+ fail();
+ } catch (ParseException e) {
+ }
+
+ try {
+ DateTimeUtils.parseDateTime("2003-05-20T12:17:3005:00");
+ fail();
+ } catch (ParseException e) {
+ }
+
+ try {
+ DateTimeUtils.parseDateTime(" 2002-02-02T02:02:02.33+04:00");
+ fail();
+ } catch (ParseException e) {
+ }
+
+ }
+
+ public void testBuildDateTimeGMTMinus3() {
+ String should = "2002-01-01T01:01:01-03:00";
+ doTestBuildDateTime(2002, 1, 1, 1, 1, 1, "GMT-03:00", should);
+ }
+ public void testBuildDateTimeMEZSommerzeit() {
+ String should = "2002-07-31T23:59:59+02:00";
+ doTestBuildDateTime(2002, 7, 31, 23, 59, 59, "GMT+01:00", should);
+ }
+ public void testBuildDateTimeGMT() {
+ String should = "2002-01-01T01:01:01";
+ doTestBuildDateTime(2002, 1, 1, 1, 1, 1, "GMT+00:00", should);
+ }
+ private void doTestBuildDateTime(
+ int year, int month, int day,
+ int hour, int min, int sec,
+ String timeZone, String dateTimeShould) {
+
+ Calendar cal = new GregorianCalendar(TimeZone.getTimeZone(timeZone));
+ cal.set(year,month, day, hour, min, sec);
+ cal.set(Calendar.MILLISECOND, 0);
+ String dateTimeBuilt = DateTimeUtils.buildDateTime(cal);
+ assertEquals(dateTimeShould, dateTimeBuilt);
+ }
+
+}
diff --git a/common/src/test/java/test/at/gv/egovernment/moa/util/KeyStoreUtilsTest.java b/common/src/test/java/test/at/gv/egovernment/moa/util/KeyStoreUtilsTest.java
new file mode 100644
index 000000000..a6d1847ce
--- /dev/null
+++ b/common/src/test/java/test/at/gv/egovernment/moa/util/KeyStoreUtilsTest.java
@@ -0,0 +1,90 @@
+package test.at.gv.egovernment.moa.util;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.math.BigInteger;
+import java.security.KeyStore;
+import java.security.Security;
+import java.security.cert.X509Certificate;
+import java.util.Enumeration;
+
+import at.gv.egovernment.moa.util.KeyStoreUtils;
+
+import junit.framework.TestCase;
+
+/**
+ * @author Paul Ivancsics
+ * @version $Id$
+ */
+public class KeyStoreUtilsTest extends TestCase {
+ private String tmpDir = "tmp/KeyStoreUtilsTest";
+ private String tmpDirURL = "file:" + tmpDir;
+
+ public KeyStoreUtilsTest(String arg0) {
+ super(arg0);
+ }
+
+ protected void setUp() throws Exception {
+ Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
+ new File(tmpDir).mkdirs();
+ }
+ protected void tearDown() throws Exception {
+ new File(tmpDir).delete();
+ }
+ public void testCreateKeyStoreJKS() throws Exception {
+ String[] certFilenames = new String[] {
+ "data/test/security/server-certs/baltimore.cer"
+ };
+ KeyStore ks = KeyStoreUtils.createKeyStore("jks", certFilenames);
+ assertEquals(1, ks.size());
+ X509Certificate cert = (X509Certificate)ks.getCertificate("0");
+ assertEquals(3424, cert.getSerialNumber().intValue());
+ }
+ public void testCreateKeyStorePKCS12() throws Exception {
+ String[] certFilenames = new String[] {
+ "data/test/security/server-certs/baltimore.cer"
+ };
+ KeyStore ks = KeyStoreUtils.createKeyStore("pkcs12", certFilenames);
+ assertEquals(1, ks.size());
+ X509Certificate cert = (X509Certificate)ks.getCertificate("0");
+ assertEquals(3424, cert.getSerialNumber().intValue());
+ }
+ public void testCreateKeyStoreFromCertificateDirectory() throws Exception {
+ // copy certificate files to a temporary directory,
+ // omitting the "CVS" directory in the source directory
+ copyCertificates("data/test/security/server-certs", tmpDir);
+ KeyStore ks = KeyStoreUtils.createKeyStoreFromCertificateDirectory("jks", tmpDirURL);
+ assertEquals(2, ks.size());
+ X509Certificate cert0 = (X509Certificate)ks.getCertificate("0");
+ X509Certificate cert1 = (X509Certificate)ks.getCertificate("1");
+ assertTrue(3424 == cert0.getSerialNumber().intValue() || 3424 == cert1.getSerialNumber().intValue());
+ }
+ private void copyCertificates(String from, String to) throws IOException {
+ String[] fromList = new File(from).list();
+ for (int i = 0; i < fromList.length; i++) {
+ File fromFile = new File(from + File.separator + fromList[i]);
+ if (fromFile.isFile()) {
+ String toFile = to + "/" + fromList[i];
+ FileInputStream in = new FileInputStream(fromFile);
+ FileOutputStream out = new FileOutputStream(toFile);
+ for (int ch = in.read(); ch >= 0; ch = in.read())
+ out.write(ch);
+ out.close();
+ in.close();
+ }
+ }
+
+ }
+ public void testLoadKeyStore() throws Exception {
+ String keyStoreURL = "file:data/test/security/client-certs/sicher-demo(buergerkarte).p12";
+ KeyStore ks = KeyStoreUtils.loadKeyStore("pkcs12", keyStoreURL, "buergerkarte");
+ assertEquals(1, ks.size());
+ Enumeration aliases = ks.aliases();
+ String alias = (String)aliases.nextElement();
+ X509Certificate cert = (X509Certificate)ks.getCertificate(alias);
+ assertEquals(new BigInteger("1044289238331").intValue(), cert.getSerialNumber().intValue());
+ }
+
+}
diff --git a/common/src/test/java/test/at/gv/egovernment/moa/util/SSLUtilsTest.java b/common/src/test/java/test/at/gv/egovernment/moa/util/SSLUtilsTest.java
new file mode 100644
index 000000000..7e55cb7d0
--- /dev/null
+++ b/common/src/test/java/test/at/gv/egovernment/moa/util/SSLUtilsTest.java
@@ -0,0 +1,160 @@
+package test.at.gv.egovernment.moa.util;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.net.URL;
+import java.security.KeyStore;
+import java.security.Security;
+
+import javax.net.ssl.SSLException;
+import javax.net.ssl.SSLSocketFactory;
+
+import com.sun.net.ssl.HostnameVerifier;
+import com.sun.net.ssl.HttpsURLConnection;
+
+import at.gv.egovernment.moa.util.KeyStoreUtils;
+import at.gv.egovernment.moa.util.SSLUtils;
+
+import junit.framework.TestCase;
+
+/**
+ * @author Paul Ivancsics
+ * @version $Id$
+ */
+public class SSLUtilsTest extends TestCase {
+
+ public SSLUtilsTest(String arg0) {
+ super(arg0);
+ }
+
+
+ protected void setUp() throws Exception {
+ //System.setProperty("javax.net.debug", "all");
+ Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
+ System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
+ System.setProperty("https.cipherSuites", "SSL_DHE_DSS_WITH_DES_CBC_SHA,SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA,SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,SSL_RSA_WITH_DES_CBC_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA,SSL_RSA_EXPORT_WITH_RC4_40_MD5");
+ }
+
+ public void testGetSSLSocketFactoryBaltimoreOK() throws Exception {
+ doTestGetSSLSocketFactory(
+ "GET",
+ "https://www.baltimore.com/",
+ false,
+ "file:data/test/security/cacerts+gt_cybertrust_root",
+ "changeit",
+ true);
+ }
+ public void testGetSSLSocketFactoryBaltimoreNOK() throws Exception {
+ doTestGetSSLSocketFactory(
+ "GET",
+ "https://www.baltimore.com/",
+ false,
+ "file:data/test/security/cacerts",
+ "changeit",
+ false);
+ }
+ public void testGetSSLSocketFactoryVerisignOK() throws Exception {
+ doTestGetSSLSocketFactory(
+ "GET",
+ "https://www.verisign.com/",
+ false,
+ "file:data/test/security/cacerts",
+ "changeit",
+ true);
+ }
+ public void testGetSSLSocketFactoryVerisignNoTruststoreOK() throws Exception {
+ doTestGetSSLSocketFactory(
+ "GET",
+ "https://www.verisign.com/",
+ false,
+ null,
+ null,
+ true);
+ }
+ public void testGetSSLSocketFactoryLocalhostOK() throws Exception {
+ String urlString = "https://localhost:8443/moa-id-auth/index.jsp";
+ doTestGetSSLSocketFactory(
+ "GET",
+ urlString,
+ true,
+ "file:data/test/security/server.keystore.tomcat",
+ "changeit",
+ true);
+ }
+ public void testGetSSLSocketFactoryLocalhostNOK() throws Exception {
+ String urlString = "https://localhost:8443/moa-id-auth/index.jsp";
+ doTestGetSSLSocketFactory(
+ "GET",
+ urlString,
+ true,
+ null,
+ null,
+ false);
+ }
+
+ public void doTestGetSSLSocketFactory(
+ String requestMethod,
+ String urlString,
+ boolean useHostnameVerifierHack,
+ String truststoreurl,
+ String trustpassword,
+ boolean shouldOk
+ ) throws Exception {
+
+ doTestGetSSLSocketFactory(
+ requestMethod, urlString, useHostnameVerifierHack, truststoreurl, trustpassword, null, null, null, shouldOk);
+ }
+ public void doTestGetSSLSocketFactory(
+ String requestMethod,
+ String urlString,
+ boolean useHostnameVerifierHack,
+ String truststoreurl,
+ String trustpassword,
+ String keystoretype,
+ String keystoreurl,
+ String keypassword,
+ boolean shouldOk
+ ) throws Exception {
+
+ KeyStore truststore = null;
+ if (truststoreurl != null)
+ truststore = KeyStoreUtils.loadKeyStore("jks", truststoreurl, trustpassword);
+ SSLSocketFactory sf = SSLUtils.getSSLSocketFactory(
+ truststore, keystoretype, keystoreurl, keypassword);
+ System.out.println(requestMethod + " " + urlString);
+
+ URL url = new URL(urlString);
+ HttpsURLConnection conn = (HttpsURLConnection)url.openConnection();
+ conn.setRequestMethod(requestMethod);
+ conn.setDoInput(true);
+ conn.setDoOutput(true);
+ conn.setUseCaches(false);
+ conn.setAllowUserInteraction(false);
+ conn.setSSLSocketFactory(sf);
+ if (useHostnameVerifierHack)
+ conn.setHostnameVerifier(new HostnameVerifierHack());
+ try {
+ conn.connect();
+ assertTrue(shouldOk);
+ assertEquals(200, conn.getResponseCode());
+ conn.disconnect();
+ }
+ catch (SSLException ex) {
+ assertFalse(shouldOk);
+ }
+ }
+ private byte[] readTruststore(String filename) throws IOException {
+ if (filename == null)
+ return null;
+ FileInputStream in = new FileInputStream(filename);
+ byte[] buffer = new byte[in.available()];
+ in.read(buffer);
+ in.close();
+ return buffer;
+ }
+ private class HostnameVerifierHack implements HostnameVerifier {
+ public boolean verify(String arg0, String arg1) {
+ return true;
+ }
+ }
+}
diff --git a/common/src/test/java/test/at/gv/egovernment/moa/util/URLDecoderTest.java b/common/src/test/java/test/at/gv/egovernment/moa/util/URLDecoderTest.java
new file mode 100644
index 000000000..b6ea0e152
--- /dev/null
+++ b/common/src/test/java/test/at/gv/egovernment/moa/util/URLDecoderTest.java
@@ -0,0 +1,29 @@
+package test.at.gv.egovernment.moa.util;
+
+import java.net.URLEncoder;
+
+import at.gv.egovernment.moa.util.FileUtils;
+import at.gv.egovernment.moa.util.URLDecoder;
+
+import junit.framework.TestCase;
+
+/*
+ * @author Paul Ivancsics
+ * @version $Id$
+ */
+public class URLDecoderTest extends TestCase {
+
+ public void test() throws Exception {
+ String s = "immerZUA0129<>%==$$%&/()@?{()=} \\\"äöüÄÖÜ?§";
+ String senc = URLEncoder.encode(s);
+ String sdec = URLDecoder.decode(senc, "ISO-8859-1");
+ assertEquals(s, sdec);
+ }
+ public void testUTF8() throws Exception {
+ String s = new String(FileUtils.readFile("data/test/xml/CreateXMLSignature/CreateXMLSignatureResponse.xml"));
+ String senc = URLEncoder.encode(s);
+ String sdec = URLDecoder.decode(senc, "UTF-8");
+ String sutf8 = FileUtils.readFile("data/test/xml/CreateXMLSignature/CreateXMLSignatureResponse.xml", "UTF-8");
+ assertEquals(sutf8, sdec);
+ }
+}
diff --git a/common/src/test/java/test/at/gv/egovernment/moa/util/URLEncoderTest.java b/common/src/test/java/test/at/gv/egovernment/moa/util/URLEncoderTest.java
new file mode 100644
index 000000000..43238c51f
--- /dev/null
+++ b/common/src/test/java/test/at/gv/egovernment/moa/util/URLEncoderTest.java
@@ -0,0 +1,43 @@
+package test.at.gv.egovernment.moa.util;
+
+import at.gv.egovernment.moa.util.FileUtils;
+import at.gv.egovernment.moa.util.URLDecoder;
+import at.gv.egovernment.moa.util.URLEncoder;
+import junit.framework.TestCase;
+
+/*
+ * @author Paul Ivancsics
+ * @version $Id$
+ */
+public class URLEncoderTest extends TestCase {
+
+ public void testUnchangedString() throws Exception {
+ String s = "AZaz0123456789.-*_";
+ String senc = URLEncoder.encode(s, "UTF-8");
+ assertEquals(s, senc);
+ }
+ public void testAumlUTF8() throws Exception {
+ String s = "ä";
+ String senc = URLEncoder.encode(s, "UTF-8");
+ assertEquals("%C3%A4", senc);
+ }
+ public void testEncodeDecode() throws Exception {
+ String s = "AZaz09.-*_ <>%=$%&/()@?{}[]\\\"'äöüÄÖÜß§";
+ String senc = URLEncoder.encode(s, "UTF-8");
+ String sdec = URLDecoder.decode(senc, "UTF-8");
+ assertEquals(s, sdec);
+ }
+ public void testCertInfo() throws Exception {
+ String s = new String(FileUtils.readFile("data/test/xml/VerifyXMLSignature/CertInfoVerifyXMLSignatureRequest.xml", "UTF-8"));
+ String senc = URLEncoder.encode(s, "UTF-8");
+ String sdec = URLDecoder.decode(senc, "UTF-8");
+ assertEquals(s, sdec);
+ }
+ /*public void testJDK14() throws Exception {
+ String s = new String(FileUtils.readFile("data/test/xml/VerifyXMLSignature/CertInfoVerifyXMLSignatureRequest.xml", "UTF-8"));
+ String senc = URLEncoder.encode(s, "UTF-8");
+ String senc14 = java.net.URLEncoder.encode(s, "UTF-8");
+ assertEquals(senc, senc14);
+ }*/
+
+}
diff --git a/common/src/test/java/test/at/gv/egovernment/moa/util/XMLGrammarBuilderTest.java b/common/src/test/java/test/at/gv/egovernment/moa/util/XMLGrammarBuilderTest.java
new file mode 100644
index 000000000..7986fe540
--- /dev/null
+++ b/common/src/test/java/test/at/gv/egovernment/moa/util/XMLGrammarBuilderTest.java
@@ -0,0 +1,99 @@
+package test.at.gv.egovernment.moa.util;
+import java.io.FileInputStream;
+import java.io.InputStream;
+
+import org.apache.xerces.parsers.DOMParser;
+import org.apache.xerces.parsers.XMLGrammarPreparser;
+import org.apache.xerces.util.SymbolTable;
+import org.apache.xerces.util.XMLGrammarPoolImpl;
+import org.apache.xerces.xni.grammars.Grammar;
+import org.apache.xerces.xni.grammars.XMLGrammarDescription;
+import org.apache.xerces.xni.parser.XMLInputSource;
+import org.xml.sax.InputSource;
+
+import test.at.gv.egovernment.moa.MOATestCase;
+
+import at.gv.egovernment.moa.util.Constants;
+
+
+/**
+ * Experimentation with Xerces grammar caching.
+ *
+ * Used the Xerces sample 'XMLGrammarBuilder' as a starting point.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class XMLGrammarBuilderTest extends MOATestCase {
+
+ private static final String GRAMMAR_POOL =
+ org.apache.xerces.impl.Constants.XERCES_PROPERTY_PREFIX
+ + org.apache.xerces.impl.Constants.XMLGRAMMAR_POOL_PROPERTY;
+
+ protected static final String NAMESPACES_FEATURE_ID =
+ "http://xml.org/sax/features/namespaces";
+ protected static final String VALIDATION_FEATURE_ID =
+ "http://xml.org/sax/features/validation";
+ protected static final String SCHEMA_VALIDATION_FEATURE_ID =
+ "http://apache.org/xml/features/validation/schema";
+ protected static final String SCHEMA_FULL_CHECKING_FEATURE_ID =
+ "http://apache.org/xml/features/validation/schema-full-checking";
+
+ private static final int BIG_PRIME = 2039;
+ private SymbolTable symbolTable;
+ private XMLGrammarPoolImpl grammarPool;
+
+ /**
+ * Constructor for XMLGrammarBuilderTest.
+ * @param name
+ */
+ public XMLGrammarBuilderTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ XMLGrammarPreparser preparser;
+
+ // set up symbol table and grammar pool
+ symbolTable = new SymbolTable(BIG_PRIME);
+ grammarPool = new XMLGrammarPoolImpl();
+ preparser = new XMLGrammarPreparser(symbolTable);
+ preparser.registerPreparser(XMLGrammarDescription.XML_SCHEMA, null);
+ preparser.setProperty(GRAMMAR_POOL, grammarPool);
+ preparser.setFeature(NAMESPACES_FEATURE_ID, true);
+ preparser.setFeature(VALIDATION_FEATURE_ID, true);
+ // now we can still do schema features just in case,
+ // so long as it's our configuraiton......
+ preparser.setFeature(SCHEMA_VALIDATION_FEATURE_ID, true);
+ preparseSchemaResource(
+ preparser,
+ Constants.DSIG_SCHEMA_LOCATION,
+ "/resources/schemas/xmldsig-core-schema.xsd");
+ }
+
+ private static Grammar preparseSchemaResource(
+ XMLGrammarPreparser preparser,
+ String systemId,
+ String resource)
+ throws Exception {
+
+ InputStream is = XMLGrammarBuilderTest.class.getResourceAsStream(resource);
+ return preparser.preparseGrammar(
+ XMLGrammarDescription.XML_SCHEMA,
+ new XMLInputSource(null, systemId, null, is, null));
+ }
+
+ public void testParseValidating() throws Exception {
+ DOMParser parser = new DOMParser(symbolTable, grammarPool);
+
+ parser.setFeature(NAMESPACES_FEATURE_ID, true);
+ parser.setFeature(VALIDATION_FEATURE_ID, true);
+ parser.setFeature(SCHEMA_VALIDATION_FEATURE_ID, true);
+
+ parser.parse(
+ new InputSource(
+ new FileInputStream(TESTDATA_ROOT + "xml/dsigTransform/base64.xml")));
+ parser.getDocument();
+ }
+
+}
diff --git a/common/src/test/java/test/at/gv/egovernment/moa/util/XPathUtilsTest.java b/common/src/test/java/test/at/gv/egovernment/moa/util/XPathUtilsTest.java
new file mode 100644
index 000000000..559494300
--- /dev/null
+++ b/common/src/test/java/test/at/gv/egovernment/moa/util/XPathUtilsTest.java
@@ -0,0 +1,51 @@
+package test.at.gv.egovernment.moa.util;
+import org.w3c.dom.Document;
+import org.w3c.dom.NodeList;
+
+import test.at.gv.egovernment.moa.MOATestCase;
+
+import at.gv.egovernment.moa.util.XPathUtils;
+
+
+/**
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class XPathUtilsTest extends MOATestCase {
+
+ private Document doc1;
+
+ /**
+ * Constructor for XPathUtilsTest.
+ * @param name
+ */
+ public XPathUtilsTest(String name) {
+ super(name);
+ }
+
+ /**
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception {
+ super.setUp();
+ doc1 =
+ parseXml(TESTDATA_ROOT + "xml/VerifyXMLSignature/Req000.xml");
+ }
+
+ public void testSelectNodeList() throws Exception {
+ NodeList nodes;
+
+ nodes =
+ XPathUtils.selectNodeList(
+ doc1.getDocumentElement(),
+ doc1.getDocumentElement(),
+ "/VerifyXMLSignatureRequest");
+ assertEquals(1, nodes.getLength());
+ nodes =
+ XPathUtils.selectNodeList(
+ doc1.getDocumentElement(),
+ "//dsig:Signature");
+ assertEquals(1, nodes.getLength());
+ }
+
+}
diff --git a/id/oa/pom.xml b/id/oa/pom.xml
index b712c5dde..bfd4a2931 100644
--- a/id/oa/pom.xml
+++ b/id/oa/pom.xml
@@ -5,7 +5,7 @@
MOAoawar
- 1.4.1
+ 1.0MOA Sample OA
diff --git a/id/pom.xml b/id/pom.xml
index 71c1ad7cc..bef0efa09 100644
--- a/id/pom.xml
+++ b/id/pom.xml
@@ -3,14 +3,14 @@
MOAMOA
- 1.4.1
+ 1.4.24.0.0MOAidpom
- 1.4.1
+ 1.4.2MOA ID
@@ -23,4 +23,4 @@
${basedir}/../repository
-
\ No newline at end of file
+
diff --git a/id/server/auth/pom.xml b/id/server/auth/pom.xml
index 869d94c2e..57aea5ac4 100644
--- a/id/server/auth/pom.xml
+++ b/id/server/auth/pom.xml
@@ -4,14 +4,14 @@
MOA.idmoa-id
- 1.4.1
+ 1.4.24.0.0MOA.id.servermoa-id-authwar
- 1.4.1
+ 1.4.2MOA ID-Auth WebService
diff --git a/id/server/idserverlib/pom.xml b/id/server/idserverlib/pom.xml
index 9e673f6f5..0eb0451e5 100644
--- a/id/server/idserverlib/pom.xml
+++ b/id/server/idserverlib/pom.xml
@@ -1,168 +1,176 @@
-
- MOA.id
- moa-id
- 1.4.1
-
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ MOA.id
+ moa-id
+ 1.4.2
+
- 4.0.0
- MOA.id.server
- moa-id-lib
- jar
- 1.4.1
- MOA ID API
+ 4.0.0
+ MOA.id.server
+ moa-id-lib
+ jar
+ 1.4.2
+ MOA ID API
-
- ${basedir}/../../../repository
-
-
-
-
- javax.activation
- activation
-
-
- axis
- axis
-
-
- javax.mail
- mail
-
-
- javax.servlet
- servlet-api
- provided
-
-
- xerces
- xercesImpl
-
-
- xalan-bin-dist
- xml-apis
-
-
- xalan-bin-dist
- xalan
-
-
- xalan-bin-dist
- serializer
-
-
- junit
- junit
- test
-
-
- commons-logging
- commons-logging
-
-
- commons-discovery
- commons-discovery
-
-
- commons-fileupload
- commons-fileupload
-
-
- dav4j
- dav4j
-
-
- httpsclient
- httpsclient
-
-
- MOA
- moa-common
-
-
- MOA
- moa-common-test
-
-
- MOA.spss.server
- moa-spss-lib
- ${project.version}
-
-
- iaik.prod
- iaik_moa
-
-
- iaik.prod
- iaik_ecc
-
-
- iaik.prod
- iaik_jce_full
- provided
-
-
- iaik.prod
- iaik_ixsil
-
-
- iaik.prod
- iaik_X509TrustManager
-
-
- regexp
- regexp
-
-
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
-
-
- false
-
-
-
-
- org.apache.maven.plugins
- maven-javadoc-plugin
- 2.2
-
- true
- false
- false
-
-
- at.gv.egovernment.moa.spss.server.*;at.gv.egovernment.moa.spss.api.impl.*;at.gv.egovernment.moa.spss.impl.*
-
-
-
- pre
- a
- Preconditions:
-
-
- post
- a
- Postconditions:
-
-
- http://java.sun.com/j2se/1.4/docs/api/
-
-
-
- generate-javadoc
- package
-
- jar
-
-
-
-
-
-
+
+ ${basedir}/../../../repository
+
+
+
+ javax.activation
+ activation
+
+
+ axis
+ axis
+
+
+ javax.mail
+ mail
+
+
+ javax.servlet
+ servlet-api
+ provided
+
+
+ xerces
+ xercesImpl
+
+
+ xalan-bin-dist
+ xml-apis
+
+
+ xalan-bin-dist
+ xalan
+
+
+ xalan-bin-dist
+ serializer
+
+
+ junit
+ junit
+ test
+
+
+ commons-logging
+ commons-logging
+
+
+ commons-discovery
+ commons-discovery
+
+
+ commons-fileupload
+ commons-fileupload
+
+
+ dav4j
+ dav4j
+
+
+ httpsclient
+ httpsclient
+
+
+ MOA
+ moa-common
+ jar
+
+
+ MOA
+ moa-common
+ test-jar
+
+
+ MOA.spss.server
+ moa-spss-lib
+ ${project.version}
+
+
+ iaik.prod
+ iaik_moa
+
+
+ iaik.prod
+ iaik_ecc
+
+
+ iaik.prod
+ iaik_jce_full
+ provided
+
+
+ iaik.prod
+ iaik_ixsil
+
+
+ iaik.prod
+ iaik_X509TrustManager
+
+
+ regexp
+ regexp
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ false
+
+
+
+
+
+ test-jar
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 2.2
+
+ true
+ false
+ false
+
+
+ at.gv.egovernment.moa.spss.server.*;at.gv.egovernment.moa.spss.api.impl.*;at.gv.egovernment.moa.spss.impl.*
+
+
+
+ pre
+ a
+ Preconditions:
+
+
+ post
+ a
+ Postconditions:
+
+
+ http://java.sun.com/j2se/1.4/docs/api/
+
+
+
+ generate-javadoc
+ package
+
+ jar
+
+
+
+
+
+
diff --git a/id/server/pom.xml b/id/server/pom.xml
index fffc8d266..2173b97c4 100644
--- a/id/server/pom.xml
+++ b/id/server/pom.xml
@@ -1,27 +1,27 @@
-MOAid
- 1.4.1
+ 1.4.2
- 4.0.0
- MOA.id
- moa-id
- pom
- 1.4.1
- MOA ID Server
-
-
- idserverlib
- proxy
- auth
-
-
-
- ${basedir}/../../repository
-
-
+ 4.0.0
+ MOA.id
+ moa-id
+ pom
+ 1.4.2
+ MOA ID Server
+
+
+ idserverlib
+ proxy
+ auth
+
+
+
+ ${basedir}/../../repository
+
+
diff --git a/id/server/proxy/pom.xml b/id/server/proxy/pom.xml
index 2cb7fedbd..72397b959 100644
--- a/id/server/proxy/pom.xml
+++ b/id/server/proxy/pom.xml
@@ -4,7 +4,7 @@
MOA.idmoa-id
- 1.4.1
+ 1.4.2
@@ -16,7 +16,7 @@
MOA.id.servermoa-id-proxywar
- 1.4.1
+ 1.4.2MOA ID-Proxy WebService
@@ -105,12 +105,12 @@
provided
-
- xalan-bin-dist
- serializer
-
- provided
-
+
+ xalan-bin-dist
+ serializer
+
+ provided
+
diff --git a/id/templates/pom.xml b/id/templates/pom.xml
index 4498afdda..440bf9448 100644
--- a/id/templates/pom.xml
+++ b/id/templates/pom.xml
@@ -4,14 +4,14 @@
MOAid
- 1.4.1
+ 1.4.24.0.0MOA.idmoa-id-templateswar
- 1.4.1
+ 1.4.2MOA ID Sample Templates
diff --git a/pom.xml b/pom.xml
index 82ac9d91e..2c8795975 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
MOAMOApom
- 1.4.1
+ 1.4.2MOA
@@ -22,7 +22,6 @@
common
- common-testspssid
@@ -66,12 +65,12 @@
falsemaven-assembly-plugin2.2-beta-1
-
- moa
+
+ moaid/assembly-auth.xmlid/assembly-proxy.xml
- spss/assembly.xml
+ spss/assembly.xmlspss/assembly-lib.xml
@@ -158,14 +157,15 @@
MOAmoa-common
- 1.4.1
+ 1.4.2compileMOA
- moa-common-test
- 1.4.1
- test
+ moa-common
+ 1.4.2
+ compile
+ test-jarjunit
@@ -254,130 +254,130 @@
win32dllruntime
-
-
- iaik.prod
- iaik_Pkcs11Wrapper
- 1.2.16
- linux
- so
- runtime
-
-
- iaik.prod
- iaik_Pkcs11Wrapper
- 1.2.16
- linux_x64
- so
- runtime
-
-
- iaik.prod
- iaik_Pkcs11Wrapper
- 1.2.16
- solaris_sparc
- so
- runtime
-
-
- iaik.prod
- iaik_Pkcs11Wrapper
- 1.2.16
- solaris_sparcv9
- so
- runtime
-
-
- iaik.prod
- iaik_Pkcs11Wrapper
- 1.2.16
- wince30arm
- dll
- runtime
-
+
+
+ iaik.prod
+ iaik_Pkcs11Wrapper
+ 1.2.16
+ linux
+ so
+ runtime
+
+
+ iaik.prod
+ iaik_Pkcs11Wrapper
+ 1.2.16
+ linux_x64
+ so
+ runtime
+
+
+ iaik.prod
+ iaik_Pkcs11Wrapper
+ 1.2.16
+ solaris_sparc
+ so
+ runtime
+
+
+ iaik.prod
+ iaik_Pkcs11Wrapper
+ 1.2.16
+ solaris_sparcv9
+ so
+ runtime
+
+
+ iaik.prod
+ iaik_Pkcs11Wrapper
+ 1.2.16
+ wince30arm
+ dll
+ runtime
+ xercesxercesImpl2.7.1compile
-
-
- xalan-bin-dist
- xml-apis
- 2.7.0
- runtime
-
-
-
- xalan-bin-dist
- xalan
- 2.7.0
- runtime
-
-
- xalan-bin-dist
- serializer
- 2.7.0
- runtime
-
+
+
+ xalan-bin-dist
+ xml-apis
+ 2.7.0
+ runtime
+
+
+
+ xalan-bin-dist
+ xalan
+ 2.7.0
+ runtime
+
+
+ xalan-bin-dist
+ serializer
+ 2.7.0
+ runtime
+
-
-
-
- iaik.prod
- iaik_Pkcs11Wrapper
- win32
- dll
- runtime
-
-
- iaik.prod
- iaik_Pkcs11Wrapper
- linux
- so
- runtime
-
-
- iaik.prod
- iaik_Pkcs11Wrapper
- linux_x64
- so
- runtime
-
-
- iaik.prod
- iaik_Pkcs11Wrapper
- solaris_sparc
- so
- runtime
-
-
- iaik.prod
- iaik_Pkcs11Wrapper
- solaris_sparcv9
- so
- runtime
-
-
- iaik.prod
- iaik_Pkcs11Wrapper
- wince30arm
- dll
- runtime
-
-
+
+
+
+ iaik.prod
+ iaik_Pkcs11Wrapper
+ win32
+ dll
+ runtime
+
+
+ iaik.prod
+ iaik_Pkcs11Wrapper
+ linux
+ so
+ runtime
+
+
+ iaik.prod
+ iaik_Pkcs11Wrapper
+ linux_x64
+ so
+ runtime
+
+
+ iaik.prod
+ iaik_Pkcs11Wrapper
+ solaris_sparc
+ so
+ runtime
+
+
+ iaik.prod
+ iaik_Pkcs11Wrapper
+ solaris_sparcv9
+ so
+ runtime
+
+
+ iaik.prod
+ iaik_Pkcs11Wrapper
+ wince30arm
+ dll
+ runtime
+
+
diff --git a/spss/handbook/clients/api/pom.xml b/spss/handbook/clients/api/pom.xml
index a6ae7660b..c026cc939 100644
--- a/spss/handbook/clients/api/pom.xml
+++ b/spss/handbook/clients/api/pom.xml
@@ -3,14 +3,14 @@
MOA.spss.handbook.clientsmoa-spss-handbook-clients
- 1.4.1
+ 1.44.0.0MOA.spss.handbookmoa-spss-handbook-apiClientjar
- 1.4.1
+ 1.4MOA SP/SS Handbook API Client
@@ -120,7 +120,7 @@
MOA.spss.servermoa-spss-lib
- ${project.version}
+ 1.4.2
diff --git a/spss/handbook/clients/pom.xml b/spss/handbook/clients/pom.xml
index 7928905f3..a4b5eb216 100644
--- a/spss/handbook/clients/pom.xml
+++ b/spss/handbook/clients/pom.xml
@@ -3,14 +3,14 @@
MOA.spss.handbookmoa-spss-handbook
- 1.4.1
+ 1.44.0.0MOA.spss.handbook.clientsmoa-spss-handbook-clientspom
- 1.4.1
+ 1.4MOA SP/SS Handbook Clients
diff --git a/spss/handbook/clients/referencedData/pom.xml b/spss/handbook/clients/referencedData/pom.xml
index 23c3543df..f7f1e7b20 100644
--- a/spss/handbook/clients/referencedData/pom.xml
+++ b/spss/handbook/clients/referencedData/pom.xml
@@ -3,14 +3,14 @@
MOA.spss.handbook.clientsmoa-spss-handbook-clients
- 1.4.1
+ 1.44.0.0MOA.spss.handbookmoa-spss-handbook-referencedDatawar
- 1.4.1
+ 1.4MOA SP/SS Handbook Referenced Data
diff --git a/spss/handbook/clients/webservice/pom.xml b/spss/handbook/clients/webservice/pom.xml
index 72312da54..8e9f16fb3 100644
--- a/spss/handbook/clients/webservice/pom.xml
+++ b/spss/handbook/clients/webservice/pom.xml
@@ -3,14 +3,14 @@
MOA.spss.handbook.clientsmoa-spss-handbook-clients
- 1.4.1
+ 1.44.0.0MOA.spss.handbook.clientsmoa-spss-handbook-webserviceClientjar
- 1.4.1
+ 1.4MOA SP/SS Handbook WebService Client
@@ -120,7 +120,7 @@
MOA.spss.servermoa-spss-lib
- ${project.version}
+ 1.4.2
diff --git a/spss/handbook/pom.xml b/spss/handbook/pom.xml
index 8323f1802..3733e8df4 100644
--- a/spss/handbook/pom.xml
+++ b/spss/handbook/pom.xml
@@ -3,14 +3,14 @@
MOAspss
- 1.4.1
+ 1.4.x4.0.0MOA.spss.handbookmoa-spss-handbookpom
- 1.4.1
+ 1.4MOA SP/SS Handbook
diff --git a/spss/pom.xml b/spss/pom.xml
index aa06dee69..7e99360ad 100644
--- a/spss/pom.xml
+++ b/spss/pom.xml
@@ -3,14 +3,14 @@
MOAMOA
- 1.4.1
+ 1.4.24.0.0MOAspsspom
- 1.4.1
+ 1.4.xMOA SP/SS
diff --git a/spss/server/history.txt b/spss/server/history.txt
index d21fef433..3cbb39f06 100644
--- a/spss/server/history.txt
+++ b/spss/server/history.txt
@@ -1,9 +1,15 @@
+##############
+1.4.2
+##############
+
+- Performance-Verbesserungen bei der Verwendnung von externen Referenzen.
+
##############
1.4.1
##############
- Die Projektstruktur wurde eimem Maven Build-Prozess unterlegt. Der Sourcocde
- ab dieser Version unter http://egovlabs.gv.at/scm/?group_id=6 verfügbar.
+ ab dieser Version unter http://egovlabs.gv.at/scm/?group_id=6 verfügbar.
##############
1.4.0
diff --git a/spss/server/pom.xml b/spss/server/pom.xml
index aa5db1624..82e8a8c2f 100644
--- a/spss/server/pom.xml
+++ b/spss/server/pom.xml
@@ -3,14 +3,14 @@
MOAspss
- 1.4.1
+ 1.4.x4.0.0MOA.spssmoa-spsspom
- 1.4.1
+ 1.4.xMOA SP/SS Server
diff --git a/spss/server/serverlib/pom.xml b/spss/server/serverlib/pom.xml
index 49bc37ceb..c49a234a1 100644
--- a/spss/server/serverlib/pom.xml
+++ b/spss/server/serverlib/pom.xml
@@ -3,14 +3,14 @@
MOA.spssmoa-spss
- 1.4.1
+ 1.4.x4.0.0MOA.spss.servermoa-spss-libjar
- 1.4.1
+ 1.4.2MOA SP/SS API
diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java
index 1386d5c2d..ad0da28f4 100644
--- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java
+++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java
@@ -1,5 +1,10 @@
package at.gv.egovernment.moa.spss.server.invoke;
+import iaik.ixsil.util.URI;
+import iaik.ixsil.util.XPointerReferenceResolver;
+import iaik.server.modules.xml.DataObject;
+import iaik.server.modules.xml.XMLDataObject;
+
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -7,6 +12,7 @@ import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.Vector;
import javax.xml.parsers.ParserConfigurationException;
@@ -14,25 +20,11 @@ import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
-
import org.xml.sax.EntityResolver;
import org.xml.sax.SAXException;
-import iaik.ixsil.util.URI;
-import iaik.ixsil.util.XPointerReferenceResolver;
-import iaik.server.modules.xml.DataObject;
-import iaik.server.modules.xml.XMLDataObject;
-
import at.gv.egovernment.moa.logging.LogMsg;
import at.gv.egovernment.moa.logging.Logger;
-import at.gv.egovernment.moa.util.Constants;
-import at.gv.egovernment.moa.util.DOMUtils;
-import at.gv.egovernment.moa.util.EntityResolverChain;
-import at.gv.egovernment.moa.util.MOAEntityResolver;
-import at.gv.egovernment.moa.util.MOAErrorHandler;
-import at.gv.egovernment.moa.util.StreamEntityResolver;
-import at.gv.egovernment.moa.util.StreamUtils;
-
import at.gv.egovernment.moa.spss.MOAApplicationException;
import at.gv.egovernment.moa.spss.MOASystemException;
import at.gv.egovernment.moa.spss.api.common.Content;
@@ -48,7 +40,16 @@ import at.gv.egovernment.moa.spss.server.iaik.xml.ByteStreamDataObjectImpl;
import at.gv.egovernment.moa.spss.server.iaik.xml.DataObjectImpl;
import at.gv.egovernment.moa.spss.server.iaik.xml.XMLDataObjectImpl;
import at.gv.egovernment.moa.spss.server.iaik.xml.XMLNodeListDataObjectImpl;
+import at.gv.egovernment.moa.spss.server.transaction.TransactionContext;
+import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager;
import at.gv.egovernment.moa.spss.util.MessageProvider;
+import at.gv.egovernment.moa.util.Constants;
+import at.gv.egovernment.moa.util.DOMUtils;
+import at.gv.egovernment.moa.util.EntityResolverChain;
+import at.gv.egovernment.moa.util.MOAEntityResolver;
+import at.gv.egovernment.moa.util.MOAErrorHandler;
+import at.gv.egovernment.moa.util.StreamEntityResolver;
+import at.gv.egovernment.moa.util.StreamUtils;
/**
* A class to create DataObjects contained in different
@@ -132,12 +133,16 @@ public class DataObjectFactory {
}
case Content.LOCREF_CONTENT:
{
- ExternalURIResolver uriResolver = new ExternalURIResolver();
String locRefURI = ((ContentLocRef) content).getLocationReferenceURI();
InputStream is = null;
try
{
- is = uriResolver.resolve(locRefURI);
+ TransactionContext context = TransactionContextManager.getInstance().getTransactionContext();
+ is = context.ResolveURI(locRefURI);
+ if (is == null) {
+ ExternalURIResolver uriResolver = new ExternalURIResolver();
+ is = uriResolver.resolve(locRefURI);
+ }
contentBytes = StreamUtils.readStream(is);
}
catch (MOAApplicationException e)
@@ -299,25 +304,39 @@ public class DataObjectFactory {
}
case Content.LOCREF_CONTENT:
{
- ExternalURIResolver uriResolver = new ExternalURIResolver();
- String locRefURI = ((ContentLocRef) content).getLocationReferenceURI();
InputStream contentIS = null;
- InputStream uriStream = null;
- try
- {
- uriStream = uriResolver.resolve(locRefURI);
- byte[] contentBytes = StreamUtils.readStream(uriStream);
- contentIS = new ByteArrayInputStream(contentBytes);
- }
- catch (Exception e)
- {
- throw new MOAApplicationException("3202", new Object[]{reference, locRefURI}, e);
- }
- finally
- {
- closeInputStream(uriStream);
- }
- entities.put(reference, contentIS);
+ String locRefURI = ((ContentLocRef) content).getLocationReferenceURI();
+
+
+ TransactionContext context = TransactionContextManager.getInstance().getTransactionContext();
+ Vector entity = context.FindResolvedEntity(locRefURI);
+ if (entity!=null) {
+ contentIS = (InputStream) entity.get(0);
+ } else {
+
+ ExternalURIResolver uriResolver = new ExternalURIResolver();
+
+ InputStream uriStream = null;
+ byte[] contentBytes;
+ String contentType = null;
+ try
+ {
+ uriStream = uriResolver.resolve(locRefURI);
+ contentBytes = StreamUtils.readStream(uriStream);
+ contentIS = new ByteArrayInputStream(contentBytes);
+ contentType = uriResolver.getContentType();
+ }
+ catch (Exception e)
+ {
+ throw new MOAApplicationException("3202", new Object[]{reference, locRefURI}, e);
+ }
+ finally
+ {
+ closeInputStream(uriStream);
+ }
+ entities.put(locRefURI, contentIS);
+ context.PutResolvedEntity(locRefURI, contentBytes, contentType);
+ }
break;
}
case Content.XML_CONTENT :
@@ -648,9 +667,23 @@ public class DataObjectFactory {
private DataObjectImpl createFromURIImpl(String uri, boolean asXml)
throws MOASystemException, MOAApplicationException {
+ Logger.trace(">>> resolving uri \"" + uri + "\"");
+
ExternalURIResolver resolver = new ExternalURIResolver();
- InputStream is = resolver.resolve(uri);
- String contentType = resolver.getContentType();
+
+ TransactionContext context = TransactionContextManager.getInstance().getTransactionContext();
+ InputStream is = context.ResolveURI(uri);
+ String contentType = null;
+ boolean foundURI = false;
+ if (is == null) {
+ is = resolver.resolve(uri);
+ contentType = resolver.getContentType();
+ } else {
+ foundURI = true;
+ contentType = (String) context.FindResolvedEntity(uri).get(1);
+ Logger.trace("found \"" + uri + "\" InputStream in preread Supplements!, do not read any more. Content=" + contentType);
+ }
+
DataObjectImpl dataObject;
// read the content
@@ -684,6 +717,7 @@ public class DataObjectFactory {
dataObject = new XMLDataObjectImpl(doc.getDocumentElement());
} catch (Exception e) {
// this is the last chance: return the data as a byte stream
+ Logger.trace(">>> reading stream for \"" + uri + "\"");
is = resolver.resolve(uri);
ByteArrayInputStream bis;
try
@@ -699,9 +733,11 @@ public class DataObjectFactory {
{
closeInputStream(is);
}
+ Logger.trace(">>> read stream for \"" + uri + "\"");
}
}
}
+
else if (asXml)
{
// if we need XML data, we're in the wrong place here
@@ -711,10 +747,13 @@ public class DataObjectFactory {
else
{
// content is binary: make it available as a binary input stream
+ Logger.trace(">>> getting binary input for \"" + uri + "\"");
+ byte[] contentBytes;
ByteArrayInputStream bis;
try
{
- bis = new ByteArrayInputStream(StreamUtils.readStream(is));
+ contentBytes = StreamUtils.readStream(is);
+ bis = new ByteArrayInputStream(contentBytes);
}
catch (IOException e)
{
@@ -724,12 +763,18 @@ public class DataObjectFactory {
{
closeInputStream(is);
}
+ if (!foundURI) {
+ context.PutResolvedEntity(uri, contentBytes, contentType);
+ }
dataObject = new ByteStreamDataObjectImpl(bis);
+ Logger.trace("<<< got binary input for \"" + uri + "\"");
}
dataObject.setMimeType(contentType);
dataObject.setURI(uri);
+ Logger.trace("<<< resolved uri \"" + uri + "\"");
+
return dataObject;
}
diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/ExternalURIResolver.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/ExternalURIResolver.java
index 106742067..cbd88f7f3 100644
--- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/ExternalURIResolver.java
+++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/ExternalURIResolver.java
@@ -61,7 +61,6 @@ public class ExternalURIResolver {
//no transaction
throw new MOAApplicationException("2282", new Object[] { uri });
} else {
-
InputStream attachmentIs = context.getAttachmentInputStream(uri);
if (attachmentIs != null) {
setContentType(context.getAttachmentContentType(uri.getPath()));
@@ -70,20 +69,6 @@ public class ExternalURIResolver {
//maybe attachments provided but no suiting attachment found
throw new MOAApplicationException("2282", new Object[] { uri });
}
-/*
- try {
- InputStream attachmentIs = context.getAttachment(uri).getInputStream();
- if (attachmentIs != null) {
- setContentType(context.getAttachmentContentType(uri.getPath()));
- return attachmentIs;
- } else {
- //maybe attachments provided but no suiting attachment found
- throw new MOAApplicationException("2282", new Object[] { uri });
- }
- } catch (IOException e) {
- throw new MOAApplicationException("2208", new Object[] { uri }, e);
- }
-*/
}
}
diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java
index 4642593eb..3dd7ecf11 100644
--- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java
+++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvoker.java
@@ -89,10 +89,8 @@ public class XMLSignatureVerificationInvoker {
FILTERED_REF_TYPES = new HashSet();
FILTERED_REF_TYPES.add(DsigManifest.XML_DSIG_MANIFEST_TYPE);
FILTERED_REF_TYPES.add(SecurityLayerManifest.SECURITY_LAYER_MANIFEST_TYPE);
- FILTERED_REF_TYPES.add(
- SecurityLayerManifest.SECURITY_LAYER_MANIFEST_TYPE_OLD);
- FILTERED_REF_TYPES.add(
- XMLConstants.NAMESPACE_ETSI_STRING + "SignedProperties");
+ FILTERED_REF_TYPES.add(SecurityLayerManifest.SECURITY_LAYER_MANIFEST_TYPE_OLD);
+ FILTERED_REF_TYPES.add(XMLConstants.NAMESPACE_ETSI_STRING + "SignedProperties");
}
/**
diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java
index befbd58dd..f5f77ff50 100644
--- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java
+++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/AxisHandler.java
@@ -27,6 +27,7 @@ import at.gv.egovernment.moa.logging.Logger;
import at.gv.egovernment.moa.logging.LoggingContext;
import at.gv.egovernment.moa.logging.LoggingContextManager;
import at.gv.egovernment.moa.spss.MOASystemException;
+import at.gv.egovernment.moa.spss.api.common.Content;
import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider;
import at.gv.egovernment.moa.spss.server.transaction.TransactionContext;
import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager;
@@ -94,6 +95,7 @@ public class AxisHandler extends BasicHandler {
*/
private void handleRequest(MessageContext msgContext) throws AxisFault {
try {
+ Logger.trace("---- Entering Axishandler");
// generate a unique transaction id and build the TransactionContext
// for this request
HttpServletRequest request =
@@ -143,7 +145,9 @@ public class AxisHandler extends BasicHandler {
}
context.setRequestName(soapAction);
+ Logger.trace(">>> Get AttachmentCount");
int attachmentCount = soapMessage.getAttachmentsImpl().getAttachmentCount();
+ Logger.trace("<<< Finished Get AttachmentCount");
if (attachmentCount>0) {
// add SOAP attachments to transaction context
@@ -156,12 +160,23 @@ public class AxisHandler extends BasicHandler {
//Now get the InputStream (note: we could also get the content with Object content = attachment.getContent();)
InputStream is = null;
javax.activation.DataHandler datahandler = attachment.getDataHandler();
- org.apache.axis.attachments.ManagedMemoryDataSource mmds = (org.apache.axis.attachments.ManagedMemoryDataSource)datahandler.getDataSource();
- if (mmds!=null){
- is = mmds.getInputStream();
+
+ int TYPE = 2;
+ switch (TYPE) {
+ case 1:
+ {
+ org.apache.axis.attachments.ManagedMemoryDataSource mmds = (org.apache.axis.attachments.ManagedMemoryDataSource)datahandler.getDataSource();
+ context.addAttachment(id, type, mmds);
+ break;
+ }
+ case 2:
+ {
+ is = datahandler.getDataSource().getInputStream();
+ context.addAttachment(id, type, is, datahandler.getDataSource().getName());
+ break;
+ }
}
debug("handler.06", new Object[] {id, type});
- context.addAttachment(id, type, mmds);
}
}
@@ -202,6 +217,7 @@ public class AxisHandler extends BasicHandler {
fault.setFaultDetail(new Element[] { e.toErrorResponse()});
throw fault;
}
+ Logger.trace("---- Leaving Axishandler");
}
/**
@@ -379,4 +395,21 @@ public class AxisHandler extends BasicHandler {
Logger.debug(new LogMsg(msg.getMessage(messageId, parameters)));
}
-}
+
+
+// private byte[] toByteArray(AttachmentPart attachment) throws SOAPException, IOException
+// {
+// ByteArrayOutputStream outputStream = new ByteArrayOutputStream(attachment.getSize());
+// InputStream inputStream = (InputStream) attachment.getContent();
+// int currentByte = -1;
+// while ((currentByte = inputStream.read()) != -1)
+// outputStream.write(currentByte);
+//
+// inputStream.close();
+// outputStream.close();
+//
+// return outputStream.toByteArray();
+//
+//}
+
+}
\ No newline at end of file
diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java
index 2d548ea3a..c173625f8 100644
--- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java
+++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureCreationService.java
@@ -40,6 +40,7 @@ public class SignatureCreationService {
*/
public Element[] CreateXMLSignatureRequest(Element[] request)
throws AxisFault {
+ Logger.trace("---- Entering SignatureCreationService");
XMLSignatureCreationInvoker invoker =
XMLSignatureCreationInvoker.getInstance();
Element[] response = new Element[1];
@@ -72,17 +73,23 @@ public class SignatureCreationService {
reparsedReq = ServiceUtils.reparseRequest(context.getRequest());
// convert to API objects
+ Logger.trace(">>> preparsing Request");
requestObj = requestParser.parse(reparsedReq);
-
+ Logger.trace("<<< preparsed Request");
+
+ Logger.trace(">>> creating Signature");
// invoke the core logic
- responseObj =
- invoker.createXMLSignature(requestObj, Collections.EMPTY_SET);
+ responseObj = invoker.createXMLSignature(requestObj, Collections.EMPTY_SET);
+ Logger.trace("<<< created Signature");
+ Logger.trace(">>> building Response");
// map back to XML
response[0] = responseBuilder.build(responseObj).getDocumentElement();
+ Logger.trace("<<< built Response");
// save response in transaction
context.setResponse(response[0]);
+ Logger.trace("---- Leaving SignatureCreationService");
} catch (MOAException e) {
AxisFault fault = AxisFault.makeFault(e);
diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java
index 774880d26..5c1e35a95 100644
--- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java
+++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/transaction/TransactionContext.java
@@ -2,6 +2,7 @@ package at.gv.egovernment.moa.spss.server.transaction;
import iaik.ixsil.util.URI;
+import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
@@ -14,6 +15,7 @@ import java.util.Map.Entry;
import org.apache.axis.attachments.ManagedMemoryDataSource;
import org.w3c.dom.Element;
+import at.gv.egovernment.moa.logging.Logger;
import at.gv.egovernment.moa.spss.MOAApplicationException;
import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider;
@@ -37,9 +39,11 @@ public class TransactionContext {
private Element response;
/** The map pointing to SOAP attachments needed by the request. */
private HashMap attachments = null;
+ /** The map containing cashed entities used in DataObjectFactory. */
+ private HashMap resolvedEntities = null;
/** The configuration to use throughout the request. */
private ConfigurationProvider configuration = null;
-
+
/**
* Create a TransactionContext object.
*
@@ -169,6 +173,23 @@ public class TransactionContext {
this.attachments.put(referenceId, entry);
}
+ /**
+ * Adds an attachment to the transactions list of SOAP attachments.
+ *
+ * @param referenceId Identification value for the SOAP attachment.
+ * @param contentType MIME type of the SOAP attachment.
+ * @param is Handle to the InputStream of the SOAP attachment.
+ * @param filename Filename of the temporary file the InputStream belongs to
+ */
+ public void addAttachment(String referenceId, String contentType, InputStream is, String filename) {
+ if (this.attachments == null) this.attachments = new HashMap();
+ Vector entry = new Vector(3);
+ entry.add(contentType);
+ entry.add(is);
+ entry.add(filename);
+ this.attachments.put(referenceId, entry);
+ }
+
/**
* Returns the ManagedMemoryDataSource to a specific SOAP attachment identified by referenceId.
*
@@ -182,10 +203,14 @@ public class TransactionContext {
if (entry==null) {
return null;
}
- //return (InputStream) ( ((ManagedMemoryDataSource)entry.get(1)).getInputStream());
- return (ManagedMemoryDataSource) entry.get(1);
+ Object object = entry.get(1);
+ if (object instanceof ManagedMemoryDataSource) {
+ return (ManagedMemoryDataSource) object;
+ } else {
+ return null;
+ }
}
-
+
/**
* Returns the InputStream to a specific SOAP attachment identified by uri.
*
@@ -202,12 +227,17 @@ public class TransactionContext {
}
InputStream attachmentIs = null;
- try {
- attachmentIs = (InputStream) ( ((ManagedMemoryDataSource)entry.get(1)).getInputStream());
- } catch (IOException e) {
- throw new MOAApplicationException("2208", new Object[] { uri }, e);
+ Object object = entry.get(1);
+
+ if (object instanceof ManagedMemoryDataSource) {
+ try {
+ attachmentIs = (InputStream) ( ((ManagedMemoryDataSource)object).getInputStream());
+ } catch (IOException e) {
+ throw new MOAApplicationException("2208", new Object[] { uri }, e);
+ }
+ } else {
+ attachmentIs = (InputStream) object;
}
-
return attachmentIs;
//If we would return the whole mmds: return (ManagedMemoryDataSource) entry.get(1);
}
@@ -236,17 +266,32 @@ public void cleanAttachmentCache() {
while (iterator.hasNext()) {
Entry hmEntry = (Entry) iterator.next();
Vector entry = (Vector)hmEntry.getValue();
- ManagedMemoryDataSource mmds = (ManagedMemoryDataSource)entry.get(1);
- try {
- if (mmds!=null) {
- InputStream is = mmds.getInputStream();
- if (is!=null) is.close();
- File f = mmds.getDiskCacheFile();
- if (f!=null) f.delete();
- mmds.delete();
- }
- } catch (IOException e) {
- // ok to do nothing here
+ Object object = entry.get(1);
+ if (object instanceof ManagedMemoryDataSource) {
+ ManagedMemoryDataSource mmds = (ManagedMemoryDataSource)object;
+ try {
+ if (mmds!=null) {
+ InputStream is = mmds.getInputStream();
+ if (is!=null) is.close();
+ File f = mmds.getDiskCacheFile();
+ if (f!=null) f.delete();
+ mmds.delete();
+ }
+ } catch (IOException e) {
+ // ok to do nothing here
+ }
+ } else if (object instanceof InputStream) {
+ InputStream is = (InputStream)object;
+ try {
+ if (is!=null) is.close();
+ String tempFile = (String) entry.get(2);
+ if (tempFile!=null){
+ File f = new File(tempFile);
+ f.delete();
+ }
+ } catch (IOException e) {
+ // ok to do nothing here
+ }
}
}
}
@@ -261,4 +306,50 @@ public void cleanAttachmentCache() {
return configuration;
}
+ /**
+ * Search an uri content in cashed map.
+ *
+ * @param uri The value to look for.
+ * @return If found the cached entity, null otherwise.
+ */
+ public Vector FindResolvedEntity(String uri) {
+ if (resolvedEntities==null) return null;
+ return (Vector) resolvedEntities.get(uri);
+ }
+
+ /**
+ * Get a new InputStream of a cached entity.
+ *
+ * @param uri The value to look for.
+ * @return A new InputStream of the cached entity.
+ */
+ public InputStream ResolveURI(String uri) {
+ InputStream is = null;
+ Vector entity = FindResolvedEntity(uri);
+ if (entity!=null) {
+ byte[] contentBytes = (byte[]) entity.get(0);
+ if (contentBytes!=null) {
+ is = new ByteArrayInputStream(contentBytes);
+ }
+ }
+ return is;
+ }
+
+ /**
+ * Put a read entity (supplement, detached content, data object) on
+ * transactions entity cash, to prevent repeated reading on slower channels.
+ *
+ * @param uri A transaction-wide unique URI used as key of the entity cash
+ * table.
+ * @param contentBytes The cached content belonging to the uri.
+ * @param contentType If known, the MIME-type of the cashed content.
+ */
+ public void PutResolvedEntity(String uri, byte[] contentBytes, String contentType) {
+ Logger.trace(" storing uri content of uri \"" + uri + "\" for future references");
+ if (resolvedEntities==null) resolvedEntities = new HashMap();
+ Vector entity = new Vector();
+ entity.add(contentBytes);
+ entity.add(contentType);
+ resolvedEntities.put(uri, entity);
+ }
}
diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/AllTests.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/AllTests.java
deleted file mode 100644
index c670b5e55..000000000
--- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/AllTests.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package test.at.gv.egovernment.moa.spss;
-
-import test.at.gv.egovernment.moa.spss.server.iaik.config.ConfigurationDataImplTest;
-import test.at.gv.egovernment.moa.spss.server.iaik.config.IaikConfiguratorTest;
-import test.at.gv.egovernment.moa.spss.server.tools.CertToolTest;
-
-import junit.awtui.TestRunner;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * Test suite for all unit tests.
- *
- * @author Patrick Peck
- * @version $Id$
- */
-public class AllTests {
-
- public static Test suite() {
- TestSuite suite = new TestSuite();
-
- suite.addTestSuite(test.at.gv.egovernment.moa.spss.server.config.AllTests.class);
- suite.addTestSuite(ConfigurationDataImplTest.class);
- suite.addTestSuite(IaikConfiguratorTest.class);
- suite.addTest(
- test.at.gv.egovernment.moa.spss.server.invoke.AllTests.suite());
- suite.addTest(test.at.gv.egovernment.moa.spss.api.xmlbind.AllTests.suite());
- suite.addTestSuite(CertToolTest.class);
-
- return suite;
- }
-
- public static void main(String[] args) {
- try {
- TestRunner.run(AllTests.class);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-}
diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/SPSSTestCase.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/SPSSTestCase.java
deleted file mode 100644
index a585e30a0..000000000
--- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/SPSSTestCase.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package test.at.gv.egovernment.moa.spss;
-
-import java.security.Security;
-
-import test.at.gv.egovernment.moa.MOATestCase;
-
-import at.gv.egovernment.moa.logging.Logger;
-import at.gv.egovernment.moa.logging.LoggingContext;
-import at.gv.egovernment.moa.logging.LoggingContextManager;
-import at.gv.egovernment.moa.util.MessageProvider;
-
-import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider;
-import at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator;
-import at.gv.egovernment.moa.spss.server.transaction.TransactionContext;
-import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager;
-
-/**
- * Base class for MOA test cases.
- *
- * Provides some utility functions.
- *
- * @author Patrick Peck
- * @version $Id$
- */
-public class SPSSTestCase extends MOATestCase {
-
- protected static final String TESTDATA_ROOT = "data/test/";
-
- /**
- * Constructor for MOATestCase.
- * @param arg0
- */
- public SPSSTestCase(String name) {
- super(name);
- }
-
- /**
- * Set up a transaction context with a test configuration.
- */
- protected void setUpTransactionContext() throws Exception {
- System.setProperty(
- ConfigurationProvider.CONFIG_PROPERTY_NAME,
- "data/test/conf/moa-spss/MOA-SPSSConfiguration.xml");
- ConfigurationProvider config = ConfigurationProvider.getInstance();
- TransactionContext context = new TransactionContext("test", null, config);
- TransactionContextManager.getInstance().setTransactionContext(context);
- }
-
- protected void setUpLoggingContext() throws Exception {
- LoggingContext context = new LoggingContext("test");
- LoggingContextManager.getInstance().setLoggingContext(context);
- }
-
- /**
- * Configure the IAIK modules with the current configuration.
- *
- * A TransactionContext must have been set up before.
- */
- protected void setUpIaikConfiguration() throws Exception {
- TransactionContext context =
- TransactionContextManager.getInstance().getTransactionContext();
- ClassLoader cl = getClass().getClassLoader();
- MessageProvider msg = MessageProvider.getInstance();
-
- try {
- cl.loadClass("javax.security.cert.Certificate"); // from jcert.jar
- } catch (ClassNotFoundException e) {
- Logger.warn(msg.getMessage("init.03", null), e);
- }
-
- new IaikConfigurator().configure(context.getConfiguration());
- }
-
- protected void setUpSSL() throws Exception {
- //System.setProperty("javax.net.debug", "all");
- Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
- System.setProperty(
- "java.protocol.handler.pkgs",
- "com.sun.net.ssl.internal.www.protocol");
- }
-
-}
diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java
deleted file mode 100644
index 28f79729e..000000000
--- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package test.at.gv.egovernment.moa.spss.api.xmlbind;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * Runs all tests in this package.
- *
- * @author Patrick Peck
- * @version $Id$
- */
-public class AllTests {
- public static Test suite() {
- TestSuite suite = new TestSuite();
-
- suite.addTestSuite(CreateXMLSignatureRequestParserTest.class);
- suite.addTestSuite(TransformParserTest.class);
- suite.addTestSuite(VerifyCMSSignatureRequestParserTest.class);
- suite.addTestSuite(VerifyXMLSignatureRequestParserTest.class);
-
- return suite;
- }
-
-}
diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java
deleted file mode 100644
index 7ce705b01..000000000
--- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package test.at.gv.egovernment.moa.spss.api.xmlbind;
-
-import org.w3c.dom.Element;
-
-import test.at.gv.egovernment.moa.spss.SPSSTestCase;
-
-import at.gv.egovernment.moa.spss.api.xmlbind.CreateXMLSignatureRequestParser;
-import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfileExplicit;
-import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileExplicit;
-import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest;
-import at.gv.egovernment.moa.spss.api.xmlsign.DataObjectInfo;
-import at.gv.egovernment.moa.spss.api.xmlsign.SingleSignatureInfo;
-
-/**
- * Test the CreateXMLSignatureRequestParser.
- *
- * @author Patrick Peck
- * @version $Id$
- */
-public class CreateXMLSignatureRequestParserTest extends SPSSTestCase {
- private static final String TESTDATA_BASE =
- TESTDATA_ROOT + "xml/CreateXMLSignature/";
-
- private CreateXMLSignatureRequestParser requestParser;
-
- public CreateXMLSignatureRequestParserTest(String name) {
- super(name);
- }
-
- protected void setUp() throws Exception {
- requestParser = new CreateXMLSignatureRequestParser();
- }
-
- public void testParse() throws Exception {
- Element requestElem =
- parseXml(TESTDATA_BASE + "TestGeneratorCX2.001.Req.xml")
- .getDocumentElement();
- CreateXMLSignatureRequest request = requestParser.parse(requestElem);
- SingleSignatureInfo sigInfo;
- DataObjectInfo dataObjInfo;
- CreateTransformsInfoProfileExplicit transProfile;
- CreateSignatureEnvironmentProfileExplicit envProfile;
-
- assertNotNull(request);
- assertEquals("PKCS12RSAKey1", request.getKeyIdentifier());
- assertEquals(1, request.getSingleSignatureInfos().size());
-
- sigInfo = (SingleSignatureInfo) request.getSingleSignatureInfos().get(0);
- assertEquals(1, sigInfo.getDataObjectInfos().size());
- assertFalse(sigInfo.isSecurityLayerConform());
-
- dataObjInfo = (DataObjectInfo) sigInfo.getDataObjectInfos().get(0);
- assertNotNull(dataObjInfo.getDataObject());
-
- transProfile =
- (CreateTransformsInfoProfileExplicit) dataObjInfo
- .getCreateTransformsInfoProfile();
- assertNotNull(
- transProfile.getCreateTransformsInfo().getFinalDataMetaInfo());
-
- envProfile =
- (CreateSignatureEnvironmentProfileExplicit) sigInfo
- .getCreateSignatureInfo()
- .getCreateSignatureEnvironmentProfile();
- assertEquals(
- "//data:Document",
- envProfile.getCreateSignatureLocation().getXPathExpression());
- assertEquals(0, envProfile.getCreateSignatureLocation().getIndex());
- }
-
-}
diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java
deleted file mode 100644
index f580f86bc..000000000
--- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java
+++ /dev/null
@@ -1,113 +0,0 @@
-package test.at.gv.egovernment.moa.spss.api.xmlbind;
-
-import java.util.List;
-
-import org.w3c.dom.Element;
-
-import test.at.gv.egovernment.moa.spss.SPSSTestCase;
-
-import at.gv.egovernment.moa.spss.api.common.CanonicalizationTransform;
-import at.gv.egovernment.moa.spss.api.common.EnvelopedSignatureTransform;
-import at.gv.egovernment.moa.spss.api.common.ExclusiveCanonicalizationTransform;
-import at.gv.egovernment.moa.spss.api.common.XPathFilter2Transform;
-import at.gv.egovernment.moa.spss.api.common.XPathTransform;
-import at.gv.egovernment.moa.spss.api.common.XSLTTransform;
-import at.gv.egovernment.moa.spss.api.xmlbind.TransformParser;
-
-/**
- * Test the TransformParser.
- *
- * @author Patrick Peck
- * @version $Id$
- */
-public class TransformParserTest extends SPSSTestCase {
- private static String TESTDATA_BASE = TESTDATA_ROOT + "xml/dsigTransform/";
-
- private TransformParser transformParser;
-
- public TransformParserTest(String name) {
- super(name);
- }
-
- protected void setUp() {
- transformParser = new TransformParser();
- }
-
- public void testParseTransforms() throws Exception {
- Element transformsElem =
- parseXml(TESTDATA_BASE + "transforms.xml").getDocumentElement();
- List transforms = transformParser.parseTransforms(transformsElem);
-
- assertNotNull(transforms);
- assertEquals(3, transforms.size());
-
- }
-
- public void testParseCanonicalizationTransform() throws Exception {
- Element transformElem =
- parseXml(TESTDATA_BASE + "canonicalization.xml").getDocumentElement();
- CanonicalizationTransform transform =
- (CanonicalizationTransform) transformParser.parseTransform(transformElem);
-
- assertNotNull(transform);
- assertEquals(
- CanonicalizationTransform.CANONICAL_XML,
- transform.getAlgorithmURI());
- }
-
- public void testParseExclCanonicalizationTransform() throws Exception {
- Element transformElem =
- parseXml(TESTDATA_BASE + "exclusiveCanonicalization.xml")
- .getDocumentElement();
- ExclusiveCanonicalizationTransform transform =
- (ExclusiveCanonicalizationTransform) transformParser.parseTransform(
- transformElem);
-
- assertNotNull(transform);
- assertEquals(
- ExclusiveCanonicalizationTransform.EXCLUSIVE_CANONICAL_XML,
- transform.getAlgorithmURI());
- assertEquals(3, transform.getInclusiveNamespacePrefixes().size());
- }
-
- public void testParseEnvelopedTransform() throws Exception {
- Element transformElem =
- parseXml(TESTDATA_BASE + "enveloped.xml").getDocumentElement();
- EnvelopedSignatureTransform transform =
- (EnvelopedSignatureTransform) transformParser.parseTransform(
- transformElem);
-
- assertNotNull(transform);
- }
-
- public void testParseXPathTransform() throws Exception {
- Element transformElem =
- parseXml(TESTDATA_BASE + "xpath.xml").getDocumentElement();
- XPathTransform transform =
- (XPathTransform) transformParser.parseTransform(transformElem);
-
- assertNotNull(transform);
- assertEquals("//ToBeSigned/Data", transform.getXPathExpression());
- assertEquals(1, transform.getNamespaceDeclarations().size());
- }
-
- public void testParseXPathFilter2Transform() throws Exception {
- Element transformElem =
- parseXml(TESTDATA_BASE + "xpath2.xml").getDocumentElement();
- XPathFilter2Transform transform =
- (XPathFilter2Transform) transformParser.parseTransform(transformElem);
-
- assertNotNull(transform);
- assertEquals(3, transform.getFilters().size());
- }
-
- public void testParseXSLTTransform() throws Exception {
- Element transformElem =
- parseXml(TESTDATA_BASE + "xslt.xml").getDocumentElement();
- XSLTTransform transform =
- (XSLTTransform) transformParser.parseTransform(transformElem);
-
- assertNotNull(transform);
- }
-
-}
diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java
deleted file mode 100644
index 4be7667eb..000000000
--- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package test.at.gv.egovernment.moa.spss.api.xmlbind;
-
-import org.w3c.dom.Element;
-
-import at.gv.egovernment.moa.util.DateTimeUtils;
-
-import test.at.gv.egovernment.moa.spss.SPSSTestCase;
-
-import at.gv.egovernment.moa.spss.api.cmsverify.CMSContentExcplicit;
-import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest;
-import at.gv.egovernment.moa.spss.api.common.MetaInfo;
-import at.gv.egovernment.moa.spss.api.xmlbind.VerifyCMSSignatureRequestParser;
-
-/**
- * Test the VerifyCMSSignatureRequestParserTest.
- *
- * @author Patrick Peck
- * @version $Id$
- */
-public class VerifyCMSSignatureRequestParserTest extends SPSSTestCase {
- private static String TESTDATA_BASE =
- TESTDATA_ROOT + "xml/VerifyCMSSignature/";
-
- private VerifyCMSSignatureRequestParser requestParser;
-
- public VerifyCMSSignatureRequestParserTest(String name) {
- super(name);
- }
-
- protected void setUp() throws Exception {
- requestParser = new VerifyCMSSignatureRequestParser();
- }
-
- public void testParse() throws Exception {
- Element requestElem =
- parseXml(TESTDATA_BASE + "TestGeneratorVC0.001.Req.xml")
- .getDocumentElement();
- VerifyCMSSignatureRequest request = requestParser.parse(requestElem);
- MetaInfo metaInfo;
- CMSContentExcplicit content;
-
- assertNotNull(request);
- assertEquals(1, request.getSignatories()[0]);
- assertEquals(
- DateTimeUtils.parseDateTime("2003-04-04T09:30:47-05:00"),
- request.getDateTime());
- assertNotNull(request.getCMSSignature());
- assertNotNull(request.getDataObject());
- assertEquals("TrustProfile1", request.getTrustProfileId());
-
- metaInfo = request.getDataObject().getMetaInfo();
- assertNotNull(metaInfo);
- assertEquals("text/plain", metaInfo.getMimeType());
- assertEquals("http://10.16.46.109/TestDatenGenerator/resources/testDaten.txt", metaInfo.getDescription());
-
- content = (CMSContentExcplicit) request.getDataObject().getContent();
- assertNotNull(content.getBinaryContent());
-
- }
-
-}
diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java
deleted file mode 100644
index 3b8e8b00e..000000000
--- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java
+++ /dev/null
@@ -1,81 +0,0 @@
-package test.at.gv.egovernment.moa.spss.api.xmlbind;
-
-import org.w3c.dom.Element;
-
-import test.at.gv.egovernment.moa.spss.SPSSTestCase;
-
-import at.gv.egovernment.moa.util.DateTimeUtils;
-
-import at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureRequestParser;
-import at.gv.egovernment.moa.spss.api.xmlverify.ReferenceInfo;
-import at.gv.egovernment.moa.spss.api.xmlverify.SignatureManifestCheckParams;
-import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureInfo;
-import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation;
-import at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfileExplicit;
-import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest;
-
-/**
- * Test the VerifyXMLSignatureRequestParserTest.
- *
- * @author Patrick Peck
- * @version $Id$
- */
-public class VerifyXMLSignatureRequestParserTest extends SPSSTestCase {
- private static String TESTDATA_BASE =
- TESTDATA_ROOT + "xml/VerifyXMLSignature/";
-
- private VerifyXMLSignatureRequestParser parser;
-
- public VerifyXMLSignatureRequestParserTest(String name) {
- super(name);
- }
-
- protected void setUp() throws Exception {
- parser = new VerifyXMLSignatureRequestParser();
- }
-
- public void testParse() throws Exception {
- Element requestElem =
- parseXml(TESTDATA_BASE + "TestGeneratorVX.201.Req.xml")
- .getDocumentElement();
- VerifyXMLSignatureRequest request = parser.parse(requestElem);
- VerifySignatureInfo verifySignatureInfo;
- VerifySignatureLocation verifyLocation;
- SignatureManifestCheckParams checkParams;
- ReferenceInfo refInfo;
- VerifyTransformsInfoProfileExplicit transformsProfile;
-
- assertNotNull(request);
- assertEquals(
- DateTimeUtils.parseDateTime("2003-04-01T12:53:57+01:00"),
- request.getDateTime());
- assertFalse(request.getReturnHashInputData());
- assertEquals("TrustProfile1", request.getTrustProfileId());
-
- verifySignatureInfo = request.getSignatureInfo();
- assertNotNull(verifySignatureInfo);
- assertNotNull(verifySignatureInfo.getVerifySignatureEnvironment());
-
- verifyLocation = verifySignatureInfo.getVerifySignatureLocation();
- assertNotNull(verifyLocation);
- assertEquals("//dsig:Signature", verifyLocation.getXPathExpression());
- assertEquals(3, verifyLocation.getNamespaceDeclarations().size());
-
- checkParams = request.getSignatureManifestCheckParams();
- assertNotNull(checkParams);
- assertEquals(true, checkParams.getReturnReferenceInputData());
- assertEquals(1, checkParams.getReferenceInfos().size());
-
- refInfo = (ReferenceInfo) checkParams.getReferenceInfos().get(0);
- assertEquals(1, refInfo.getVerifyTransformsInfoProfiles().size());
-
- transformsProfile =
- (VerifyTransformsInfoProfileExplicit) refInfo
- .getVerifyTransformsInfoProfiles()
- .get(0);
- assertEquals(1, transformsProfile.getTransforms().size());
- assertEquals(1, transformsProfile.getTransformParameters().size());
-
- }
-
-}
diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/AllTests.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/AllTests.java
deleted file mode 100644
index 131f38c19..000000000
--- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/AllTests.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package test.at.gv.egovernment.moa.spss.server.config;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * @author Gregor Karlinger
- * @version $Id$
- */
-public class AllTests
-{
- public static Test suite()
- {
- TestSuite suite = new TestSuite();
- suite.addTestSuite(ConfigurationProviderTest1.class);
- suite.addTestSuite(ConfigurationProviderTest2.class);
- suite.addTestSuite(ConfigurationProviderTest3.class);
- return suite;
- }
-}
diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest1.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest1.java
deleted file mode 100644
index 474a387ad..000000000
--- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest1.java
+++ /dev/null
@@ -1,377 +0,0 @@
-package test.at.gv.egovernment.moa.spss.server.config;
-
-import iaik.asn1.structures.Name;
-import iaik.pki.pathvalidation.ChainingModes;
-import iaik.utils.RFC2253NameParser;
-import iaik.utils.RFC2253NameParserException;
-import iaik.x509.X509Certificate;
-
-import java.math.BigInteger;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import junit.framework.TestCase;
-
-import org.w3c.dom.Element;
-
-import at.gv.egovernment.moa.spss.MOAException;
-import at.gv.egovernment.moa.spss.server.config.CRLDistributionPoint;
-import at.gv.egovernment.moa.spss.server.config.ConfigurationException;
-import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider;
-import at.gv.egovernment.moa.spss.server.config.HardwareCryptoModule;
-import at.gv.egovernment.moa.spss.server.config.HardwareKeyModule;
-import at.gv.egovernment.moa.spss.server.config.KeyGroup;
-import at.gv.egovernment.moa.spss.server.config.KeyGroupEntry;
-import at.gv.egovernment.moa.spss.server.config.OCSPDistributionPoint;
-import at.gv.egovernment.moa.spss.server.config.SoftwareKeyModule;
-import at.gv.egovernment.moa.spss.server.config.TrustProfile;
-import at.gv.egovernment.moa.util.Constants;
-
-/**
- * @author Gregor Karlinger
- * @version $Id$
- */
-public class ConfigurationProviderTest1 extends TestCase
-{
- private static final String CONFIG_BASE_ =
- "e:/cio/projekte/basismodule/wartung/projekt/spss.server/res/test/resources/config/";
-
- static at.gv.egovernment.moa.spss.server.config.ConfigurationProvider provider_;
-
- static
- {
- System.setProperty(
- "log4j.configuration",
- "file:/" + CONFIG_BASE_ + "log4j.properties");
- System.setProperty(
- at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.CONFIG_PROPERTY_NAME,
- CONFIG_BASE_ + "moa.spss.complete-config.xml");
- try
- {
- ConfigurationProvider.reload();
- provider_ = at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.getInstance();
- }
- catch (ConfigurationException e)
- {
- throw new RuntimeException("Fehler beim Setup des Tests: " + e.getMessage());
- }
- }
-
- /**
- * Constructor for ConfigurationProvider.
- * @param arg0
- */
- public ConfigurationProviderTest1() throws MOAException
- {
- super("ConfigurationProvider");
- }
-
- public void testGetWarnings()
- {
- assertEquals(0, provider_.getWarnings().size());
- }
-
- public void testGetDigestMethodAlgorithmName()
- {
- assertEquals(
- Constants.SHA1_URI,
- provider_.getDigestMethodAlgorithmName());
- }
-
- public void testGetCanonicalizationAlgorithmName()
- {
- assertEquals(
- Constants.C14N_WITH_COMMENTS_URI,
- provider_.getCanonicalizationAlgorithmName());
- }
-
- public void testGetHardwareCryptoModules()
- {
- List hwcms = provider_.getHardwareCryptoModules();
- assertEquals(2, hwcms.size());
-
- HardwareCryptoModule hwc1 = (HardwareCryptoModule) hwcms.get(0);
- assertEquals("HWC1_Name", hwc1.getName());
- assertEquals("HWC1_SlotId", hwc1.getSlotID());
- assertEquals("HWC1_UserPIN", hwc1.getUserPIN());
-
- HardwareCryptoModule hwc2 = (HardwareCryptoModule) hwcms.get(1);
- assertEquals("HWC2_Name", hwc2.getName());
- assertNull(hwc2.getSlotID());
- assertEquals("HWC2_UserPIN", hwc2.getUserPIN());
- }
-
- public void testGetHardwareKeyModules()
- {
- List hwkms = provider_.getHardwareKeyModules();
- assertEquals(2, hwkms.size());
-
- HardwareKeyModule hwk1 = (HardwareKeyModule) hwkms.get(0);
- assertEquals("HWK1_Id", hwk1.getId());
- assertEquals("HWK1_Name", hwk1.getName());
- assertEquals("HWK1_SlotId", hwk1.getSlotID());
- assertEquals("HWK1_UserPIN", hwk1.getUserPIN());
-
- HardwareKeyModule hwk2 = (HardwareKeyModule) hwkms.get(1);
- assertEquals("HWK2_Id", hwk2.getId());
- assertEquals("HWK2_Name", hwk2.getName());
- assertNull(hwk2.getSlotID());
- assertEquals("HWK2_UserPIN", hwk2.getUserPIN());
- }
-
- public void testGetSoftwareKeyModules()
- {
- List swkms = provider_.getSoftwareKeyModules();
- assertEquals(2, swkms.size());
-
- SoftwareKeyModule swk1 = (SoftwareKeyModule) swkms.get(0);
- assertEquals("SWK1_Id", swk1.getId());
- assertEquals(CONFIG_BASE_ + "swk/SWK1_FileName.txt", swk1.getFileName().replace('\\', '/'));
- assertEquals("SWK1_Password", swk1.getPassWord());
-
- SoftwareKeyModule swk2 = (SoftwareKeyModule) swkms.get(1);
- assertEquals("SWK2_Id", swk2.getId());
- assertEquals(CONFIG_BASE_ + "swk/SWK2_FileName.txt", swk2.getFileName().replace('\\', '/'));
- assertNull(swk2.getPassWord());
- }
-
- public void testGetKeyGroups()
- {
- Map keyGroups = provider_.getKeyGroups();
- assertEquals(2, keyGroups.size());
-
- KeyGroup kg1 = (KeyGroup) keyGroups.get("KG1_Id");
- assertNotNull(kg1);
- assertEquals("KG1_Id", kg1.getId());
-
- Set kg1Entries = kg1.getKeyGroupEntries();
- assertEquals(2, kg1Entries.size());
-
- Iterator kg1EntriesIt = kg1Entries.iterator();
- while(kg1EntriesIt.hasNext())
- {
- KeyGroupEntry currentEntry = (KeyGroupEntry)kg1EntriesIt.next();
- if ("HWK1_Id".equals(currentEntry.getModuleID()))
- {
- assertEquals("CN=HWK1_Issuer", currentEntry.getIssuerDN());
- assertEquals(0, currentEntry.getSerialNumber().intValue());
- }
- else if ("HWK2_Id".equals(currentEntry.getModuleID()))
- {
- assertEquals("CN=HWK2_Issuer", currentEntry.getIssuerDN());
- assertEquals(1, currentEntry.getSerialNumber().intValue());
- }
- else fail("Invalid module identifer found.");
- }
-
- KeyGroup kg2 = (KeyGroup) keyGroups.get("KG2_Id");
- assertNotNull(kg2);
- assertEquals("KG2_Id", kg2.getId());
-
- Set kg2Entries = kg2.getKeyGroupEntries();
- assertEquals(2, kg2Entries.size());
-
- Iterator kg2EntriesIt = kg1Entries.iterator();
- while(kg1EntriesIt.hasNext())
- {
- KeyGroupEntry currentEntry = (KeyGroupEntry)kg2EntriesIt.next();
- if ("SWK1_Id".equals(currentEntry.getModuleID()))
- {
- assertEquals("CN=CN=SWK1_Issuer", currentEntry.getIssuerDN());
- assertEquals(2, currentEntry.getSerialNumber().intValue());
- }
- else if ("SWK2_Id".equals(currentEntry.getModuleID()))
- {
- assertEquals("CN=SWK2_Issuer", currentEntry.getIssuerDN());
- assertEquals(3, currentEntry.getSerialNumber().intValue());
- }
- else fail("Invalid module identifer found.");
- }
- }
-
- public void testGetKeyGroupEntries() throws RFC2253NameParserException
- {
- RFC2253NameParser parser = new RFC2253NameParser("CN=Customer1_Issuer");
- Name name = parser.parse();
- Set kgEntries = provider_.getKeyGroupEntries(name, BigInteger.valueOf(4), "KG1_Id");
- assertEquals(2, kgEntries.size());
-
- Iterator kgEntriesIt = kgEntries.iterator();
- while (kgEntriesIt.hasNext())
- {
- KeyGroupEntry currentEntry = (KeyGroupEntry) kgEntriesIt.next();
- if (!"HWK1_Id".equals(currentEntry.getModuleID()) && !"HWK2_Id".equals(currentEntry.getModuleID()))
- {
- fail("Invalid module identifier found.");
- }
- }
- }
-
- public void testGetChainingMode() throws RFC2253NameParserException
- {
- X509Certificate cert = new X509Certificate();
- RFC2253NameParser parser = new RFC2253NameParser("CN=Unknown");
- Name name = parser.parse();
- cert.setIssuerDN(name);
- cert.setSerialNumber(BigInteger.valueOf(0));
- assertEquals(ChainingModes.PKIX_MODE, provider_.getChainingMode(cert)); // Default chaining mode
-
- parser = new RFC2253NameParser("CN=TA1_Issuer");
- name = parser.parse();
- cert.setIssuerDN(name);
- cert.setSerialNumber(BigInteger.valueOf(5));
- assertEquals(ChainingModes.CHAIN_MODE, provider_.getChainingMode(cert));
- }
-
- public void testGetDistributionPoints() throws RFC2253NameParserException
- {
- X509Certificate cert = new X509Certificate();
- RFC2253NameParser parser = new RFC2253NameParser("CN=DP1_Issuer");
- Name name = parser.parse();
- cert.setIssuerDN(name);
-
- Set dps = provider_.getDistributionPoints(cert);
- assertEquals(2, dps.size());
-
- Iterator dpIt = dps.iterator();
- while (dpIt.hasNext())
- {
- CRLDistributionPoint currentDP = (CRLDistributionPoint)dpIt.next();
- if ("http://crl.myca.org".equals(currentDP.getUri()))
- {
- int reasonCodes =
- iaik.asn1.structures.DistributionPoint.unused |
- iaik.asn1.structures.DistributionPoint.keyCompromise |
- iaik.asn1.structures.DistributionPoint.cACompromise |
- iaik.asn1.structures.DistributionPoint.affiliationChanged |
- iaik.asn1.structures.DistributionPoint.superseded |
- iaik.asn1.structures.DistributionPoint.cessationOfOperation |
- iaik.asn1.structures.DistributionPoint.certificateHold |
- iaik.asn1.structures.DistributionPoint.privilegeWithdrawn |
- iaik.asn1.structures.DistributionPoint.aACompromise;
- assertEquals(reasonCodes, currentDP.getReasonCodes());
- }
- else if ("http://crl.myotherca.org".equals(currentDP.getUri()))
- {
- int reasonCodes =
- iaik.asn1.structures.DistributionPoint.aACompromise |
- iaik.asn1.structures.DistributionPoint.affiliationChanged;
- assertEquals(reasonCodes, currentDP.getReasonCodes());
- }
- else fail("Invalid CRL DP URI found: " + currentDP.getUri());
- }
-
- parser = new RFC2253NameParser("CN=DP2_Issuer");
- name = parser.parse();
- cert.setIssuerDN(name);
-
- dps = provider_.getDistributionPoints(cert);
- assertEquals(1, dps.size());
-
- OCSPDistributionPoint dpo = (OCSPDistributionPoint) dps.toArray()[0];
- assertEquals("http://crl.yetanotherca.org", dpo.getUri());
- }
-
- public void testGetCRLArchiveDuration()
- {
- assertEquals(730, provider_.getCRLArchiveDuration());
- }
-
- public void testGetEnableRevocationArchiving()
- {
- assertFalse(provider_.getEnableRevocationArchiving());
- }
-
- public void testGetCertStoreLocation()
- {
- assertEquals(
- CONFIG_BASE_ + "certstore_test",
- provider_.getCertStoreLocation().replace('\\', '/'));
- }
-
- public void testGetCreateTransformsInfoProfile()
- {
- Element ctip1 = provider_.getCreateTransformsInfoProfile("CTIP_1");
- assertEquals("CreateTransformsInfoProfile", ctip1.getLocalName());
-
- Element ctip2 = provider_.getCreateTransformsInfoProfile("CTIP_2");
- assertEquals("CreateTransformsInfoProfile", ctip2.getLocalName());
- }
-
- public void testGetCreateSignatureEnvironmentProfile()
- {
- Element csep = provider_.getCreateSignatureEnvironmentProfile("CSEP_1");
- assertEquals("CreateSignatureEnvironmentProfile", csep.getLocalName());
- }
-
- public void testGetVerifyTransformsInfoProfile()
- {
- Element vtip = provider_.getVerifyTransformsInfoProfile("VTIP_1");
- assertEquals("VerifyTransformsInfoProfile", vtip.getLocalName());
- }
-
- public void testGetSupplementProfile()
- {
- Element sp = provider_.getSupplementProfile("SP_1");
- assertEquals("SupplementProfile", sp.getLocalName());
- }
-
- public void testGetTrustProfile()
- {
- TrustProfile tp1 = provider_.getTrustProfile("TP1_Id");
- assertEquals(
- "file:/" + CONFIG_BASE_ + "trustprofiles/tp1/anchors",
- tp1.getUri());
- assertEquals(
- "file:/" + CONFIG_BASE_ + "trustprofiles/tp1/signercerts",
- tp1.getSignerCertsUri());
-
- TrustProfile tp2 = provider_.getTrustProfile("TP2_Id");
- assertEquals(
- "file:" + CONFIG_BASE_ + "trustprofiles/tp2/anchors",
- tp2.getUri());
- assertEquals(
- "file:" + CONFIG_BASE_ + "trustprofiles/tp2/signercerts",
- tp2.getSignerCertsUri());
- }
-
- public void testGetRevocationArchiveJDBCURL()
- {
- assertEquals("jdbc://dummy", provider_.getRevocationArchiveJDBCURL());
- }
-
- public void testGetRevocationArchiveJDBCDriverClass()
- {
- assertEquals("fully.qualified.classname", provider_.getRevocationArchiveJDBCDriverClass());
- }
-
- public void testGetEnableRevocationChecking()
- {
- assertFalse(provider_.getEnableRevocationChecking());
- }
-
- public void testGetMaxRevocationAge()
- {
- assertEquals(10000, provider_.getMaxRevocationAge());
- }
-
- public void testGetServiceOrder()
- {
- String[] serviceOrder = provider_.getServiceOrder();
- assertEquals(2, serviceOrder.length);
- assertEquals("crl", serviceOrder[0]);
- assertEquals("ocsp", serviceOrder[1]);
- }
-
- public void testGetAutoAddCertificates()
- {
- assertFalse(provider_.getAutoAddCertificates());
- }
-
- public void testGetUseAuthorityInfoAccess()
- {
- assertFalse(provider_.getUseAuthorityInfoAccess());
- }
-}
diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest2.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest2.java
deleted file mode 100644
index adf02809b..000000000
--- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest2.java
+++ /dev/null
@@ -1,225 +0,0 @@
-package test.at.gv.egovernment.moa.spss.server.config;
-
-import iaik.asn1.structures.Name;
-import iaik.pki.pathvalidation.ChainingModes;
-import iaik.utils.RFC2253NameParser;
-import iaik.utils.RFC2253NameParserException;
-import iaik.x509.X509Certificate;
-
-import java.math.BigInteger;
-import java.util.List;
-import java.util.Set;
-
-import junit.framework.TestCase;
-
-import org.w3c.dom.Element;
-
-import at.gv.egovernment.moa.spss.MOAException;
-import at.gv.egovernment.moa.spss.server.config.ConfigurationException;
-import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider;
-import at.gv.egovernment.moa.spss.server.config.TrustProfile;
-import at.gv.egovernment.moa.util.Constants;
-
-/**
- * @author Gregor Karlinger
- * @version $Id$
- */
-public class ConfigurationProviderTest2 extends TestCase
-{
- private static final String CONFIG_BASE_ =
- "e:/cio/projekte/basismodule/wartung/projekt/spss.server/res/test/resources/config/";
-
- static at.gv.egovernment.moa.spss.server.config.ConfigurationProvider provider_;
-
- static
- {
- System.setProperty(
- "log4j.configuration",
- "file:/" + CONFIG_BASE_ + "log4j.properties");
- System.setProperty(
- at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.CONFIG_PROPERTY_NAME,
- CONFIG_BASE_ + "moa.ss.noopts-config.xml");
- try
- {
- ConfigurationProvider.reload();
- provider_ = at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.getInstance();
- }
- catch (ConfigurationException e)
- {
- throw new RuntimeException("Fehler beim Setup des Tests: " + e.getMessage());
- }
- }
-
-
- /**
- * Constructor for ConfigurationProvider.
- * @param arg0
- */
- public ConfigurationProviderTest2() throws MOAException
- {
- super("ConfigurationProvider");
- }
-
- public void testGetWarnings()
- {
- // 3 Warnings should be collected: C14N not found, DigestMethod not found, ArchiveDuration not found
- assertEquals(3, provider_.getWarnings().size());
- }
-
- public void testGetDigestMethodAlgorithmName()
- {
- // Element is missing in config file, check if default value is returned
- assertEquals(
- Constants.SHA1_URI,
- provider_.getDigestMethodAlgorithmName());
- }
-
- public void testGetCanonicalizationAlgorithmName()
- {
- // Element is missing in config file, check if default value is returned
- assertEquals(
- Constants.C14N_URI,
- provider_.getCanonicalizationAlgorithmName());
- }
-
- public void testGetHardwareCryptoModules()
- {
- // No hardware crypto modules in config file, check for empty list
- List hwcms = provider_.getHardwareCryptoModules();
- assertEquals(0, hwcms.size());
- }
-
- public void testGetHardwareKeyModules()
- {
- List hwkms = provider_.getHardwareKeyModules();
- assertEquals(1, hwkms.size());
- }
-
- public void testGetSoftwareKeyModules()
- {
- // No software key modules in config file, check for empty list
- List swkms = provider_.getSoftwareKeyModules();
- assertEquals(0, swkms.size());
- }
-
- public void testGetChainingMode() throws RFC2253NameParserException
- {
- // Default Chaining Mode not set in configuration, check for default value
- X509Certificate cert = new X509Certificate();
- RFC2253NameParser parser = new RFC2253NameParser("CN=Unknown");
- Name name = parser.parse();
- cert.setIssuerDN(name);
- cert.setSerialNumber(BigInteger.valueOf(0));
- assertEquals(ChainingModes.PKIX_MODE, provider_.getChainingMode(cert));
- }
-
- public void testGetDistributionPoints() throws RFC2253NameParserException
- {
- // Element is missing in config file, check if emty list is returned
- X509Certificate cert = new X509Certificate();
- RFC2253NameParser parser = new RFC2253NameParser("CN=DP1_Issuer");
- Name name = parser.parse();
- cert.setIssuerDN(name);
-
- Set dps = provider_.getDistributionPoints(cert);
- assertEquals(0, dps.size());
- }
-
- public void testGetCRLArchiveDuration()
- {
- // Element is missing in config file, check if default value is returned
- assertEquals(0, provider_.getCRLArchiveDuration());
- }
-
- public void testGetEnableRevocationArchiving()
- {
- // Element is missing in config file, check if default value is returned
- assertFalse(provider_.getEnableRevocationArchiving());
- }
-
- public void testGetCertStoreLocation()
- {
- // Element is missing in config file, check if default value is returned
- assertEquals(
- CONFIG_BASE_ + "certstore",
- provider_.getCertStoreLocation().replace('\\', '/'));
- }
-
- public void testGetCreateTransformsInfoProfile()
- {
- // No profile in config file, check for null
- Element ctip1 = provider_.getCreateTransformsInfoProfile("CTIP_1");
- assertNull(ctip1);
- }
-
- public void testGetCreateSignatureEnvironmentProfile()
- {
- // No profile in config file, check for null
- Element csep = provider_.getCreateSignatureEnvironmentProfile("CSEP_1");
- assertNull(csep);
- }
-
- public void testGetVerifyTransformsInfoProfile()
- {
- // No profile in config file, check for null
- Element vtip = provider_.getVerifyTransformsInfoProfile("VTIP_1");
- assertNull(vtip);
- }
-
- public void testGetSupplementProfile()
- {
- // No profile in config file, check for null
- Element sp = provider_.getSupplementProfile("SP_1");
- assertNull(sp);
- }
-
- public void testGetTrustProfile()
- {
- // No trust profiles config file, check for null
- TrustProfile tp1 = provider_.getTrustProfile("TP1_Id");
- assertNull(tp1);
- }
-
- public void testGetRevocationArchiveJDBCURL()
- {
- // Element is missing in config file, check for null
- assertNull(provider_.getRevocationArchiveJDBCURL());
- }
-
- public void testGetRevocationArchiveJDBCDriverClass()
- {
- // Element is missing in config file, check for null
- assertNull(provider_.getRevocationArchiveJDBCDriverClass());
- }
-
- public void testGetEnableRevocationChecking()
- {
- // Element is missing in config file, check for default value
- assertFalse(provider_.getEnableRevocationChecking());
- }
-
- public void testGetMaxRevocationAge()
- {
- // Element is missing in config file, check for default value
- assertEquals(0, provider_.getMaxRevocationAge());
- }
-
- public void testGetServiceOrder()
- {
- // Element is missing in config file, check for empty array
- String[] serviceOrder = provider_.getServiceOrder();
- assertEquals(0, serviceOrder.length);
- }
-
- public void testGetAutoAddCertificates()
- {
- // Element is missing in config file, check for default value
- assertFalse(provider_.getAutoAddCertificates());
- }
-
- public void testGetUseAuthorityInfoAccess()
- {
- // Element is missing in config file, check for default value
- assertFalse(provider_.getUseAuthorityInfoAccess());
- }
-}
diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest3.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest3.java
deleted file mode 100644
index 7da2165cb..000000000
--- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest3.java
+++ /dev/null
@@ -1,166 +0,0 @@
-package test.at.gv.egovernment.moa.spss.server.config;
-
-import iaik.asn1.structures.Name;
-import iaik.utils.RFC2253NameParser;
-import iaik.utils.RFC2253NameParserException;
-import iaik.x509.X509Certificate;
-
-import java.util.List;
-import java.util.Set;
-
-import junit.framework.TestCase;
-
-import org.w3c.dom.Element;
-
-import at.gv.egovernment.moa.spss.MOAException;
-import at.gv.egovernment.moa.spss.server.config.ConfigurationException;
-import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider;
-import at.gv.egovernment.moa.util.Constants;
-
-/**
- * @author Gregor Karlinger
- * @version $Id$
- */
-public class ConfigurationProviderTest3 extends TestCase
-{
- private static final String CONFIG_BASE_ =
- "e:/cio/projekte/basismodule/wartung/projekt/spss.server/res/test/resources/config/";
-
- static at.gv.egovernment.moa.spss.server.config.ConfigurationProvider provider_;
-
- static
- {
- System.setProperty(
- "log4j.configuration",
- "file:/" + CONFIG_BASE_ + "log4j.properties");
- System.setProperty(
- at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.CONFIG_PROPERTY_NAME,
- CONFIG_BASE_ + "moa.sp.noopts-config.xml");
- try
- {
- ConfigurationProvider.reload();
- provider_ = at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.getInstance();
- }
- catch (ConfigurationException e)
- {
- throw new RuntimeException("Fehler beim Setup des Tests: " + e.getMessage());
- }
- }
-
- /**
- * Constructor for ConfigurationProvider.
- * @param arg0
- */
- public ConfigurationProviderTest3() throws MOAException
- {
- super("ConfigurationProvider");
- }
-
- public void testGetWarnings()
- {
- // 3 Warnings should be collected: C14N not found, DigestMethod not found, ArchiveDuration not found
- assertEquals(3, provider_.getWarnings().size());
- }
-
- public void testGetDigestMethodAlgorithmName()
- {
- // Element is missing in config file, check if default value is returned
- assertEquals(
- Constants.SHA1_URI,
- provider_.getDigestMethodAlgorithmName());
- }
-
- public void testGetCanonicalizationAlgorithmName()
- {
- // Element is missing in config file, check if default value is returned
- assertEquals(
- Constants.C14N_URI,
- provider_.getCanonicalizationAlgorithmName());
- }
-
- public void testGetHardwareCryptoModules()
- {
- // No hardware crypto modules in config file, check for empty list
- List hwcms = provider_.getHardwareCryptoModules();
- assertEquals(0, hwcms.size());
- }
-
- public void testGetHardwareKeyModules()
- {
- // No hardware key modules in config file, check for empty list
- List hwkms = provider_.getHardwareKeyModules();
- assertEquals(0, hwkms.size());
- }
-
- public void testGetSoftwareKeyModules()
- {
- // No software key modules in config file, check for empty list
- List swkms = provider_.getSoftwareKeyModules();
- assertEquals(0, swkms.size());
- }
-
- public void testGetDistributionPoints() throws RFC2253NameParserException
- {
- // No distribution points in config file, check for emtpy set
- X509Certificate cert = new X509Certificate();
- RFC2253NameParser parser = new RFC2253NameParser("CN=DP1_Issuer");
- Name name = parser.parse();
- cert.setIssuerDN(name);
-
- Set dps = provider_.getDistributionPoints(cert);
- assertEquals(0, dps.size());
- }
-
- public void testGetCRLArchiveDuration()
- {
- // No archive duration in config file, check for default value
- assertEquals(0, provider_.getCRLArchiveDuration());
- }
-
- public void testGetCreateTransformsInfoProfile()
- {
- // No profile in config file, check for null
- Element ctip1 = provider_.getCreateTransformsInfoProfile("CTIP_1");
- assertNull(ctip1);
- }
-
- public void testGetCreateSignatureEnvironmentProfile()
- {
- // No profile in config file, check for null
- Element csep = provider_.getCreateSignatureEnvironmentProfile("CSEP_1");
- assertNull(csep);
- }
-
- public void testGetVerifyTransformsInfoProfile()
- {
- // No profile in config file, check for null
- Element vtip = provider_.getVerifyTransformsInfoProfile("VTIP_1");
- assertNull(vtip);
- }
-
- public void testGetSupplementProfile()
- {
- // No profile in config file, check for null
- Element sp = provider_.getSupplementProfile("SP_1");
- assertNull(sp);
- }
-
- public void testGetRevocationArchiveJDBCURL()
- {
- // No archive in config file, check for null
- assertNull(provider_.getRevocationArchiveJDBCURL());
- }
-
- public void testGetRevocationArchiveJDBCDriverClass()
- {
- // No archive in config file, check for null
- assertNull(provider_.getRevocationArchiveJDBCDriverClass());
- }
-
- public void testGetServiceOrder()
- {
- // Element is missing in config file, check for empty array
- String[] serviceOrder = provider_.getServiceOrder();
- assertEquals(0, serviceOrder.length);
- }
-}
diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java
deleted file mode 100644
index be1090e4a..000000000
--- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java
+++ /dev/null
@@ -1,149 +0,0 @@
-package test.at.gv.egovernment.moa.spss.server.iaik.config;
-
-import java.io.FileInputStream;
-import java.security.KeyStore;
-import java.security.cert.CertificateFactory;
-import java.security.cert.X509Certificate;
-import java.util.Collection;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import test.at.gv.egovernment.moa.spss.SPSSTestCase;
-
-import iaik.asn1.structures.DistributionPoint;
-import iaik.pki.PKIConfiguration;
-import iaik.pki.pathvalidation.ChainingModes;
-import iaik.pki.pathvalidation.ValidationConfiguration;
-import iaik.pki.revocation.CRLDistributionPoint;
-import iaik.pki.revocation.RevocationConfiguration;
-import iaik.pki.store.certstore.CertStoreConfiguration;
-import iaik.pki.store.certstore.CertStoreTypes;
-import iaik.pki.store.revocation.archive.ArchiveConfiguration;
-import iaik.pki.store.revocation.archive.db.DataBaseArchiveParameter;
-import iaik.server.ConfigurationData;
-import iaik.server.modules.keys.HardwareKeyModuleConfiguration;
-import iaik.server.modules.keys.SoftwareKeyModuleConfiguration;
-
-import at.gv.egovernment.moa.spss.server.iaik.config.ConfigurationDataImpl;
-import at.gv.egovernment.moa.spss.server.transaction.TransactionContext;
-import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager;
-
-/**
- * Tests the ConfigurationDataImpl.
- *
- * @author Patrick Peck
- * @version $Id$
- */
-public class ConfigurationDataImplTest extends SPSSTestCase {
-
- private ConfigurationData config;
- private X509Certificate iaikCert;
-
- public ConfigurationDataImplTest(String name) {
- super(name);
- }
-
- protected void setUp() throws Exception {
- TransactionContext context;
-
- setUpTransactionContext();
- context = TransactionContextManager.getInstance().getTransactionContext();
-
- config = new ConfigurationDataImpl(context.getConfiguration());
-
- KeyStore ks = KeyStore.getInstance("JKS", "SUN");
- ks.load(
- new FileInputStream(TESTDATA_ROOT + "security/server.keystore"),
- "changeit".toCharArray());
-
- CertificateFactory certFactory = CertificateFactory.getInstance("X.509");
- Collection certs =
- certFactory.generateCertificates(
- new FileInputStream(
- TESTDATA_ROOT
- + "conf/moa-spss/trustprofiles/TrustProfile1/IAIKRoot.cer"));
- iaikCert = (X509Certificate) certs.toArray()[0];
-
- }
-
- public void testGetPKIConfiguration() {
- PKIConfiguration pkiConfig = config.getPKIConfiguration();
- ArchiveConfiguration archiveConfig = pkiConfig.getArchiveConfiguration();
- CertStoreConfiguration certStoreConfig =
- pkiConfig.getCertStoreConfiguration();
- RevocationConfiguration revocationConfig =
- pkiConfig.getRevocationConfiguration();
- ValidationConfiguration validationConfig =
- pkiConfig.getValidationConfiguration();
- DataBaseArchiveParameter archiveParam;
- Set distributionPoints;
- Iterator iter;
- boolean found;
-
- // test archive parameters
- archiveParam =
- (DataBaseArchiveParameter) archiveConfig.getArchiveParameters();
- assertEquals(
- archiveParam.getJDBCUrl(),
- "jdbc:postgresql://10.16.46.108/moa?user=moa&password=moatest");
-
- // test cert store configuration
- assertEquals(1, certStoreConfig.getParameters().length);
- assertEquals(
- CertStoreTypes.DIRECTORY,
- certStoreConfig.getParameters()[0].getType());
-
- // test revocation configuration
- distributionPoints =
- revocationConfig.getAlternativeDistributionPoints(iaikCert, null, new Date());
- assertEquals(3, distributionPoints.size());
- found = false;
- for (iter = distributionPoints.iterator(); iter.hasNext();) {
- CRLDistributionPoint dp = (CRLDistributionPoint) iter.next();
- if (dp.getUri().equals("http://www.iaik.at/testCA/iaik_test_sig.crl")) {
- found =
- dp.getReasonCodes()
- == (DistributionPoint.keyCompromise
- | DistributionPoint.affiliationChanged);
- }
- }
- assertTrue(found);
-
- // test validation configuration
- assertEquals(
- ChainingModes.PKIX_MODE,
- validationConfig.getChainingMode(iaikCert));
- }
-
- /*
- public void testGetCryptoModuleConfigurations() {
- List cryptoConfigs = config.getCryptoModuleConfigurations();
- HardwareCryptoModuleConfiguration moduleConfig;
-
- assertEquals(2, cryptoConfigs.size());
- moduleConfig = (HardwareCryptoModuleConfiguration) cryptoConfigs.get(0);
- assertEquals("Module1", moduleConfig.getModuleName());
- assertEquals("Slot1", moduleConfig.getSlotID());
- assertEquals("PIN1", new String(moduleConfig.getUserPIN()));
- }
- */
-
- public void testGetKeyModuleConfigurations() {
- List keyConfigs = config.getKeyModuleConfigurations();
- HardwareKeyModuleConfiguration hwKey;
- SoftwareKeyModuleConfiguration swKey;
-
- assertEquals(7, keyConfigs.size());
- hwKey = (HardwareKeyModuleConfiguration) keyConfigs.get(0);
- assertEquals("cryptoki.dll", hwKey.getModuleName());
- assertEquals("0", hwKey.getSlotID());
- assertEquals("0000", new String(hwKey.getUserPIN()));
- swKey = (SoftwareKeyModuleConfiguration) keyConfigs.get(1);
- assertEquals(
- "buergerkarte",
- new String(swKey.getKeyStoreAuthenticationData()));
- }
-
-}
diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java
deleted file mode 100644
index 3b403dc19..000000000
--- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package test.at.gv.egovernment.moa.spss.server.iaik.config;
-
-import test.at.gv.egovernment.moa.spss.SPSSTestCase;
-
-import at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator;
-import at.gv.egovernment.moa.spss.server.transaction.TransactionContext;
-import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager;
-
-/**
- * Tests the IaikConfigurator.
- *
- * @author Patrick Peck
- * @version $Id$
- */
-public class IaikConfiguratorTest extends SPSSTestCase {
-
- public IaikConfiguratorTest(String name) {
- super(name);
- }
-
- /**
- * @see TestCase#setUp()
- */
- protected void setUp() throws Exception {
- super.setUpTransactionContext();
- }
-
- public void testConfigure() throws Exception {
- IaikConfigurator configurator = new IaikConfigurator();
- TransactionContext context =
- TransactionContextManager.getInstance().getTransactionContext();
-
- configurator.configure(context.getConfiguration());
- }
-
-}
diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/AllTests.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/AllTests.java
deleted file mode 100644
index 65fa2bf72..000000000
--- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/AllTests.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package test.at.gv.egovernment.moa.spss.server.invoke;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * Runs all tests in this package.
- *
- * @author Patrick Peck
- * @version $Id$
- */
-public class AllTests {
- public static Test suite() {
- TestSuite suite = new TestSuite();
-
- suite.addTestSuite(DataObjectFactoryTest.class);
- suite.addTestSuite(TransformationFactoryTest.class);
- suite.addTestSuite(XMLSignatureCreationInvokerTest.class);
- suite.addTestSuite(CMSSignatureVerificationInvokerTest.class);
- suite.addTestSuite(XMLSignatureVerificationInvokerTest.class);
-
- return suite;
- }
-
-}
diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java
deleted file mode 100644
index 3024730f4..000000000
--- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package test.at.gv.egovernment.moa.spss.server.invoke;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-import test.at.gv.egovernment.moa.spss.SPSSTestCase;
-
-import at.gv.egovernment.moa.util.DOMUtils;
-
-import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest;
-import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse;
-import at.gv.egovernment.moa.spss.api.xmlbind.VerifyCMSSignatureRequestParser;
-import at.gv.egovernment.moa.spss.api.xmlbind.VerifyCMSSignatureResponseBuilder;
-import at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker;
-
-/**
- * Mainly a smoke test for debugging the CMSSignatureVerificationInvoker.
- *
- * @author Patrick Peck
- * @version $Id$
- */
-public class CMSSignatureVerificationInvokerTest extends SPSSTestCase {
- private static final String TESTDATA_BASE =
- TESTDATA_ROOT + "xml/VerifyCMSSignature/";
-
- /**
- * Constructor for CMSSignatureVerificationInvokerTest.
- * @param name
- */
- public CMSSignatureVerificationInvokerTest(String name) {
- super(name);
- }
-
- protected void setUp() throws Exception {
- setUpTransactionContext();
- setUpLoggingContext();
- setUpIaikConfiguration();
- }
-
- public void testVerifyCMSSignature() throws Exception {
- try {
- CMSSignatureVerificationInvoker invoker =
- CMSSignatureVerificationInvoker.getInstance();
- VerifyCMSSignatureRequestParser requestParser =
- new VerifyCMSSignatureRequestParser();
- Document doc =
- SPSSTestCase.parseXmlValidating(
- TESTDATA_BASE + "TestGeneratorVC0.001.Req.xml");
- VerifyCMSSignatureRequest request =
- requestParser.parse(doc.getDocumentElement());
- VerifyCMSSignatureResponse response = invoker.verifyCMSSignature(request);
- VerifyCMSSignatureResponseBuilder responseBuilder =
- new VerifyCMSSignatureResponseBuilder();
- Element result = responseBuilder.build(response).getDocumentElement();
-
- System.out.println(DOMUtils.serializeNode(result));
- } catch (Exception e) {
- e.printStackTrace();
- fail();
- }
- }
-
-}
diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java
deleted file mode 100644
index 7de2add33..000000000
--- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java
+++ /dev/null
@@ -1,180 +0,0 @@
-package test.at.gv.egovernment.moa.spss.server.invoke;
-
-import java.io.InputStream;
-import java.security.Security;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-import test.at.gv.egovernment.moa.spss.SPSSTestCase;
-
-import iaik.server.modules.xml.BinaryDataObject;
-import iaik.server.modules.xml.DataObject;
-import iaik.server.modules.xml.XMLDataObject;
-
-import at.gv.egovernment.moa.util.Base64Utils;
-
-import at.gv.egovernment.moa.spss.MOAException;
-import at.gv.egovernment.moa.spss.api.SPSSFactory;
-import at.gv.egovernment.moa.spss.api.common.Content;
-import at.gv.egovernment.moa.spss.server.iaik.xml.ByteArrayDataObjectImpl;
-import at.gv.egovernment.moa.spss.server.iaik.xml.ByteStreamDataObjectImpl;
-import at.gv.egovernment.moa.spss.server.iaik.xml.XMLDataObjectImpl;
-import at.gv.egovernment.moa.spss.server.iaik.xml.XMLNodeListDataObjectImpl;
-import at.gv.egovernment.moa.spss.server.invoke.DataObjectFactory;
-
-/**
- * Test cases for the DataObjectFactory class.
- *
- * @author Patrick Peck
- * @version $Id$
- */
-public class DataObjectFactoryTest extends SPSSTestCase {
-
- private static final String HTTP_BINARY_CONTENT_URL = "http://www.google.com";
- private static final String HTTP_XML_CONTENT_URL =
- "http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd";
- private static final String HTTPS_BINARY_CONTENT_URL =
- "https://businessnet.ba-ca.com";
- private static final String HTTPS_UNTRUSTED_URL =
- "https://heribert.anecon.com";
- private static final String HTTP_UNKNOWN_HOST_URL = "http://uurjmjmruuw.com";
- private static final String MALFORMED_URL = "//hsld///ddd";
- private static final String FILE_BINARY_CONTENT_URL = "file:/C:/boot.ini";
- private static final String XML_CONTENT =
- ""
- + " "
- + " "
- + "";
- private static final String BASE64_CONTENT = "U3Zlbg==";
-
- private SPSSFactory spssFactory = SPSSFactory.getInstance();
- private DataObjectFactory factory;
-
- /**
- * Constructor for DataObjectFactoryTest.
- * @param name
- */
- public DataObjectFactoryTest(String name) {
- super(name);
- }
-
- protected void setUp() throws Exception {
- factory = DataObjectFactory.getInstance();
-
- // set up SSL
- Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
- System.setProperty(
- "java.protocol.handler.pkgs",
- "com.sun.net.ssl.internal.www.protocol");
- /*
- System.setProperty(
- "javax.net.ssl.keyStore",
- "data/test/security/client.keystore");
- System.setProperty("javax.net.ssl.keyStorePassword", "changeit");
- System.setProperty(
- "javax.net.ssl.trustStore",
- "data/test/security/client.keystore");
- System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
- */
- }
-
- public void testCreateFromURIWithBinaryHttp() throws Exception {
- DataObject dataObject =
- factory.createFromURI(HTTP_BINARY_CONTENT_URL, false);
-
- assertNotNull(dataObject);
- assertTrue(dataObject instanceof ByteStreamDataObjectImpl);
- assertNotNull(((BinaryDataObject) dataObject).getInputStream());
- }
-
- public void testCreateFromURIWithXmlHttp() throws Exception {
- DataObject dataObject = factory.createFromURI(HTTP_XML_CONTENT_URL, false);
- Element element;
-
- assertNotNull(dataObject);
- assertTrue(dataObject instanceof XMLDataObjectImpl);
- element = ((XMLDataObject) dataObject).getElement();
- assertNotNull(element);
- assertEquals("schema", element.getTagName());
- }
-
- public void testCreateFromURIWithMalformedURI() throws Exception {
- try {
- factory.createFromURI(MALFORMED_URL, false);
- fail();
- } catch (MOAException e) {
- }
- }
-
- public void testCreateFromURIWithNonExistingHttpURL() throws Exception {
- try {
- factory.createFromURI(HTTP_UNKNOWN_HOST_URL, false);
- fail();
- } catch (MOAException e) {
- }
- }
-
- public void testCreateFromURIWithHttps() throws Exception {
- DataObject dataObject =
- factory.createFromURI(HTTPS_BINARY_CONTENT_URL, false);
- assertNotNull(dataObject);
- assertTrue(dataObject instanceof BinaryDataObject);
- }
-
- public void testCreateFromURIWithUntrustedHttps() throws Exception {
- try {
- factory.createFromURI(HTTPS_UNTRUSTED_URL, false);
- fail();
- } catch (MOAException e) {
-
- }
- }
-
- public void testCreateFromURIWithFile() throws Exception {
- try {
- factory.createFromURI(FILE_BINARY_CONTENT_URL, false);
- fail();
- } catch (MOAException e) {
- }
- }
-
- public void testCreateFromContentOptionalRefTypeWithXmlContent()
- throws Exception {
- Document doc = parseXmlString(XML_CONTENT);
- Content content =
- spssFactory.createContent(
- doc.getDocumentElement().getChildNodes(),
- "http://data");
- DataObject dataObject =
- factory.createFromContentOptionalRefType(
- content,
- null,
- null,
- true,
- false,
- true,
- false);
-
- assertTrue(dataObject instanceof XMLNodeListDataObjectImpl);
- }
-
- public void testCreateFromContentOptionalRefTypeWithBase64Content()
- throws Exception {
- InputStream is = Base64Utils.decodeToStream(BASE64_CONTENT, true);
- Content content = spssFactory.createContent(is, "http://data");
- DataObject dataObject =
- factory.createFromContentOptionalRefType(
- content,
- null,
- null,
- false,
- false,
- true,
- false);
-
- assertNotNull(dataObject);
- assertTrue(dataObject instanceof ByteArrayDataObjectImpl);
- }
-
-}
diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java
deleted file mode 100644
index 13a80cbf1..000000000
--- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java
+++ /dev/null
@@ -1,201 +0,0 @@
-package test.at.gv.egovernment.moa.spss.server.invoke;
-
-import java.util.List;
-import java.util.Map;
-
-import org.w3c.dom.Document;
-
-import test.at.gv.egovernment.moa.spss.SPSSTestCase;
-
-import iaik.ixsil.init.IXSILInit;
-import iaik.ixsil.util.URI;
-import iaik.server.modules.xml.Base64Transformation;
-import iaik.server.modules.xml.Canonicalization;
-import iaik.server.modules.xml.EnvelopedSignatureTransformation;
-import iaik.server.modules.xml.Transformation;
-import iaik.server.modules.xml.XPath2Transformation;
-import iaik.server.modules.xml.XPathTransformation;
-import iaik.server.modules.xml.XSLTTransformation;
-
-import at.gv.egovernment.moa.util.Constants;
-
-import at.gv.egovernment.moa.spss.MOAApplicationException;
-import at.gv.egovernment.moa.spss.api.common.Transform;
-import at.gv.egovernment.moa.spss.api.xmlbind.TransformParser;
-import at.gv.egovernment.moa.spss.server.invoke.TransformationFactory;
-
-/**
- * Test cases for the TransformationFactory class.
- *
- * @author Patrick Peck
- * @version $Id$
- */
-public class TransformationFactoryTest extends SPSSTestCase {
-
- private static final String TESTDATA_BASE =
- TESTDATA_ROOT + "xml/dsigTransform/";
- private TransformationFactory factory = TransformationFactory.getInstance();
- private TransformParser transformParser = new TransformParser();
-
- /**
- * Constructor for TransformationFactoryTest.
- * @param name
- */
- public TransformationFactoryTest(String name) {
- super(name);
- }
-
- protected void setUp() throws Exception {
- IXSILInit.init(new URI("init/properties/init.properties"));
- //IXSILInit.init(new URI("file:data/deploy/ixsil/init/properties/init.properties"));
-
- }
-
- public void testCreateCanonicalization() throws Exception {
- Document transform = parseXml(TESTDATA_BASE + "canonicalization.xml");
- Transform tr =
- transformParser.parseTransform(transform.getDocumentElement());
- Transformation t = factory.createTransformation(tr);
-
- assertTrue(t instanceof Canonicalization);
- assertEquals(
- "http://www.w3.org/TR/2001/REC-xml-c14n-20010315",
- t.getAlgorithmURI());
- }
-
- public void testCreateCanonicalizationWithComments() throws Exception {
- Document transform =
- parseXml(TESTDATA_BASE + "canonicalizationWithComments.xml");
- Transform tr =
- transformParser.parseTransform(transform.getDocumentElement());
- Transformation t = factory.createTransformation(tr);
-
- assertTrue(t instanceof Canonicalization);
- assertEquals(
- "http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments",
- t.getAlgorithmURI());
- }
-
- public void testCreateBase64Decode() throws Exception {
- Document transform = parseXml(TESTDATA_BASE + "base64.xml");
- Transform tr =
- transformParser.parseTransform(transform.getDocumentElement());
- Transformation t = factory.createTransformation(tr);
- assertTrue(t instanceof Base64Transformation);
- }
-
- public void testCreateEnvelopedSignature() throws Exception {
- Document transform = parseXml(TESTDATA_BASE + "enveloped.xml");
- Transform tr =
- transformParser.parseTransform(transform.getDocumentElement());
- Transformation t = factory.createTransformation(tr);
- assertTrue(t instanceof EnvelopedSignatureTransformation);
- }
-
- public void testXPathTransformation() throws Exception {
- Document transform = parseXml(TESTDATA_BASE + "xpath.xml");
- Transform tr =
- transformParser.parseTransform(transform.getDocumentElement());
- Transformation t = factory.createTransformation(tr);
- Map nsDecls;
-
- assertTrue(t instanceof XPathTransformation);
- nsDecls = ((XPathTransformation) t).getNamespaceDeclarations();
- assertEquals(1, nsDecls.size());
- assertEquals(Constants.DSIG_NS_URI, nsDecls.get("dsig"));
- }
-
- public void testCreateXPath2Transformation() throws Exception {
- Document transform = parseXml(TESTDATA_BASE + "xpath2.xml");
- Transform tr =
- transformParser.parseTransform(transform.getDocumentElement());
- Transformation t = factory.createTransformation(tr);
- assertTrue(t instanceof XPath2Transformation);
- }
-
- public void testCreateXSLTTransformation() throws Exception {
- Document transform = parseXml(TESTDATA_BASE + "xslt.xml");
- Transform tr =
- transformParser.parseTransform(transform.getDocumentElement());
- XSLTTransformation t =
- (XSLTTransformation) factory.createTransformation(tr);
- assertNotNull(t.getStylesheetElement());
- }
-
- public void testCreateWithIllegalAlgorithm() throws Exception {
- try {
- Document transform = parseXml(TESTDATA_BASE + "illegalAlgorithm.xml");
- Transform tr =
- transformParser.parseTransform(transform.getDocumentElement());
- factory.createTransformation(tr);
- fail();
- } catch (MOAApplicationException e) {
- }
- }
-
- public void testEqualsXslt() throws Exception {
- Document xslt = parseXml(TESTDATA_BASE + "xslt.xml");
- Transform tr = transformParser.parseTransform(xslt.getDocumentElement());
- Transformation trXslt = factory.createTransformation(tr);
-
- Document xsltEqu = parseXml(TESTDATA_BASE + "xsltEqual.xml");
- tr = transformParser.parseTransform(xsltEqu.getDocumentElement());
- Transformation trXsltEqu = factory.createTransformation(tr);
-
- Document xsltDiff = parseXml(TESTDATA_BASE + "xsltDifferent.xml");
- tr = transformParser.parseTransform(xsltDiff.getDocumentElement());
- Transformation trXsltDiff = factory.createTransformation(tr);
-
- Document canonicalization =
- parseXml(TESTDATA_BASE + "canonicalization.xml");
-
- assertTrue(trXslt.equals(trXsltEqu));
- assertFalse(trXslt.equals(trXsltDiff));
- assertFalse(trXsltEqu.equals(trXsltDiff));
- assertEquals(trXslt.hashCode(), trXsltEqu.hashCode());
- assertFalse(trXslt.hashCode() == trXsltDiff.hashCode());
- assertFalse(trXsltEqu.hashCode() == trXsltDiff.hashCode());
- assertFalse(trXslt.equals(canonicalization));
- }
-
- public void testEqualsXPath() throws Exception {
- Document xpath = parseXml(TESTDATA_BASE + "xpath.xml");
- Transform tr = transformParser.parseTransform(xpath.getDocumentElement());
- Transformation trXpath = factory.createTransformation(tr);
- Transformation trXpathEqu = factory.createTransformation(tr);
-
- Document xpathDiff = parseXml(TESTDATA_BASE + "xpathDifferent.xml");
- tr = transformParser.parseTransform(xpathDiff.getDocumentElement());
- Transformation trXpathDiff = factory.createTransformation(tr);
-
- assertTrue(trXpath.equals(trXpathEqu));
- assertEquals(trXpath.hashCode(), trXpathEqu.hashCode());
- assertFalse(trXpath.equals(trXpathDiff));
- assertFalse(trXpath.hashCode() == trXpathDiff.hashCode());
- }
-
- public void testEqualsXPath2() throws Exception {
- Document xpath2 = parseXml(TESTDATA_BASE + "xpath2.xml");
- Transform tr = transformParser.parseTransform(xpath2.getDocumentElement());
- Transformation trXpath2 = factory.createTransformation(tr);
- Transformation trXpath2Equ = factory.createTransformation(tr);
-
- Document xpath2Diff = parseXml(TESTDATA_BASE + "xpath2Different.xml");
- tr = transformParser.parseTransform(xpath2Diff.getDocumentElement());
- Transformation trXpath2Diff = factory.createTransformation(tr);
-
- assertTrue(trXpath2.equals(trXpath2Equ));
- assertEquals(trXpath2.hashCode(), trXpath2Equ.hashCode());
- assertFalse(trXpath2.equals(trXpath2Diff));
- assertFalse(trXpath2.hashCode() == trXpath2Diff.hashCode());
- }
-
- public void testCreateTransformationList() throws Exception {
- Document transforms = parseXml(TESTDATA_BASE + "transforms.xml");
- List trs = transformParser.parseTransforms(transforms.getDocumentElement());
- List transformationList = factory.createTransformationList(trs);
-
- assertEquals(3, transformationList.size());
- }
-
-}
diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java
deleted file mode 100644
index 28cd3805a..000000000
--- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package test.at.gv.egovernment.moa.spss.server.invoke;
-
-import java.util.Collections;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-import test.at.gv.egovernment.moa.spss.SPSSTestCase;
-
-import at.gv.egovernment.moa.util.DOMUtils;
-
-import at.gv.egovernment.moa.spss.api.xmlbind.CreateXMLSignatureRequestParser;
-import at.gv.egovernment.moa.spss.api.xmlbind.CreateXMLSignatureResponseBuilder;
-import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest;
-import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse;
-import at.gv.egovernment.moa.spss.server.invoke.XMLSignatureCreationInvoker;
-
-/**
- * Mainly a smoke test for debugging the XMLSignatureCreationInvoker.
- *
- * @author Patrick Peck
- * @version $Id$
- */
-public class XMLSignatureCreationInvokerTest extends SPSSTestCase {
- private static final String TESTDATA_BASE =
- TESTDATA_ROOT + "xml/CreateXMLSignature/";
-
- public XMLSignatureCreationInvokerTest(String name) {
- super(name);
- }
-
- protected void setUp() throws Exception {
- setUpTransactionContext();
- setUpLoggingContext();
- setUpIaikConfiguration();
- setUpSSL();
- }
-
- public void testCreateXMLSignature() throws Exception {
- try {
- XMLSignatureCreationInvoker invoker =
- XMLSignatureCreationInvoker.getInstance();
- CreateXMLSignatureRequestParser requestParser =
- new CreateXMLSignatureRequestParser();
- Document doc =
- SPSSTestCase.parseXmlValidating(
- TESTDATA_BASE + "TestGeneratorCX2.004.Req.xml");
- CreateXMLSignatureRequest request =
- requestParser.parse(doc.getDocumentElement());
- CreateXMLSignatureResponse response =
- invoker.createXMLSignature(request, Collections.EMPTY_SET);
- CreateXMLSignatureResponseBuilder responseBuilder =
- new CreateXMLSignatureResponseBuilder();
- Element result = responseBuilder.build(response).getDocumentElement();
-
- System.out.println(DOMUtils.serializeNode(result));
- } catch (Exception e) {
- e.printStackTrace();
- fail();
- }
- }
-
-}
diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java
deleted file mode 100644
index 56e3d541b..000000000
--- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package test.at.gv.egovernment.moa.spss.server.invoke;
-
-import org.w3c.dom.Document;
-
-import test.at.gv.egovernment.moa.spss.SPSSTestCase;
-
-import at.gv.egovernment.moa.util.DOMUtils;
-
-import at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureRequestParser;
-import at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureResponseBuilder;
-import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest;
-import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse;
-import at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationInvoker;
-
-/**
- * Mainly a smoke test for debugging the XMLSignatureVerificationInvoker.
- *
- * @author Patrick Peck
- * @version $Id$
- */
-public class XMLSignatureVerificationInvokerTest extends SPSSTestCase {
- private static final String TESTDATA_BASE =
- TESTDATA_ROOT + "xml/VerifyXMLSignature/";
-
- public XMLSignatureVerificationInvokerTest(String name) {
- super(name);
- }
-
- protected void setUp() throws Exception {
- setUpTransactionContext();
- setUpLoggingContext();
- setUpIaikConfiguration();
- }
-
- public void testVerifyXMLSignature() throws Exception {
- try {
- XMLSignatureVerificationInvoker invoker =
- XMLSignatureVerificationInvoker.getInstance();
- VerifyXMLSignatureRequestParser requestParser =
- new VerifyXMLSignatureRequestParser();
- VerifyXMLSignatureResponseBuilder responseBuilder =
- new VerifyXMLSignatureResponseBuilder();
- Document doc =
- SPSSTestCase.parseXmlValidating(
- TESTDATA_BASE + "TestGeneratorVX.201.Req.xml");
-
- VerifyXMLSignatureRequest request =
- requestParser.parse(doc.getDocumentElement());
- VerifyXMLSignatureResponse response;
-
- response = invoker.verifyXMLSignature(request);
- System.out.println(
- DOMUtils.serializeNode(responseBuilder.build(response)));
- } catch (Exception e) {
- e.printStackTrace();
- fail();
- }
- }
-
-
-}
diff --git a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java b/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java
deleted file mode 100644
index b46c20086..000000000
--- a/spss/server/serverlib/src/test/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package test.at.gv.egovernment.moa.spss.server.tools;
-
-import java.io.ByteArrayOutputStream;
-import java.io.PrintStream;
-
-import at.gv.egovernment.moa.spss.server.tools.CertTool;
-
-import test.at.gv.egovernment.moa.MOATestCase;
-
-/**
- * Tests for the CertTool.
- *
- * @author Patrick Peck
- * @version $Id$
- */
-public class CertToolTest extends MOATestCase {
-
- private static final String EXPECTED_RESULT =
- "SubjectDN (RFC2253):"
- + " CN=Patrick Peck,OU=MOA Team,O=BRZ,L=Vienna,ST=Vienna,C=AT\r\n"
- + "IssuerDN (RFC2253) :"
- + " CN=Patrick Peck,OU=MOA Team,O=BRZ,L=Vienna,ST=Vienna,C=AT\r\n"
- + "Serial Number :"
- + " 1047548672\r\n";
- private CertTool certTool;
-
- /**
- * Constructor for CertToolTest.
- * @param name
- */
- public CertToolTest(String name) {
- super(name);
- }
-
- protected void setUp() {
- certTool = new CertTool();
- }
-
- public void testPrintCertInfo() {
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- PrintStream ps = new PrintStream(bos);
- String result;
-
- certTool.printCertInfo(TESTDATA_ROOT + "security/server.cer", ps);
- result = new String(bos.toByteArray());
- System.out.println(result);
- assertEquals(EXPECTED_RESULT, result);
- }
-
-}
diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/AllTests.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/AllTests.java
new file mode 100644
index 000000000..c670b5e55
--- /dev/null
+++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/AllTests.java
@@ -0,0 +1,40 @@
+package test.at.gv.egovernment.moa.spss;
+
+import test.at.gv.egovernment.moa.spss.server.iaik.config.ConfigurationDataImplTest;
+import test.at.gv.egovernment.moa.spss.server.iaik.config.IaikConfiguratorTest;
+import test.at.gv.egovernment.moa.spss.server.tools.CertToolTest;
+
+import junit.awtui.TestRunner;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * Test suite for all unit tests.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class AllTests {
+
+ public static Test suite() {
+ TestSuite suite = new TestSuite();
+
+ suite.addTestSuite(test.at.gv.egovernment.moa.spss.server.config.AllTests.class);
+ suite.addTestSuite(ConfigurationDataImplTest.class);
+ suite.addTestSuite(IaikConfiguratorTest.class);
+ suite.addTest(
+ test.at.gv.egovernment.moa.spss.server.invoke.AllTests.suite());
+ suite.addTest(test.at.gv.egovernment.moa.spss.api.xmlbind.AllTests.suite());
+ suite.addTestSuite(CertToolTest.class);
+
+ return suite;
+ }
+
+ public static void main(String[] args) {
+ try {
+ TestRunner.run(AllTests.class);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/SPSSTestCase.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/SPSSTestCase.java
new file mode 100644
index 000000000..a585e30a0
--- /dev/null
+++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/SPSSTestCase.java
@@ -0,0 +1,82 @@
+package test.at.gv.egovernment.moa.spss;
+
+import java.security.Security;
+
+import test.at.gv.egovernment.moa.MOATestCase;
+
+import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.logging.LoggingContext;
+import at.gv.egovernment.moa.logging.LoggingContextManager;
+import at.gv.egovernment.moa.util.MessageProvider;
+
+import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider;
+import at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator;
+import at.gv.egovernment.moa.spss.server.transaction.TransactionContext;
+import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager;
+
+/**
+ * Base class for MOA test cases.
+ *
+ * Provides some utility functions.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class SPSSTestCase extends MOATestCase {
+
+ protected static final String TESTDATA_ROOT = "data/test/";
+
+ /**
+ * Constructor for MOATestCase.
+ * @param arg0
+ */
+ public SPSSTestCase(String name) {
+ super(name);
+ }
+
+ /**
+ * Set up a transaction context with a test configuration.
+ */
+ protected void setUpTransactionContext() throws Exception {
+ System.setProperty(
+ ConfigurationProvider.CONFIG_PROPERTY_NAME,
+ "data/test/conf/moa-spss/MOA-SPSSConfiguration.xml");
+ ConfigurationProvider config = ConfigurationProvider.getInstance();
+ TransactionContext context = new TransactionContext("test", null, config);
+ TransactionContextManager.getInstance().setTransactionContext(context);
+ }
+
+ protected void setUpLoggingContext() throws Exception {
+ LoggingContext context = new LoggingContext("test");
+ LoggingContextManager.getInstance().setLoggingContext(context);
+ }
+
+ /**
+ * Configure the IAIK modules with the current configuration.
+ *
+ * A TransactionContext must have been set up before.
+ */
+ protected void setUpIaikConfiguration() throws Exception {
+ TransactionContext context =
+ TransactionContextManager.getInstance().getTransactionContext();
+ ClassLoader cl = getClass().getClassLoader();
+ MessageProvider msg = MessageProvider.getInstance();
+
+ try {
+ cl.loadClass("javax.security.cert.Certificate"); // from jcert.jar
+ } catch (ClassNotFoundException e) {
+ Logger.warn(msg.getMessage("init.03", null), e);
+ }
+
+ new IaikConfigurator().configure(context.getConfiguration());
+ }
+
+ protected void setUpSSL() throws Exception {
+ //System.setProperty("javax.net.debug", "all");
+ Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
+ System.setProperty(
+ "java.protocol.handler.pkgs",
+ "com.sun.net.ssl.internal.www.protocol");
+ }
+
+}
diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java
new file mode 100644
index 000000000..28f79729e
--- /dev/null
+++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java
@@ -0,0 +1,24 @@
+package test.at.gv.egovernment.moa.spss.api.xmlbind;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * Runs all tests in this package.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class AllTests {
+ public static Test suite() {
+ TestSuite suite = new TestSuite();
+
+ suite.addTestSuite(CreateXMLSignatureRequestParserTest.class);
+ suite.addTestSuite(TransformParserTest.class);
+ suite.addTestSuite(VerifyCMSSignatureRequestParserTest.class);
+ suite.addTestSuite(VerifyXMLSignatureRequestParserTest.class);
+
+ return suite;
+ }
+
+}
diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java
new file mode 100644
index 000000000..7ce705b01
--- /dev/null
+++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java
@@ -0,0 +1,71 @@
+package test.at.gv.egovernment.moa.spss.api.xmlbind;
+
+import org.w3c.dom.Element;
+
+import test.at.gv.egovernment.moa.spss.SPSSTestCase;
+
+import at.gv.egovernment.moa.spss.api.xmlbind.CreateXMLSignatureRequestParser;
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateSignatureEnvironmentProfileExplicit;
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateTransformsInfoProfileExplicit;
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest;
+import at.gv.egovernment.moa.spss.api.xmlsign.DataObjectInfo;
+import at.gv.egovernment.moa.spss.api.xmlsign.SingleSignatureInfo;
+
+/**
+ * Test the CreateXMLSignatureRequestParser.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class CreateXMLSignatureRequestParserTest extends SPSSTestCase {
+ private static final String TESTDATA_BASE =
+ TESTDATA_ROOT + "xml/CreateXMLSignature/";
+
+ private CreateXMLSignatureRequestParser requestParser;
+
+ public CreateXMLSignatureRequestParserTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ requestParser = new CreateXMLSignatureRequestParser();
+ }
+
+ public void testParse() throws Exception {
+ Element requestElem =
+ parseXml(TESTDATA_BASE + "TestGeneratorCX2.001.Req.xml")
+ .getDocumentElement();
+ CreateXMLSignatureRequest request = requestParser.parse(requestElem);
+ SingleSignatureInfo sigInfo;
+ DataObjectInfo dataObjInfo;
+ CreateTransformsInfoProfileExplicit transProfile;
+ CreateSignatureEnvironmentProfileExplicit envProfile;
+
+ assertNotNull(request);
+ assertEquals("PKCS12RSAKey1", request.getKeyIdentifier());
+ assertEquals(1, request.getSingleSignatureInfos().size());
+
+ sigInfo = (SingleSignatureInfo) request.getSingleSignatureInfos().get(0);
+ assertEquals(1, sigInfo.getDataObjectInfos().size());
+ assertFalse(sigInfo.isSecurityLayerConform());
+
+ dataObjInfo = (DataObjectInfo) sigInfo.getDataObjectInfos().get(0);
+ assertNotNull(dataObjInfo.getDataObject());
+
+ transProfile =
+ (CreateTransformsInfoProfileExplicit) dataObjInfo
+ .getCreateTransformsInfoProfile();
+ assertNotNull(
+ transProfile.getCreateTransformsInfo().getFinalDataMetaInfo());
+
+ envProfile =
+ (CreateSignatureEnvironmentProfileExplicit) sigInfo
+ .getCreateSignatureInfo()
+ .getCreateSignatureEnvironmentProfile();
+ assertEquals(
+ "//data:Document",
+ envProfile.getCreateSignatureLocation().getXPathExpression());
+ assertEquals(0, envProfile.getCreateSignatureLocation().getIndex());
+ }
+
+}
diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java
new file mode 100644
index 000000000..f580f86bc
--- /dev/null
+++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java
@@ -0,0 +1,113 @@
+package test.at.gv.egovernment.moa.spss.api.xmlbind;
+
+import java.util.List;
+
+import org.w3c.dom.Element;
+
+import test.at.gv.egovernment.moa.spss.SPSSTestCase;
+
+import at.gv.egovernment.moa.spss.api.common.CanonicalizationTransform;
+import at.gv.egovernment.moa.spss.api.common.EnvelopedSignatureTransform;
+import at.gv.egovernment.moa.spss.api.common.ExclusiveCanonicalizationTransform;
+import at.gv.egovernment.moa.spss.api.common.XPathFilter2Transform;
+import at.gv.egovernment.moa.spss.api.common.XPathTransform;
+import at.gv.egovernment.moa.spss.api.common.XSLTTransform;
+import at.gv.egovernment.moa.spss.api.xmlbind.TransformParser;
+
+/**
+ * Test the TransformParser.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class TransformParserTest extends SPSSTestCase {
+ private static String TESTDATA_BASE = TESTDATA_ROOT + "xml/dsigTransform/";
+
+ private TransformParser transformParser;
+
+ public TransformParserTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() {
+ transformParser = new TransformParser();
+ }
+
+ public void testParseTransforms() throws Exception {
+ Element transformsElem =
+ parseXml(TESTDATA_BASE + "transforms.xml").getDocumentElement();
+ List transforms = transformParser.parseTransforms(transformsElem);
+
+ assertNotNull(transforms);
+ assertEquals(3, transforms.size());
+
+ }
+
+ public void testParseCanonicalizationTransform() throws Exception {
+ Element transformElem =
+ parseXml(TESTDATA_BASE + "canonicalization.xml").getDocumentElement();
+ CanonicalizationTransform transform =
+ (CanonicalizationTransform) transformParser.parseTransform(transformElem);
+
+ assertNotNull(transform);
+ assertEquals(
+ CanonicalizationTransform.CANONICAL_XML,
+ transform.getAlgorithmURI());
+ }
+
+ public void testParseExclCanonicalizationTransform() throws Exception {
+ Element transformElem =
+ parseXml(TESTDATA_BASE + "exclusiveCanonicalization.xml")
+ .getDocumentElement();
+ ExclusiveCanonicalizationTransform transform =
+ (ExclusiveCanonicalizationTransform) transformParser.parseTransform(
+ transformElem);
+
+ assertNotNull(transform);
+ assertEquals(
+ ExclusiveCanonicalizationTransform.EXCLUSIVE_CANONICAL_XML,
+ transform.getAlgorithmURI());
+ assertEquals(3, transform.getInclusiveNamespacePrefixes().size());
+ }
+
+ public void testParseEnvelopedTransform() throws Exception {
+ Element transformElem =
+ parseXml(TESTDATA_BASE + "enveloped.xml").getDocumentElement();
+ EnvelopedSignatureTransform transform =
+ (EnvelopedSignatureTransform) transformParser.parseTransform(
+ transformElem);
+
+ assertNotNull(transform);
+ }
+
+ public void testParseXPathTransform() throws Exception {
+ Element transformElem =
+ parseXml(TESTDATA_BASE + "xpath.xml").getDocumentElement();
+ XPathTransform transform =
+ (XPathTransform) transformParser.parseTransform(transformElem);
+
+ assertNotNull(transform);
+ assertEquals("//ToBeSigned/Data", transform.getXPathExpression());
+ assertEquals(1, transform.getNamespaceDeclarations().size());
+ }
+
+ public void testParseXPathFilter2Transform() throws Exception {
+ Element transformElem =
+ parseXml(TESTDATA_BASE + "xpath2.xml").getDocumentElement();
+ XPathFilter2Transform transform =
+ (XPathFilter2Transform) transformParser.parseTransform(transformElem);
+
+ assertNotNull(transform);
+ assertEquals(3, transform.getFilters().size());
+ }
+
+ public void testParseXSLTTransform() throws Exception {
+ Element transformElem =
+ parseXml(TESTDATA_BASE + "xslt.xml").getDocumentElement();
+ XSLTTransform transform =
+ (XSLTTransform) transformParser.parseTransform(transformElem);
+
+ assertNotNull(transform);
+ }
+
+}
diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java
new file mode 100644
index 000000000..4be7667eb
--- /dev/null
+++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java
@@ -0,0 +1,61 @@
+package test.at.gv.egovernment.moa.spss.api.xmlbind;
+
+import org.w3c.dom.Element;
+
+import at.gv.egovernment.moa.util.DateTimeUtils;
+
+import test.at.gv.egovernment.moa.spss.SPSSTestCase;
+
+import at.gv.egovernment.moa.spss.api.cmsverify.CMSContentExcplicit;
+import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest;
+import at.gv.egovernment.moa.spss.api.common.MetaInfo;
+import at.gv.egovernment.moa.spss.api.xmlbind.VerifyCMSSignatureRequestParser;
+
+/**
+ * Test the VerifyCMSSignatureRequestParserTest.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class VerifyCMSSignatureRequestParserTest extends SPSSTestCase {
+ private static String TESTDATA_BASE =
+ TESTDATA_ROOT + "xml/VerifyCMSSignature/";
+
+ private VerifyCMSSignatureRequestParser requestParser;
+
+ public VerifyCMSSignatureRequestParserTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ requestParser = new VerifyCMSSignatureRequestParser();
+ }
+
+ public void testParse() throws Exception {
+ Element requestElem =
+ parseXml(TESTDATA_BASE + "TestGeneratorVC0.001.Req.xml")
+ .getDocumentElement();
+ VerifyCMSSignatureRequest request = requestParser.parse(requestElem);
+ MetaInfo metaInfo;
+ CMSContentExcplicit content;
+
+ assertNotNull(request);
+ assertEquals(1, request.getSignatories()[0]);
+ assertEquals(
+ DateTimeUtils.parseDateTime("2003-04-04T09:30:47-05:00"),
+ request.getDateTime());
+ assertNotNull(request.getCMSSignature());
+ assertNotNull(request.getDataObject());
+ assertEquals("TrustProfile1", request.getTrustProfileId());
+
+ metaInfo = request.getDataObject().getMetaInfo();
+ assertNotNull(metaInfo);
+ assertEquals("text/plain", metaInfo.getMimeType());
+ assertEquals("http://10.16.46.109/TestDatenGenerator/resources/testDaten.txt", metaInfo.getDescription());
+
+ content = (CMSContentExcplicit) request.getDataObject().getContent();
+ assertNotNull(content.getBinaryContent());
+
+ }
+
+}
diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java
new file mode 100644
index 000000000..3b8e8b00e
--- /dev/null
+++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java
@@ -0,0 +1,81 @@
+package test.at.gv.egovernment.moa.spss.api.xmlbind;
+
+import org.w3c.dom.Element;
+
+import test.at.gv.egovernment.moa.spss.SPSSTestCase;
+
+import at.gv.egovernment.moa.util.DateTimeUtils;
+
+import at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureRequestParser;
+import at.gv.egovernment.moa.spss.api.xmlverify.ReferenceInfo;
+import at.gv.egovernment.moa.spss.api.xmlverify.SignatureManifestCheckParams;
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureInfo;
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifySignatureLocation;
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifyTransformsInfoProfileExplicit;
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest;
+
+/**
+ * Test the VerifyXMLSignatureRequestParserTest.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class VerifyXMLSignatureRequestParserTest extends SPSSTestCase {
+ private static String TESTDATA_BASE =
+ TESTDATA_ROOT + "xml/VerifyXMLSignature/";
+
+ private VerifyXMLSignatureRequestParser parser;
+
+ public VerifyXMLSignatureRequestParserTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ parser = new VerifyXMLSignatureRequestParser();
+ }
+
+ public void testParse() throws Exception {
+ Element requestElem =
+ parseXml(TESTDATA_BASE + "TestGeneratorVX.201.Req.xml")
+ .getDocumentElement();
+ VerifyXMLSignatureRequest request = parser.parse(requestElem);
+ VerifySignatureInfo verifySignatureInfo;
+ VerifySignatureLocation verifyLocation;
+ SignatureManifestCheckParams checkParams;
+ ReferenceInfo refInfo;
+ VerifyTransformsInfoProfileExplicit transformsProfile;
+
+ assertNotNull(request);
+ assertEquals(
+ DateTimeUtils.parseDateTime("2003-04-01T12:53:57+01:00"),
+ request.getDateTime());
+ assertFalse(request.getReturnHashInputData());
+ assertEquals("TrustProfile1", request.getTrustProfileId());
+
+ verifySignatureInfo = request.getSignatureInfo();
+ assertNotNull(verifySignatureInfo);
+ assertNotNull(verifySignatureInfo.getVerifySignatureEnvironment());
+
+ verifyLocation = verifySignatureInfo.getVerifySignatureLocation();
+ assertNotNull(verifyLocation);
+ assertEquals("//dsig:Signature", verifyLocation.getXPathExpression());
+ assertEquals(3, verifyLocation.getNamespaceDeclarations().size());
+
+ checkParams = request.getSignatureManifestCheckParams();
+ assertNotNull(checkParams);
+ assertEquals(true, checkParams.getReturnReferenceInputData());
+ assertEquals(1, checkParams.getReferenceInfos().size());
+
+ refInfo = (ReferenceInfo) checkParams.getReferenceInfos().get(0);
+ assertEquals(1, refInfo.getVerifyTransformsInfoProfiles().size());
+
+ transformsProfile =
+ (VerifyTransformsInfoProfileExplicit) refInfo
+ .getVerifyTransformsInfoProfiles()
+ .get(0);
+ assertEquals(1, transformsProfile.getTransforms().size());
+ assertEquals(1, transformsProfile.getTransformParameters().size());
+
+ }
+
+}
diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/AllTests.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/AllTests.java
new file mode 100644
index 000000000..131f38c19
--- /dev/null
+++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/AllTests.java
@@ -0,0 +1,20 @@
+package test.at.gv.egovernment.moa.spss.server.config;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * @author Gregor Karlinger
+ * @version $Id$
+ */
+public class AllTests
+{
+ public static Test suite()
+ {
+ TestSuite suite = new TestSuite();
+ suite.addTestSuite(ConfigurationProviderTest1.class);
+ suite.addTestSuite(ConfigurationProviderTest2.class);
+ suite.addTestSuite(ConfigurationProviderTest3.class);
+ return suite;
+ }
+}
diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest1.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest1.java
new file mode 100644
index 000000000..474a387ad
--- /dev/null
+++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest1.java
@@ -0,0 +1,377 @@
+package test.at.gv.egovernment.moa.spss.server.config;
+
+import iaik.asn1.structures.Name;
+import iaik.pki.pathvalidation.ChainingModes;
+import iaik.utils.RFC2253NameParser;
+import iaik.utils.RFC2253NameParserException;
+import iaik.x509.X509Certificate;
+
+import java.math.BigInteger;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import junit.framework.TestCase;
+
+import org.w3c.dom.Element;
+
+import at.gv.egovernment.moa.spss.MOAException;
+import at.gv.egovernment.moa.spss.server.config.CRLDistributionPoint;
+import at.gv.egovernment.moa.spss.server.config.ConfigurationException;
+import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider;
+import at.gv.egovernment.moa.spss.server.config.HardwareCryptoModule;
+import at.gv.egovernment.moa.spss.server.config.HardwareKeyModule;
+import at.gv.egovernment.moa.spss.server.config.KeyGroup;
+import at.gv.egovernment.moa.spss.server.config.KeyGroupEntry;
+import at.gv.egovernment.moa.spss.server.config.OCSPDistributionPoint;
+import at.gv.egovernment.moa.spss.server.config.SoftwareKeyModule;
+import at.gv.egovernment.moa.spss.server.config.TrustProfile;
+import at.gv.egovernment.moa.util.Constants;
+
+/**
+ * @author Gregor Karlinger
+ * @version $Id$
+ */
+public class ConfigurationProviderTest1 extends TestCase
+{
+ private static final String CONFIG_BASE_ =
+ "e:/cio/projekte/basismodule/wartung/projekt/spss.server/res/test/resources/config/";
+
+ static at.gv.egovernment.moa.spss.server.config.ConfigurationProvider provider_;
+
+ static
+ {
+ System.setProperty(
+ "log4j.configuration",
+ "file:/" + CONFIG_BASE_ + "log4j.properties");
+ System.setProperty(
+ at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.CONFIG_PROPERTY_NAME,
+ CONFIG_BASE_ + "moa.spss.complete-config.xml");
+ try
+ {
+ ConfigurationProvider.reload();
+ provider_ = at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.getInstance();
+ }
+ catch (ConfigurationException e)
+ {
+ throw new RuntimeException("Fehler beim Setup des Tests: " + e.getMessage());
+ }
+ }
+
+ /**
+ * Constructor for ConfigurationProvider.
+ * @param arg0
+ */
+ public ConfigurationProviderTest1() throws MOAException
+ {
+ super("ConfigurationProvider");
+ }
+
+ public void testGetWarnings()
+ {
+ assertEquals(0, provider_.getWarnings().size());
+ }
+
+ public void testGetDigestMethodAlgorithmName()
+ {
+ assertEquals(
+ Constants.SHA1_URI,
+ provider_.getDigestMethodAlgorithmName());
+ }
+
+ public void testGetCanonicalizationAlgorithmName()
+ {
+ assertEquals(
+ Constants.C14N_WITH_COMMENTS_URI,
+ provider_.getCanonicalizationAlgorithmName());
+ }
+
+ public void testGetHardwareCryptoModules()
+ {
+ List hwcms = provider_.getHardwareCryptoModules();
+ assertEquals(2, hwcms.size());
+
+ HardwareCryptoModule hwc1 = (HardwareCryptoModule) hwcms.get(0);
+ assertEquals("HWC1_Name", hwc1.getName());
+ assertEquals("HWC1_SlotId", hwc1.getSlotID());
+ assertEquals("HWC1_UserPIN", hwc1.getUserPIN());
+
+ HardwareCryptoModule hwc2 = (HardwareCryptoModule) hwcms.get(1);
+ assertEquals("HWC2_Name", hwc2.getName());
+ assertNull(hwc2.getSlotID());
+ assertEquals("HWC2_UserPIN", hwc2.getUserPIN());
+ }
+
+ public void testGetHardwareKeyModules()
+ {
+ List hwkms = provider_.getHardwareKeyModules();
+ assertEquals(2, hwkms.size());
+
+ HardwareKeyModule hwk1 = (HardwareKeyModule) hwkms.get(0);
+ assertEquals("HWK1_Id", hwk1.getId());
+ assertEquals("HWK1_Name", hwk1.getName());
+ assertEquals("HWK1_SlotId", hwk1.getSlotID());
+ assertEquals("HWK1_UserPIN", hwk1.getUserPIN());
+
+ HardwareKeyModule hwk2 = (HardwareKeyModule) hwkms.get(1);
+ assertEquals("HWK2_Id", hwk2.getId());
+ assertEquals("HWK2_Name", hwk2.getName());
+ assertNull(hwk2.getSlotID());
+ assertEquals("HWK2_UserPIN", hwk2.getUserPIN());
+ }
+
+ public void testGetSoftwareKeyModules()
+ {
+ List swkms = provider_.getSoftwareKeyModules();
+ assertEquals(2, swkms.size());
+
+ SoftwareKeyModule swk1 = (SoftwareKeyModule) swkms.get(0);
+ assertEquals("SWK1_Id", swk1.getId());
+ assertEquals(CONFIG_BASE_ + "swk/SWK1_FileName.txt", swk1.getFileName().replace('\\', '/'));
+ assertEquals("SWK1_Password", swk1.getPassWord());
+
+ SoftwareKeyModule swk2 = (SoftwareKeyModule) swkms.get(1);
+ assertEquals("SWK2_Id", swk2.getId());
+ assertEquals(CONFIG_BASE_ + "swk/SWK2_FileName.txt", swk2.getFileName().replace('\\', '/'));
+ assertNull(swk2.getPassWord());
+ }
+
+ public void testGetKeyGroups()
+ {
+ Map keyGroups = provider_.getKeyGroups();
+ assertEquals(2, keyGroups.size());
+
+ KeyGroup kg1 = (KeyGroup) keyGroups.get("KG1_Id");
+ assertNotNull(kg1);
+ assertEquals("KG1_Id", kg1.getId());
+
+ Set kg1Entries = kg1.getKeyGroupEntries();
+ assertEquals(2, kg1Entries.size());
+
+ Iterator kg1EntriesIt = kg1Entries.iterator();
+ while(kg1EntriesIt.hasNext())
+ {
+ KeyGroupEntry currentEntry = (KeyGroupEntry)kg1EntriesIt.next();
+ if ("HWK1_Id".equals(currentEntry.getModuleID()))
+ {
+ assertEquals("CN=HWK1_Issuer", currentEntry.getIssuerDN());
+ assertEquals(0, currentEntry.getSerialNumber().intValue());
+ }
+ else if ("HWK2_Id".equals(currentEntry.getModuleID()))
+ {
+ assertEquals("CN=HWK2_Issuer", currentEntry.getIssuerDN());
+ assertEquals(1, currentEntry.getSerialNumber().intValue());
+ }
+ else fail("Invalid module identifer found.");
+ }
+
+ KeyGroup kg2 = (KeyGroup) keyGroups.get("KG2_Id");
+ assertNotNull(kg2);
+ assertEquals("KG2_Id", kg2.getId());
+
+ Set kg2Entries = kg2.getKeyGroupEntries();
+ assertEquals(2, kg2Entries.size());
+
+ Iterator kg2EntriesIt = kg1Entries.iterator();
+ while(kg1EntriesIt.hasNext())
+ {
+ KeyGroupEntry currentEntry = (KeyGroupEntry)kg2EntriesIt.next();
+ if ("SWK1_Id".equals(currentEntry.getModuleID()))
+ {
+ assertEquals("CN=CN=SWK1_Issuer", currentEntry.getIssuerDN());
+ assertEquals(2, currentEntry.getSerialNumber().intValue());
+ }
+ else if ("SWK2_Id".equals(currentEntry.getModuleID()))
+ {
+ assertEquals("CN=SWK2_Issuer", currentEntry.getIssuerDN());
+ assertEquals(3, currentEntry.getSerialNumber().intValue());
+ }
+ else fail("Invalid module identifer found.");
+ }
+ }
+
+ public void testGetKeyGroupEntries() throws RFC2253NameParserException
+ {
+ RFC2253NameParser parser = new RFC2253NameParser("CN=Customer1_Issuer");
+ Name name = parser.parse();
+ Set kgEntries = provider_.getKeyGroupEntries(name, BigInteger.valueOf(4), "KG1_Id");
+ assertEquals(2, kgEntries.size());
+
+ Iterator kgEntriesIt = kgEntries.iterator();
+ while (kgEntriesIt.hasNext())
+ {
+ KeyGroupEntry currentEntry = (KeyGroupEntry) kgEntriesIt.next();
+ if (!"HWK1_Id".equals(currentEntry.getModuleID()) && !"HWK2_Id".equals(currentEntry.getModuleID()))
+ {
+ fail("Invalid module identifier found.");
+ }
+ }
+ }
+
+ public void testGetChainingMode() throws RFC2253NameParserException
+ {
+ X509Certificate cert = new X509Certificate();
+ RFC2253NameParser parser = new RFC2253NameParser("CN=Unknown");
+ Name name = parser.parse();
+ cert.setIssuerDN(name);
+ cert.setSerialNumber(BigInteger.valueOf(0));
+ assertEquals(ChainingModes.PKIX_MODE, provider_.getChainingMode(cert)); // Default chaining mode
+
+ parser = new RFC2253NameParser("CN=TA1_Issuer");
+ name = parser.parse();
+ cert.setIssuerDN(name);
+ cert.setSerialNumber(BigInteger.valueOf(5));
+ assertEquals(ChainingModes.CHAIN_MODE, provider_.getChainingMode(cert));
+ }
+
+ public void testGetDistributionPoints() throws RFC2253NameParserException
+ {
+ X509Certificate cert = new X509Certificate();
+ RFC2253NameParser parser = new RFC2253NameParser("CN=DP1_Issuer");
+ Name name = parser.parse();
+ cert.setIssuerDN(name);
+
+ Set dps = provider_.getDistributionPoints(cert);
+ assertEquals(2, dps.size());
+
+ Iterator dpIt = dps.iterator();
+ while (dpIt.hasNext())
+ {
+ CRLDistributionPoint currentDP = (CRLDistributionPoint)dpIt.next();
+ if ("http://crl.myca.org".equals(currentDP.getUri()))
+ {
+ int reasonCodes =
+ iaik.asn1.structures.DistributionPoint.unused |
+ iaik.asn1.structures.DistributionPoint.keyCompromise |
+ iaik.asn1.structures.DistributionPoint.cACompromise |
+ iaik.asn1.structures.DistributionPoint.affiliationChanged |
+ iaik.asn1.structures.DistributionPoint.superseded |
+ iaik.asn1.structures.DistributionPoint.cessationOfOperation |
+ iaik.asn1.structures.DistributionPoint.certificateHold |
+ iaik.asn1.structures.DistributionPoint.privilegeWithdrawn |
+ iaik.asn1.structures.DistributionPoint.aACompromise;
+ assertEquals(reasonCodes, currentDP.getReasonCodes());
+ }
+ else if ("http://crl.myotherca.org".equals(currentDP.getUri()))
+ {
+ int reasonCodes =
+ iaik.asn1.structures.DistributionPoint.aACompromise |
+ iaik.asn1.structures.DistributionPoint.affiliationChanged;
+ assertEquals(reasonCodes, currentDP.getReasonCodes());
+ }
+ else fail("Invalid CRL DP URI found: " + currentDP.getUri());
+ }
+
+ parser = new RFC2253NameParser("CN=DP2_Issuer");
+ name = parser.parse();
+ cert.setIssuerDN(name);
+
+ dps = provider_.getDistributionPoints(cert);
+ assertEquals(1, dps.size());
+
+ OCSPDistributionPoint dpo = (OCSPDistributionPoint) dps.toArray()[0];
+ assertEquals("http://crl.yetanotherca.org", dpo.getUri());
+ }
+
+ public void testGetCRLArchiveDuration()
+ {
+ assertEquals(730, provider_.getCRLArchiveDuration());
+ }
+
+ public void testGetEnableRevocationArchiving()
+ {
+ assertFalse(provider_.getEnableRevocationArchiving());
+ }
+
+ public void testGetCertStoreLocation()
+ {
+ assertEquals(
+ CONFIG_BASE_ + "certstore_test",
+ provider_.getCertStoreLocation().replace('\\', '/'));
+ }
+
+ public void testGetCreateTransformsInfoProfile()
+ {
+ Element ctip1 = provider_.getCreateTransformsInfoProfile("CTIP_1");
+ assertEquals("CreateTransformsInfoProfile", ctip1.getLocalName());
+
+ Element ctip2 = provider_.getCreateTransformsInfoProfile("CTIP_2");
+ assertEquals("CreateTransformsInfoProfile", ctip2.getLocalName());
+ }
+
+ public void testGetCreateSignatureEnvironmentProfile()
+ {
+ Element csep = provider_.getCreateSignatureEnvironmentProfile("CSEP_1");
+ assertEquals("CreateSignatureEnvironmentProfile", csep.getLocalName());
+ }
+
+ public void testGetVerifyTransformsInfoProfile()
+ {
+ Element vtip = provider_.getVerifyTransformsInfoProfile("VTIP_1");
+ assertEquals("VerifyTransformsInfoProfile", vtip.getLocalName());
+ }
+
+ public void testGetSupplementProfile()
+ {
+ Element sp = provider_.getSupplementProfile("SP_1");
+ assertEquals("SupplementProfile", sp.getLocalName());
+ }
+
+ public void testGetTrustProfile()
+ {
+ TrustProfile tp1 = provider_.getTrustProfile("TP1_Id");
+ assertEquals(
+ "file:/" + CONFIG_BASE_ + "trustprofiles/tp1/anchors",
+ tp1.getUri());
+ assertEquals(
+ "file:/" + CONFIG_BASE_ + "trustprofiles/tp1/signercerts",
+ tp1.getSignerCertsUri());
+
+ TrustProfile tp2 = provider_.getTrustProfile("TP2_Id");
+ assertEquals(
+ "file:" + CONFIG_BASE_ + "trustprofiles/tp2/anchors",
+ tp2.getUri());
+ assertEquals(
+ "file:" + CONFIG_BASE_ + "trustprofiles/tp2/signercerts",
+ tp2.getSignerCertsUri());
+ }
+
+ public void testGetRevocationArchiveJDBCURL()
+ {
+ assertEquals("jdbc://dummy", provider_.getRevocationArchiveJDBCURL());
+ }
+
+ public void testGetRevocationArchiveJDBCDriverClass()
+ {
+ assertEquals("fully.qualified.classname", provider_.getRevocationArchiveJDBCDriverClass());
+ }
+
+ public void testGetEnableRevocationChecking()
+ {
+ assertFalse(provider_.getEnableRevocationChecking());
+ }
+
+ public void testGetMaxRevocationAge()
+ {
+ assertEquals(10000, provider_.getMaxRevocationAge());
+ }
+
+ public void testGetServiceOrder()
+ {
+ String[] serviceOrder = provider_.getServiceOrder();
+ assertEquals(2, serviceOrder.length);
+ assertEquals("crl", serviceOrder[0]);
+ assertEquals("ocsp", serviceOrder[1]);
+ }
+
+ public void testGetAutoAddCertificates()
+ {
+ assertFalse(provider_.getAutoAddCertificates());
+ }
+
+ public void testGetUseAuthorityInfoAccess()
+ {
+ assertFalse(provider_.getUseAuthorityInfoAccess());
+ }
+}
diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest2.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest2.java
new file mode 100644
index 000000000..adf02809b
--- /dev/null
+++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest2.java
@@ -0,0 +1,225 @@
+package test.at.gv.egovernment.moa.spss.server.config;
+
+import iaik.asn1.structures.Name;
+import iaik.pki.pathvalidation.ChainingModes;
+import iaik.utils.RFC2253NameParser;
+import iaik.utils.RFC2253NameParserException;
+import iaik.x509.X509Certificate;
+
+import java.math.BigInteger;
+import java.util.List;
+import java.util.Set;
+
+import junit.framework.TestCase;
+
+import org.w3c.dom.Element;
+
+import at.gv.egovernment.moa.spss.MOAException;
+import at.gv.egovernment.moa.spss.server.config.ConfigurationException;
+import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider;
+import at.gv.egovernment.moa.spss.server.config.TrustProfile;
+import at.gv.egovernment.moa.util.Constants;
+
+/**
+ * @author Gregor Karlinger
+ * @version $Id$
+ */
+public class ConfigurationProviderTest2 extends TestCase
+{
+ private static final String CONFIG_BASE_ =
+ "e:/cio/projekte/basismodule/wartung/projekt/spss.server/res/test/resources/config/";
+
+ static at.gv.egovernment.moa.spss.server.config.ConfigurationProvider provider_;
+
+ static
+ {
+ System.setProperty(
+ "log4j.configuration",
+ "file:/" + CONFIG_BASE_ + "log4j.properties");
+ System.setProperty(
+ at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.CONFIG_PROPERTY_NAME,
+ CONFIG_BASE_ + "moa.ss.noopts-config.xml");
+ try
+ {
+ ConfigurationProvider.reload();
+ provider_ = at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.getInstance();
+ }
+ catch (ConfigurationException e)
+ {
+ throw new RuntimeException("Fehler beim Setup des Tests: " + e.getMessage());
+ }
+ }
+
+
+ /**
+ * Constructor for ConfigurationProvider.
+ * @param arg0
+ */
+ public ConfigurationProviderTest2() throws MOAException
+ {
+ super("ConfigurationProvider");
+ }
+
+ public void testGetWarnings()
+ {
+ // 3 Warnings should be collected: C14N not found, DigestMethod not found, ArchiveDuration not found
+ assertEquals(3, provider_.getWarnings().size());
+ }
+
+ public void testGetDigestMethodAlgorithmName()
+ {
+ // Element is missing in config file, check if default value is returned
+ assertEquals(
+ Constants.SHA1_URI,
+ provider_.getDigestMethodAlgorithmName());
+ }
+
+ public void testGetCanonicalizationAlgorithmName()
+ {
+ // Element is missing in config file, check if default value is returned
+ assertEquals(
+ Constants.C14N_URI,
+ provider_.getCanonicalizationAlgorithmName());
+ }
+
+ public void testGetHardwareCryptoModules()
+ {
+ // No hardware crypto modules in config file, check for empty list
+ List hwcms = provider_.getHardwareCryptoModules();
+ assertEquals(0, hwcms.size());
+ }
+
+ public void testGetHardwareKeyModules()
+ {
+ List hwkms = provider_.getHardwareKeyModules();
+ assertEquals(1, hwkms.size());
+ }
+
+ public void testGetSoftwareKeyModules()
+ {
+ // No software key modules in config file, check for empty list
+ List swkms = provider_.getSoftwareKeyModules();
+ assertEquals(0, swkms.size());
+ }
+
+ public void testGetChainingMode() throws RFC2253NameParserException
+ {
+ // Default Chaining Mode not set in configuration, check for default value
+ X509Certificate cert = new X509Certificate();
+ RFC2253NameParser parser = new RFC2253NameParser("CN=Unknown");
+ Name name = parser.parse();
+ cert.setIssuerDN(name);
+ cert.setSerialNumber(BigInteger.valueOf(0));
+ assertEquals(ChainingModes.PKIX_MODE, provider_.getChainingMode(cert));
+ }
+
+ public void testGetDistributionPoints() throws RFC2253NameParserException
+ {
+ // Element is missing in config file, check if emty list is returned
+ X509Certificate cert = new X509Certificate();
+ RFC2253NameParser parser = new RFC2253NameParser("CN=DP1_Issuer");
+ Name name = parser.parse();
+ cert.setIssuerDN(name);
+
+ Set dps = provider_.getDistributionPoints(cert);
+ assertEquals(0, dps.size());
+ }
+
+ public void testGetCRLArchiveDuration()
+ {
+ // Element is missing in config file, check if default value is returned
+ assertEquals(0, provider_.getCRLArchiveDuration());
+ }
+
+ public void testGetEnableRevocationArchiving()
+ {
+ // Element is missing in config file, check if default value is returned
+ assertFalse(provider_.getEnableRevocationArchiving());
+ }
+
+ public void testGetCertStoreLocation()
+ {
+ // Element is missing in config file, check if default value is returned
+ assertEquals(
+ CONFIG_BASE_ + "certstore",
+ provider_.getCertStoreLocation().replace('\\', '/'));
+ }
+
+ public void testGetCreateTransformsInfoProfile()
+ {
+ // No profile in config file, check for null
+ Element ctip1 = provider_.getCreateTransformsInfoProfile("CTIP_1");
+ assertNull(ctip1);
+ }
+
+ public void testGetCreateSignatureEnvironmentProfile()
+ {
+ // No profile in config file, check for null
+ Element csep = provider_.getCreateSignatureEnvironmentProfile("CSEP_1");
+ assertNull(csep);
+ }
+
+ public void testGetVerifyTransformsInfoProfile()
+ {
+ // No profile in config file, check for null
+ Element vtip = provider_.getVerifyTransformsInfoProfile("VTIP_1");
+ assertNull(vtip);
+ }
+
+ public void testGetSupplementProfile()
+ {
+ // No profile in config file, check for null
+ Element sp = provider_.getSupplementProfile("SP_1");
+ assertNull(sp);
+ }
+
+ public void testGetTrustProfile()
+ {
+ // No trust profiles config file, check for null
+ TrustProfile tp1 = provider_.getTrustProfile("TP1_Id");
+ assertNull(tp1);
+ }
+
+ public void testGetRevocationArchiveJDBCURL()
+ {
+ // Element is missing in config file, check for null
+ assertNull(provider_.getRevocationArchiveJDBCURL());
+ }
+
+ public void testGetRevocationArchiveJDBCDriverClass()
+ {
+ // Element is missing in config file, check for null
+ assertNull(provider_.getRevocationArchiveJDBCDriverClass());
+ }
+
+ public void testGetEnableRevocationChecking()
+ {
+ // Element is missing in config file, check for default value
+ assertFalse(provider_.getEnableRevocationChecking());
+ }
+
+ public void testGetMaxRevocationAge()
+ {
+ // Element is missing in config file, check for default value
+ assertEquals(0, provider_.getMaxRevocationAge());
+ }
+
+ public void testGetServiceOrder()
+ {
+ // Element is missing in config file, check for empty array
+ String[] serviceOrder = provider_.getServiceOrder();
+ assertEquals(0, serviceOrder.length);
+ }
+
+ public void testGetAutoAddCertificates()
+ {
+ // Element is missing in config file, check for default value
+ assertFalse(provider_.getAutoAddCertificates());
+ }
+
+ public void testGetUseAuthorityInfoAccess()
+ {
+ // Element is missing in config file, check for default value
+ assertFalse(provider_.getUseAuthorityInfoAccess());
+ }
+}
diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest3.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest3.java
new file mode 100644
index 000000000..7da2165cb
--- /dev/null
+++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest3.java
@@ -0,0 +1,166 @@
+package test.at.gv.egovernment.moa.spss.server.config;
+
+import iaik.asn1.structures.Name;
+import iaik.utils.RFC2253NameParser;
+import iaik.utils.RFC2253NameParserException;
+import iaik.x509.X509Certificate;
+
+import java.util.List;
+import java.util.Set;
+
+import junit.framework.TestCase;
+
+import org.w3c.dom.Element;
+
+import at.gv.egovernment.moa.spss.MOAException;
+import at.gv.egovernment.moa.spss.server.config.ConfigurationException;
+import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider;
+import at.gv.egovernment.moa.util.Constants;
+
+/**
+ * @author Gregor Karlinger
+ * @version $Id$
+ */
+public class ConfigurationProviderTest3 extends TestCase
+{
+ private static final String CONFIG_BASE_ =
+ "e:/cio/projekte/basismodule/wartung/projekt/spss.server/res/test/resources/config/";
+
+ static at.gv.egovernment.moa.spss.server.config.ConfigurationProvider provider_;
+
+ static
+ {
+ System.setProperty(
+ "log4j.configuration",
+ "file:/" + CONFIG_BASE_ + "log4j.properties");
+ System.setProperty(
+ at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.CONFIG_PROPERTY_NAME,
+ CONFIG_BASE_ + "moa.sp.noopts-config.xml");
+ try
+ {
+ ConfigurationProvider.reload();
+ provider_ = at.gv.egovernment.moa.spss.server.config.ConfigurationProvider.getInstance();
+ }
+ catch (ConfigurationException e)
+ {
+ throw new RuntimeException("Fehler beim Setup des Tests: " + e.getMessage());
+ }
+ }
+
+ /**
+ * Constructor for ConfigurationProvider.
+ * @param arg0
+ */
+ public ConfigurationProviderTest3() throws MOAException
+ {
+ super("ConfigurationProvider");
+ }
+
+ public void testGetWarnings()
+ {
+ // 3 Warnings should be collected: C14N not found, DigestMethod not found, ArchiveDuration not found
+ assertEquals(3, provider_.getWarnings().size());
+ }
+
+ public void testGetDigestMethodAlgorithmName()
+ {
+ // Element is missing in config file, check if default value is returned
+ assertEquals(
+ Constants.SHA1_URI,
+ provider_.getDigestMethodAlgorithmName());
+ }
+
+ public void testGetCanonicalizationAlgorithmName()
+ {
+ // Element is missing in config file, check if default value is returned
+ assertEquals(
+ Constants.C14N_URI,
+ provider_.getCanonicalizationAlgorithmName());
+ }
+
+ public void testGetHardwareCryptoModules()
+ {
+ // No hardware crypto modules in config file, check for empty list
+ List hwcms = provider_.getHardwareCryptoModules();
+ assertEquals(0, hwcms.size());
+ }
+
+ public void testGetHardwareKeyModules()
+ {
+ // No hardware key modules in config file, check for empty list
+ List hwkms = provider_.getHardwareKeyModules();
+ assertEquals(0, hwkms.size());
+ }
+
+ public void testGetSoftwareKeyModules()
+ {
+ // No software key modules in config file, check for empty list
+ List swkms = provider_.getSoftwareKeyModules();
+ assertEquals(0, swkms.size());
+ }
+
+ public void testGetDistributionPoints() throws RFC2253NameParserException
+ {
+ // No distribution points in config file, check for emtpy set
+ X509Certificate cert = new X509Certificate();
+ RFC2253NameParser parser = new RFC2253NameParser("CN=DP1_Issuer");
+ Name name = parser.parse();
+ cert.setIssuerDN(name);
+
+ Set dps = provider_.getDistributionPoints(cert);
+ assertEquals(0, dps.size());
+ }
+
+ public void testGetCRLArchiveDuration()
+ {
+ // No archive duration in config file, check for default value
+ assertEquals(0, provider_.getCRLArchiveDuration());
+ }
+
+ public void testGetCreateTransformsInfoProfile()
+ {
+ // No profile in config file, check for null
+ Element ctip1 = provider_.getCreateTransformsInfoProfile("CTIP_1");
+ assertNull(ctip1);
+ }
+
+ public void testGetCreateSignatureEnvironmentProfile()
+ {
+ // No profile in config file, check for null
+ Element csep = provider_.getCreateSignatureEnvironmentProfile("CSEP_1");
+ assertNull(csep);
+ }
+
+ public void testGetVerifyTransformsInfoProfile()
+ {
+ // No profile in config file, check for null
+ Element vtip = provider_.getVerifyTransformsInfoProfile("VTIP_1");
+ assertNull(vtip);
+ }
+
+ public void testGetSupplementProfile()
+ {
+ // No profile in config file, check for null
+ Element sp = provider_.getSupplementProfile("SP_1");
+ assertNull(sp);
+ }
+
+ public void testGetRevocationArchiveJDBCURL()
+ {
+ // No archive in config file, check for null
+ assertNull(provider_.getRevocationArchiveJDBCURL());
+ }
+
+ public void testGetRevocationArchiveJDBCDriverClass()
+ {
+ // No archive in config file, check for null
+ assertNull(provider_.getRevocationArchiveJDBCDriverClass());
+ }
+
+ public void testGetServiceOrder()
+ {
+ // Element is missing in config file, check for empty array
+ String[] serviceOrder = provider_.getServiceOrder();
+ assertEquals(0, serviceOrder.length);
+ }
+}
diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java
new file mode 100644
index 000000000..be1090e4a
--- /dev/null
+++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java
@@ -0,0 +1,149 @@
+package test.at.gv.egovernment.moa.spss.server.iaik.config;
+
+import java.io.FileInputStream;
+import java.security.KeyStore;
+import java.security.cert.CertificateFactory;
+import java.security.cert.X509Certificate;
+import java.util.Collection;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import test.at.gv.egovernment.moa.spss.SPSSTestCase;
+
+import iaik.asn1.structures.DistributionPoint;
+import iaik.pki.PKIConfiguration;
+import iaik.pki.pathvalidation.ChainingModes;
+import iaik.pki.pathvalidation.ValidationConfiguration;
+import iaik.pki.revocation.CRLDistributionPoint;
+import iaik.pki.revocation.RevocationConfiguration;
+import iaik.pki.store.certstore.CertStoreConfiguration;
+import iaik.pki.store.certstore.CertStoreTypes;
+import iaik.pki.store.revocation.archive.ArchiveConfiguration;
+import iaik.pki.store.revocation.archive.db.DataBaseArchiveParameter;
+import iaik.server.ConfigurationData;
+import iaik.server.modules.keys.HardwareKeyModuleConfiguration;
+import iaik.server.modules.keys.SoftwareKeyModuleConfiguration;
+
+import at.gv.egovernment.moa.spss.server.iaik.config.ConfigurationDataImpl;
+import at.gv.egovernment.moa.spss.server.transaction.TransactionContext;
+import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager;
+
+/**
+ * Tests the ConfigurationDataImpl.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class ConfigurationDataImplTest extends SPSSTestCase {
+
+ private ConfigurationData config;
+ private X509Certificate iaikCert;
+
+ public ConfigurationDataImplTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ TransactionContext context;
+
+ setUpTransactionContext();
+ context = TransactionContextManager.getInstance().getTransactionContext();
+
+ config = new ConfigurationDataImpl(context.getConfiguration());
+
+ KeyStore ks = KeyStore.getInstance("JKS", "SUN");
+ ks.load(
+ new FileInputStream(TESTDATA_ROOT + "security/server.keystore"),
+ "changeit".toCharArray());
+
+ CertificateFactory certFactory = CertificateFactory.getInstance("X.509");
+ Collection certs =
+ certFactory.generateCertificates(
+ new FileInputStream(
+ TESTDATA_ROOT
+ + "conf/moa-spss/trustprofiles/TrustProfile1/IAIKRoot.cer"));
+ iaikCert = (X509Certificate) certs.toArray()[0];
+
+ }
+
+ public void testGetPKIConfiguration() {
+ PKIConfiguration pkiConfig = config.getPKIConfiguration();
+ ArchiveConfiguration archiveConfig = pkiConfig.getArchiveConfiguration();
+ CertStoreConfiguration certStoreConfig =
+ pkiConfig.getCertStoreConfiguration();
+ RevocationConfiguration revocationConfig =
+ pkiConfig.getRevocationConfiguration();
+ ValidationConfiguration validationConfig =
+ pkiConfig.getValidationConfiguration();
+ DataBaseArchiveParameter archiveParam;
+ Set distributionPoints;
+ Iterator iter;
+ boolean found;
+
+ // test archive parameters
+ archiveParam =
+ (DataBaseArchiveParameter) archiveConfig.getArchiveParameters();
+ assertEquals(
+ archiveParam.getJDBCUrl(),
+ "jdbc:postgresql://10.16.46.108/moa?user=moa&password=moatest");
+
+ // test cert store configuration
+ assertEquals(1, certStoreConfig.getParameters().length);
+ assertEquals(
+ CertStoreTypes.DIRECTORY,
+ certStoreConfig.getParameters()[0].getType());
+
+ // test revocation configuration
+ distributionPoints =
+ revocationConfig.getAlternativeDistributionPoints(iaikCert, null, new Date());
+ assertEquals(3, distributionPoints.size());
+ found = false;
+ for (iter = distributionPoints.iterator(); iter.hasNext();) {
+ CRLDistributionPoint dp = (CRLDistributionPoint) iter.next();
+ if (dp.getUri().equals("http://www.iaik.at/testCA/iaik_test_sig.crl")) {
+ found =
+ dp.getReasonCodes()
+ == (DistributionPoint.keyCompromise
+ | DistributionPoint.affiliationChanged);
+ }
+ }
+ assertTrue(found);
+
+ // test validation configuration
+ assertEquals(
+ ChainingModes.PKIX_MODE,
+ validationConfig.getChainingMode(iaikCert));
+ }
+
+ /*
+ public void testGetCryptoModuleConfigurations() {
+ List cryptoConfigs = config.getCryptoModuleConfigurations();
+ HardwareCryptoModuleConfiguration moduleConfig;
+
+ assertEquals(2, cryptoConfigs.size());
+ moduleConfig = (HardwareCryptoModuleConfiguration) cryptoConfigs.get(0);
+ assertEquals("Module1", moduleConfig.getModuleName());
+ assertEquals("Slot1", moduleConfig.getSlotID());
+ assertEquals("PIN1", new String(moduleConfig.getUserPIN()));
+ }
+ */
+
+ public void testGetKeyModuleConfigurations() {
+ List keyConfigs = config.getKeyModuleConfigurations();
+ HardwareKeyModuleConfiguration hwKey;
+ SoftwareKeyModuleConfiguration swKey;
+
+ assertEquals(7, keyConfigs.size());
+ hwKey = (HardwareKeyModuleConfiguration) keyConfigs.get(0);
+ assertEquals("cryptoki.dll", hwKey.getModuleName());
+ assertEquals("0", hwKey.getSlotID());
+ assertEquals("0000", new String(hwKey.getUserPIN()));
+ swKey = (SoftwareKeyModuleConfiguration) keyConfigs.get(1);
+ assertEquals(
+ "buergerkarte",
+ new String(swKey.getKeyStoreAuthenticationData()));
+ }
+
+}
diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java
new file mode 100644
index 000000000..3b403dc19
--- /dev/null
+++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java
@@ -0,0 +1,36 @@
+package test.at.gv.egovernment.moa.spss.server.iaik.config;
+
+import test.at.gv.egovernment.moa.spss.SPSSTestCase;
+
+import at.gv.egovernment.moa.spss.server.iaik.config.IaikConfigurator;
+import at.gv.egovernment.moa.spss.server.transaction.TransactionContext;
+import at.gv.egovernment.moa.spss.server.transaction.TransactionContextManager;
+
+/**
+ * Tests the IaikConfigurator.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class IaikConfiguratorTest extends SPSSTestCase {
+
+ public IaikConfiguratorTest(String name) {
+ super(name);
+ }
+
+ /**
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception {
+ super.setUpTransactionContext();
+ }
+
+ public void testConfigure() throws Exception {
+ IaikConfigurator configurator = new IaikConfigurator();
+ TransactionContext context =
+ TransactionContextManager.getInstance().getTransactionContext();
+
+ configurator.configure(context.getConfiguration());
+ }
+
+}
diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/AllTests.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/AllTests.java
new file mode 100644
index 000000000..65fa2bf72
--- /dev/null
+++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/AllTests.java
@@ -0,0 +1,25 @@
+package test.at.gv.egovernment.moa.spss.server.invoke;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * Runs all tests in this package.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class AllTests {
+ public static Test suite() {
+ TestSuite suite = new TestSuite();
+
+ suite.addTestSuite(DataObjectFactoryTest.class);
+ suite.addTestSuite(TransformationFactoryTest.class);
+ suite.addTestSuite(XMLSignatureCreationInvokerTest.class);
+ suite.addTestSuite(CMSSignatureVerificationInvokerTest.class);
+ suite.addTestSuite(XMLSignatureVerificationInvokerTest.class);
+
+ return suite;
+ }
+
+}
diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java
new file mode 100644
index 000000000..3024730f4
--- /dev/null
+++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java
@@ -0,0 +1,63 @@
+package test.at.gv.egovernment.moa.spss.server.invoke;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+import test.at.gv.egovernment.moa.spss.SPSSTestCase;
+
+import at.gv.egovernment.moa.util.DOMUtils;
+
+import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureRequest;
+import at.gv.egovernment.moa.spss.api.cmsverify.VerifyCMSSignatureResponse;
+import at.gv.egovernment.moa.spss.api.xmlbind.VerifyCMSSignatureRequestParser;
+import at.gv.egovernment.moa.spss.api.xmlbind.VerifyCMSSignatureResponseBuilder;
+import at.gv.egovernment.moa.spss.server.invoke.CMSSignatureVerificationInvoker;
+
+/**
+ * Mainly a smoke test for debugging the CMSSignatureVerificationInvoker.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class CMSSignatureVerificationInvokerTest extends SPSSTestCase {
+ private static final String TESTDATA_BASE =
+ TESTDATA_ROOT + "xml/VerifyCMSSignature/";
+
+ /**
+ * Constructor for CMSSignatureVerificationInvokerTest.
+ * @param name
+ */
+ public CMSSignatureVerificationInvokerTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ setUpTransactionContext();
+ setUpLoggingContext();
+ setUpIaikConfiguration();
+ }
+
+ public void testVerifyCMSSignature() throws Exception {
+ try {
+ CMSSignatureVerificationInvoker invoker =
+ CMSSignatureVerificationInvoker.getInstance();
+ VerifyCMSSignatureRequestParser requestParser =
+ new VerifyCMSSignatureRequestParser();
+ Document doc =
+ SPSSTestCase.parseXmlValidating(
+ TESTDATA_BASE + "TestGeneratorVC0.001.Req.xml");
+ VerifyCMSSignatureRequest request =
+ requestParser.parse(doc.getDocumentElement());
+ VerifyCMSSignatureResponse response = invoker.verifyCMSSignature(request);
+ VerifyCMSSignatureResponseBuilder responseBuilder =
+ new VerifyCMSSignatureResponseBuilder();
+ Element result = responseBuilder.build(response).getDocumentElement();
+
+ System.out.println(DOMUtils.serializeNode(result));
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail();
+ }
+ }
+
+}
diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java
new file mode 100644
index 000000000..7de2add33
--- /dev/null
+++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java
@@ -0,0 +1,180 @@
+package test.at.gv.egovernment.moa.spss.server.invoke;
+
+import java.io.InputStream;
+import java.security.Security;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+import test.at.gv.egovernment.moa.spss.SPSSTestCase;
+
+import iaik.server.modules.xml.BinaryDataObject;
+import iaik.server.modules.xml.DataObject;
+import iaik.server.modules.xml.XMLDataObject;
+
+import at.gv.egovernment.moa.util.Base64Utils;
+
+import at.gv.egovernment.moa.spss.MOAException;
+import at.gv.egovernment.moa.spss.api.SPSSFactory;
+import at.gv.egovernment.moa.spss.api.common.Content;
+import at.gv.egovernment.moa.spss.server.iaik.xml.ByteArrayDataObjectImpl;
+import at.gv.egovernment.moa.spss.server.iaik.xml.ByteStreamDataObjectImpl;
+import at.gv.egovernment.moa.spss.server.iaik.xml.XMLDataObjectImpl;
+import at.gv.egovernment.moa.spss.server.iaik.xml.XMLNodeListDataObjectImpl;
+import at.gv.egovernment.moa.spss.server.invoke.DataObjectFactory;
+
+/**
+ * Test cases for the DataObjectFactory class.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class DataObjectFactoryTest extends SPSSTestCase {
+
+ private static final String HTTP_BINARY_CONTENT_URL = "http://www.google.com";
+ private static final String HTTP_XML_CONTENT_URL =
+ "http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd";
+ private static final String HTTPS_BINARY_CONTENT_URL =
+ "https://businessnet.ba-ca.com";
+ private static final String HTTPS_UNTRUSTED_URL =
+ "https://heribert.anecon.com";
+ private static final String HTTP_UNKNOWN_HOST_URL = "http://uurjmjmruuw.com";
+ private static final String MALFORMED_URL = "//hsld///ddd";
+ private static final String FILE_BINARY_CONTENT_URL = "file:/C:/boot.ini";
+ private static final String XML_CONTENT =
+ ""
+ + " "
+ + " "
+ + "";
+ private static final String BASE64_CONTENT = "U3Zlbg==";
+
+ private SPSSFactory spssFactory = SPSSFactory.getInstance();
+ private DataObjectFactory factory;
+
+ /**
+ * Constructor for DataObjectFactoryTest.
+ * @param name
+ */
+ public DataObjectFactoryTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ factory = DataObjectFactory.getInstance();
+
+ // set up SSL
+ Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
+ System.setProperty(
+ "java.protocol.handler.pkgs",
+ "com.sun.net.ssl.internal.www.protocol");
+ /*
+ System.setProperty(
+ "javax.net.ssl.keyStore",
+ "data/test/security/client.keystore");
+ System.setProperty("javax.net.ssl.keyStorePassword", "changeit");
+ System.setProperty(
+ "javax.net.ssl.trustStore",
+ "data/test/security/client.keystore");
+ System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
+ */
+ }
+
+ public void testCreateFromURIWithBinaryHttp() throws Exception {
+ DataObject dataObject =
+ factory.createFromURI(HTTP_BINARY_CONTENT_URL, false);
+
+ assertNotNull(dataObject);
+ assertTrue(dataObject instanceof ByteStreamDataObjectImpl);
+ assertNotNull(((BinaryDataObject) dataObject).getInputStream());
+ }
+
+ public void testCreateFromURIWithXmlHttp() throws Exception {
+ DataObject dataObject = factory.createFromURI(HTTP_XML_CONTENT_URL, false);
+ Element element;
+
+ assertNotNull(dataObject);
+ assertTrue(dataObject instanceof XMLDataObjectImpl);
+ element = ((XMLDataObject) dataObject).getElement();
+ assertNotNull(element);
+ assertEquals("schema", element.getTagName());
+ }
+
+ public void testCreateFromURIWithMalformedURI() throws Exception {
+ try {
+ factory.createFromURI(MALFORMED_URL, false);
+ fail();
+ } catch (MOAException e) {
+ }
+ }
+
+ public void testCreateFromURIWithNonExistingHttpURL() throws Exception {
+ try {
+ factory.createFromURI(HTTP_UNKNOWN_HOST_URL, false);
+ fail();
+ } catch (MOAException e) {
+ }
+ }
+
+ public void testCreateFromURIWithHttps() throws Exception {
+ DataObject dataObject =
+ factory.createFromURI(HTTPS_BINARY_CONTENT_URL, false);
+ assertNotNull(dataObject);
+ assertTrue(dataObject instanceof BinaryDataObject);
+ }
+
+ public void testCreateFromURIWithUntrustedHttps() throws Exception {
+ try {
+ factory.createFromURI(HTTPS_UNTRUSTED_URL, false);
+ fail();
+ } catch (MOAException e) {
+
+ }
+ }
+
+ public void testCreateFromURIWithFile() throws Exception {
+ try {
+ factory.createFromURI(FILE_BINARY_CONTENT_URL, false);
+ fail();
+ } catch (MOAException e) {
+ }
+ }
+
+ public void testCreateFromContentOptionalRefTypeWithXmlContent()
+ throws Exception {
+ Document doc = parseXmlString(XML_CONTENT);
+ Content content =
+ spssFactory.createContent(
+ doc.getDocumentElement().getChildNodes(),
+ "http://data");
+ DataObject dataObject =
+ factory.createFromContentOptionalRefType(
+ content,
+ null,
+ null,
+ true,
+ false,
+ true,
+ false);
+
+ assertTrue(dataObject instanceof XMLNodeListDataObjectImpl);
+ }
+
+ public void testCreateFromContentOptionalRefTypeWithBase64Content()
+ throws Exception {
+ InputStream is = Base64Utils.decodeToStream(BASE64_CONTENT, true);
+ Content content = spssFactory.createContent(is, "http://data");
+ DataObject dataObject =
+ factory.createFromContentOptionalRefType(
+ content,
+ null,
+ null,
+ false,
+ false,
+ true,
+ false);
+
+ assertNotNull(dataObject);
+ assertTrue(dataObject instanceof ByteArrayDataObjectImpl);
+ }
+
+}
diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java
new file mode 100644
index 000000000..13a80cbf1
--- /dev/null
+++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java
@@ -0,0 +1,201 @@
+package test.at.gv.egovernment.moa.spss.server.invoke;
+
+import java.util.List;
+import java.util.Map;
+
+import org.w3c.dom.Document;
+
+import test.at.gv.egovernment.moa.spss.SPSSTestCase;
+
+import iaik.ixsil.init.IXSILInit;
+import iaik.ixsil.util.URI;
+import iaik.server.modules.xml.Base64Transformation;
+import iaik.server.modules.xml.Canonicalization;
+import iaik.server.modules.xml.EnvelopedSignatureTransformation;
+import iaik.server.modules.xml.Transformation;
+import iaik.server.modules.xml.XPath2Transformation;
+import iaik.server.modules.xml.XPathTransformation;
+import iaik.server.modules.xml.XSLTTransformation;
+
+import at.gv.egovernment.moa.util.Constants;
+
+import at.gv.egovernment.moa.spss.MOAApplicationException;
+import at.gv.egovernment.moa.spss.api.common.Transform;
+import at.gv.egovernment.moa.spss.api.xmlbind.TransformParser;
+import at.gv.egovernment.moa.spss.server.invoke.TransformationFactory;
+
+/**
+ * Test cases for the TransformationFactory class.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class TransformationFactoryTest extends SPSSTestCase {
+
+ private static final String TESTDATA_BASE =
+ TESTDATA_ROOT + "xml/dsigTransform/";
+ private TransformationFactory factory = TransformationFactory.getInstance();
+ private TransformParser transformParser = new TransformParser();
+
+ /**
+ * Constructor for TransformationFactoryTest.
+ * @param name
+ */
+ public TransformationFactoryTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ IXSILInit.init(new URI("init/properties/init.properties"));
+ //IXSILInit.init(new URI("file:data/deploy/ixsil/init/properties/init.properties"));
+
+ }
+
+ public void testCreateCanonicalization() throws Exception {
+ Document transform = parseXml(TESTDATA_BASE + "canonicalization.xml");
+ Transform tr =
+ transformParser.parseTransform(transform.getDocumentElement());
+ Transformation t = factory.createTransformation(tr);
+
+ assertTrue(t instanceof Canonicalization);
+ assertEquals(
+ "http://www.w3.org/TR/2001/REC-xml-c14n-20010315",
+ t.getAlgorithmURI());
+ }
+
+ public void testCreateCanonicalizationWithComments() throws Exception {
+ Document transform =
+ parseXml(TESTDATA_BASE + "canonicalizationWithComments.xml");
+ Transform tr =
+ transformParser.parseTransform(transform.getDocumentElement());
+ Transformation t = factory.createTransformation(tr);
+
+ assertTrue(t instanceof Canonicalization);
+ assertEquals(
+ "http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments",
+ t.getAlgorithmURI());
+ }
+
+ public void testCreateBase64Decode() throws Exception {
+ Document transform = parseXml(TESTDATA_BASE + "base64.xml");
+ Transform tr =
+ transformParser.parseTransform(transform.getDocumentElement());
+ Transformation t = factory.createTransformation(tr);
+ assertTrue(t instanceof Base64Transformation);
+ }
+
+ public void testCreateEnvelopedSignature() throws Exception {
+ Document transform = parseXml(TESTDATA_BASE + "enveloped.xml");
+ Transform tr =
+ transformParser.parseTransform(transform.getDocumentElement());
+ Transformation t = factory.createTransformation(tr);
+ assertTrue(t instanceof EnvelopedSignatureTransformation);
+ }
+
+ public void testXPathTransformation() throws Exception {
+ Document transform = parseXml(TESTDATA_BASE + "xpath.xml");
+ Transform tr =
+ transformParser.parseTransform(transform.getDocumentElement());
+ Transformation t = factory.createTransformation(tr);
+ Map nsDecls;
+
+ assertTrue(t instanceof XPathTransformation);
+ nsDecls = ((XPathTransformation) t).getNamespaceDeclarations();
+ assertEquals(1, nsDecls.size());
+ assertEquals(Constants.DSIG_NS_URI, nsDecls.get("dsig"));
+ }
+
+ public void testCreateXPath2Transformation() throws Exception {
+ Document transform = parseXml(TESTDATA_BASE + "xpath2.xml");
+ Transform tr =
+ transformParser.parseTransform(transform.getDocumentElement());
+ Transformation t = factory.createTransformation(tr);
+ assertTrue(t instanceof XPath2Transformation);
+ }
+
+ public void testCreateXSLTTransformation() throws Exception {
+ Document transform = parseXml(TESTDATA_BASE + "xslt.xml");
+ Transform tr =
+ transformParser.parseTransform(transform.getDocumentElement());
+ XSLTTransformation t =
+ (XSLTTransformation) factory.createTransformation(tr);
+ assertNotNull(t.getStylesheetElement());
+ }
+
+ public void testCreateWithIllegalAlgorithm() throws Exception {
+ try {
+ Document transform = parseXml(TESTDATA_BASE + "illegalAlgorithm.xml");
+ Transform tr =
+ transformParser.parseTransform(transform.getDocumentElement());
+ factory.createTransformation(tr);
+ fail();
+ } catch (MOAApplicationException e) {
+ }
+ }
+
+ public void testEqualsXslt() throws Exception {
+ Document xslt = parseXml(TESTDATA_BASE + "xslt.xml");
+ Transform tr = transformParser.parseTransform(xslt.getDocumentElement());
+ Transformation trXslt = factory.createTransformation(tr);
+
+ Document xsltEqu = parseXml(TESTDATA_BASE + "xsltEqual.xml");
+ tr = transformParser.parseTransform(xsltEqu.getDocumentElement());
+ Transformation trXsltEqu = factory.createTransformation(tr);
+
+ Document xsltDiff = parseXml(TESTDATA_BASE + "xsltDifferent.xml");
+ tr = transformParser.parseTransform(xsltDiff.getDocumentElement());
+ Transformation trXsltDiff = factory.createTransformation(tr);
+
+ Document canonicalization =
+ parseXml(TESTDATA_BASE + "canonicalization.xml");
+
+ assertTrue(trXslt.equals(trXsltEqu));
+ assertFalse(trXslt.equals(trXsltDiff));
+ assertFalse(trXsltEqu.equals(trXsltDiff));
+ assertEquals(trXslt.hashCode(), trXsltEqu.hashCode());
+ assertFalse(trXslt.hashCode() == trXsltDiff.hashCode());
+ assertFalse(trXsltEqu.hashCode() == trXsltDiff.hashCode());
+ assertFalse(trXslt.equals(canonicalization));
+ }
+
+ public void testEqualsXPath() throws Exception {
+ Document xpath = parseXml(TESTDATA_BASE + "xpath.xml");
+ Transform tr = transformParser.parseTransform(xpath.getDocumentElement());
+ Transformation trXpath = factory.createTransformation(tr);
+ Transformation trXpathEqu = factory.createTransformation(tr);
+
+ Document xpathDiff = parseXml(TESTDATA_BASE + "xpathDifferent.xml");
+ tr = transformParser.parseTransform(xpathDiff.getDocumentElement());
+ Transformation trXpathDiff = factory.createTransformation(tr);
+
+ assertTrue(trXpath.equals(trXpathEqu));
+ assertEquals(trXpath.hashCode(), trXpathEqu.hashCode());
+ assertFalse(trXpath.equals(trXpathDiff));
+ assertFalse(trXpath.hashCode() == trXpathDiff.hashCode());
+ }
+
+ public void testEqualsXPath2() throws Exception {
+ Document xpath2 = parseXml(TESTDATA_BASE + "xpath2.xml");
+ Transform tr = transformParser.parseTransform(xpath2.getDocumentElement());
+ Transformation trXpath2 = factory.createTransformation(tr);
+ Transformation trXpath2Equ = factory.createTransformation(tr);
+
+ Document xpath2Diff = parseXml(TESTDATA_BASE + "xpath2Different.xml");
+ tr = transformParser.parseTransform(xpath2Diff.getDocumentElement());
+ Transformation trXpath2Diff = factory.createTransformation(tr);
+
+ assertTrue(trXpath2.equals(trXpath2Equ));
+ assertEquals(trXpath2.hashCode(), trXpath2Equ.hashCode());
+ assertFalse(trXpath2.equals(trXpath2Diff));
+ assertFalse(trXpath2.hashCode() == trXpath2Diff.hashCode());
+ }
+
+ public void testCreateTransformationList() throws Exception {
+ Document transforms = parseXml(TESTDATA_BASE + "transforms.xml");
+ List trs = transformParser.parseTransforms(transforms.getDocumentElement());
+ List transformationList = factory.createTransformationList(trs);
+
+ assertEquals(3, transformationList.size());
+ }
+
+}
diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java
new file mode 100644
index 000000000..28cd3805a
--- /dev/null
+++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java
@@ -0,0 +1,63 @@
+package test.at.gv.egovernment.moa.spss.server.invoke;
+
+import java.util.Collections;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+import test.at.gv.egovernment.moa.spss.SPSSTestCase;
+
+import at.gv.egovernment.moa.util.DOMUtils;
+
+import at.gv.egovernment.moa.spss.api.xmlbind.CreateXMLSignatureRequestParser;
+import at.gv.egovernment.moa.spss.api.xmlbind.CreateXMLSignatureResponseBuilder;
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureRequest;
+import at.gv.egovernment.moa.spss.api.xmlsign.CreateXMLSignatureResponse;
+import at.gv.egovernment.moa.spss.server.invoke.XMLSignatureCreationInvoker;
+
+/**
+ * Mainly a smoke test for debugging the XMLSignatureCreationInvoker.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class XMLSignatureCreationInvokerTest extends SPSSTestCase {
+ private static final String TESTDATA_BASE =
+ TESTDATA_ROOT + "xml/CreateXMLSignature/";
+
+ public XMLSignatureCreationInvokerTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ setUpTransactionContext();
+ setUpLoggingContext();
+ setUpIaikConfiguration();
+ setUpSSL();
+ }
+
+ public void testCreateXMLSignature() throws Exception {
+ try {
+ XMLSignatureCreationInvoker invoker =
+ XMLSignatureCreationInvoker.getInstance();
+ CreateXMLSignatureRequestParser requestParser =
+ new CreateXMLSignatureRequestParser();
+ Document doc =
+ SPSSTestCase.parseXmlValidating(
+ TESTDATA_BASE + "TestGeneratorCX2.004.Req.xml");
+ CreateXMLSignatureRequest request =
+ requestParser.parse(doc.getDocumentElement());
+ CreateXMLSignatureResponse response =
+ invoker.createXMLSignature(request, Collections.EMPTY_SET);
+ CreateXMLSignatureResponseBuilder responseBuilder =
+ new CreateXMLSignatureResponseBuilder();
+ Element result = responseBuilder.build(response).getDocumentElement();
+
+ System.out.println(DOMUtils.serializeNode(result));
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail();
+ }
+ }
+
+}
diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java
new file mode 100644
index 000000000..56e3d541b
--- /dev/null
+++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java
@@ -0,0 +1,61 @@
+package test.at.gv.egovernment.moa.spss.server.invoke;
+
+import org.w3c.dom.Document;
+
+import test.at.gv.egovernment.moa.spss.SPSSTestCase;
+
+import at.gv.egovernment.moa.util.DOMUtils;
+
+import at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureRequestParser;
+import at.gv.egovernment.moa.spss.api.xmlbind.VerifyXMLSignatureResponseBuilder;
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureRequest;
+import at.gv.egovernment.moa.spss.api.xmlverify.VerifyXMLSignatureResponse;
+import at.gv.egovernment.moa.spss.server.invoke.XMLSignatureVerificationInvoker;
+
+/**
+ * Mainly a smoke test for debugging the XMLSignatureVerificationInvoker.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class XMLSignatureVerificationInvokerTest extends SPSSTestCase {
+ private static final String TESTDATA_BASE =
+ TESTDATA_ROOT + "xml/VerifyXMLSignature/";
+
+ public XMLSignatureVerificationInvokerTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() throws Exception {
+ setUpTransactionContext();
+ setUpLoggingContext();
+ setUpIaikConfiguration();
+ }
+
+ public void testVerifyXMLSignature() throws Exception {
+ try {
+ XMLSignatureVerificationInvoker invoker =
+ XMLSignatureVerificationInvoker.getInstance();
+ VerifyXMLSignatureRequestParser requestParser =
+ new VerifyXMLSignatureRequestParser();
+ VerifyXMLSignatureResponseBuilder responseBuilder =
+ new VerifyXMLSignatureResponseBuilder();
+ Document doc =
+ SPSSTestCase.parseXmlValidating(
+ TESTDATA_BASE + "TestGeneratorVX.201.Req.xml");
+
+ VerifyXMLSignatureRequest request =
+ requestParser.parse(doc.getDocumentElement());
+ VerifyXMLSignatureResponse response;
+
+ response = invoker.verifyXMLSignature(request);
+ System.out.println(
+ DOMUtils.serializeNode(responseBuilder.build(response)));
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail();
+ }
+ }
+
+
+}
diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java
new file mode 100644
index 000000000..b46c20086
--- /dev/null
+++ b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java
@@ -0,0 +1,50 @@
+package test.at.gv.egovernment.moa.spss.server.tools;
+
+import java.io.ByteArrayOutputStream;
+import java.io.PrintStream;
+
+import at.gv.egovernment.moa.spss.server.tools.CertTool;
+
+import test.at.gv.egovernment.moa.MOATestCase;
+
+/**
+ * Tests for the CertTool.
+ *
+ * @author Patrick Peck
+ * @version $Id$
+ */
+public class CertToolTest extends MOATestCase {
+
+ private static final String EXPECTED_RESULT =
+ "SubjectDN (RFC2253):"
+ + " CN=Patrick Peck,OU=MOA Team,O=BRZ,L=Vienna,ST=Vienna,C=AT\r\n"
+ + "IssuerDN (RFC2253) :"
+ + " CN=Patrick Peck,OU=MOA Team,O=BRZ,L=Vienna,ST=Vienna,C=AT\r\n"
+ + "Serial Number :"
+ + " 1047548672\r\n";
+ private CertTool certTool;
+
+ /**
+ * Constructor for CertToolTest.
+ * @param name
+ */
+ public CertToolTest(String name) {
+ super(name);
+ }
+
+ protected void setUp() {
+ certTool = new CertTool();
+ }
+
+ public void testPrintCertInfo() {
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ PrintStream ps = new PrintStream(bos);
+ String result;
+
+ certTool.printCertInfo(TESTDATA_ROOT + "security/server.cer", ps);
+ result = new String(bos.toByteArray());
+ System.out.println(result);
+ assertEquals(EXPECTED_RESULT, result);
+ }
+
+}
diff --git a/spss/server/serverws/pom.xml b/spss/server/serverws/pom.xml
index de0f511c2..88b3345d6 100644
--- a/spss/server/serverws/pom.xml
+++ b/spss/server/serverws/pom.xml
@@ -3,14 +3,14 @@
MOA.spssmoa-spss
- 1.4.1
+ 1.4.x4.0.0MOA.spss.servermoa-spss-wswar
- 1.4.1
+ 1.4.2MOA SP/SS WebService
@@ -57,7 +57,7 @@
MOA.spss.servermoa-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.spssmoa-spss
- 1.4.1
+ 1.4.x4.0.0MOA.spss.servermoa-spss-toolsjar
- 1.4.1
+ 1.4.2MOA SP/SS Tools
@@ -21,7 +21,7 @@
MOA.spss.servermoa-spss-lib
- ${project.version}
+ ${pom.version}iaik.prod
--
cgit v1.2.3
From b33fd8084f4ea1562c9056422ebc111b4a92f2a6 Mon Sep 17 00:00:00 2001
From: pdanner
Date: Mon, 10 Sep 2007 18:08:08 +0000
Subject: moved test classes, fixed spss-tools build
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@1003 d688527b-c9ab-4aba-bd8d-4036d912da1d
---
common-test/pom.xml | 71 ----
id/server/auth/pom.xml | 4 +-
id/server/idserverlib/pom.xml | 2 +-
id/server/proxy/pom.xml | 4 +-
pom.xml | 18 +
spss/assembly-lib.xml | 6 +-
spss/assembly.xml | 12 +-
spss/handbook/clients/api/pom.xml | 2 +-
spss/handbook/clients/webservice/pom.xml | 2 +-
spss/server/pom.xml | 2 +-
spss/server/serverlib/pom.xml | 426 +++++++++++----------
.../java/at/gv/egovernment/moa/spss/AllTests.java | 40 --
.../at/gv/egovernment/moa/spss/SPSSTestCase.java | 82 ----
.../egovernment/moa/spss/api/xmlbind/AllTests.java | 24 --
.../CreateXMLSignatureRequestParserTest.java | 71 ----
.../moa/spss/api/xmlbind/TransformParserTest.java | 113 ------
.../VerifyCMSSignatureRequestParserTest.java | 61 ---
.../VerifyXMLSignatureRequestParserTest.java | 81 ----
.../moa/spss/server/config/AllTests.java | 20 -
.../server/config/ConfigurationProviderTest1.java | 377 ------------------
.../server/config/ConfigurationProviderTest2.java | 225 -----------
.../server/config/ConfigurationProviderTest3.java | 166 --------
.../iaik/config/ConfigurationDataImplTest.java | 149 -------
.../server/iaik/config/IaikConfiguratorTest.java | 36 --
.../moa/spss/server/invoke/AllTests.java | 25 --
.../CMSSignatureVerificationInvokerTest.java | 63 ---
.../spss/server/invoke/DataObjectFactoryTest.java | 180 ---------
.../server/invoke/TransformationFactoryTest.java | 201 ----------
.../invoke/XMLSignatureCreationInvokerTest.java | 63 ---
.../XMLSignatureVerificationInvokerTest.java | 61 ---
.../moa/spss/server/tools/CertToolTest.java | 50 ---
.../test/at/gv/egovernment/moa/spss/AllTests.java | 40 ++
.../at/gv/egovernment/moa/spss/SPSSTestCase.java | 82 ++++
.../egovernment/moa/spss/api/xmlbind/AllTests.java | 24 ++
.../CreateXMLSignatureRequestParserTest.java | 71 ++++
.../moa/spss/api/xmlbind/TransformParserTest.java | 113 ++++++
.../VerifyCMSSignatureRequestParserTest.java | 61 +++
.../VerifyXMLSignatureRequestParserTest.java | 81 ++++
.../moa/spss/server/config/AllTests.java | 20 +
.../server/config/ConfigurationProviderTest1.java | 377 ++++++++++++++++++
.../server/config/ConfigurationProviderTest2.java | 225 +++++++++++
.../server/config/ConfigurationProviderTest3.java | 166 ++++++++
.../iaik/config/ConfigurationDataImplTest.java | 149 +++++++
.../server/iaik/config/IaikConfiguratorTest.java | 36 ++
.../moa/spss/server/invoke/AllTests.java | 25 ++
.../CMSSignatureVerificationInvokerTest.java | 63 +++
.../spss/server/invoke/DataObjectFactoryTest.java | 180 +++++++++
.../server/invoke/TransformationFactoryTest.java | 201 ++++++++++
.../invoke/XMLSignatureCreationInvokerTest.java | 63 +++
.../XMLSignatureVerificationInvokerTest.java | 61 +++
.../moa/spss/server/tools/CertToolTest.java | 49 +++
spss/server/serverws/pom.xml | 2 +-
spss/server/serverws/tools/ConfigurationMapper.xsl | 343 -----------------
spss/server/tools/pom.xml | 84 ++--
spss/server/tools/run/certtool.bat | 25 ++
spss/server/tools/run/certtool.sh | 20 +
spss/server/tools/run/configtool.bat | 25 ++
spss/server/tools/run/configtool.sh | 20 +
.../main/resources/tools/ConfigurationMapper.xsl | 343 +++++++++++++++++
.../tools/src/main/resources/tools/certtool.bat | 25 --
.../tools/src/main/resources/tools/certtool.sh | 20 -
.../tools/src/main/resources/tools/configtool.bat | 25 --
.../tools/src/main/resources/tools/configtool.sh | 20 -
63 files changed, 2829 insertions(+), 2847 deletions(-)
delete mode 100644 common-test/pom.xml
delete mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/AllTests.java
delete mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/SPSSTestCase.java
delete mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java
delete mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java
delete mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java
delete mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java
delete mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java
delete mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/AllTests.java
delete mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest1.java
delete mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest2.java
delete mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest3.java
delete mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java
delete mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java
delete mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/AllTests.java
delete mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java
delete mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java
delete mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java
delete mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java
delete mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java
delete mode 100644 spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java
create mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/AllTests.java
create mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/SPSSTestCase.java
create mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java
create mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java
create mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java
create mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java
create mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java
create mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/config/AllTests.java
create mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest1.java
create mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest2.java
create mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest3.java
create mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java
create mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java
create mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/AllTests.java
create mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java
create mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java
create mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java
create mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java
create mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java
create mode 100644 spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java
delete mode 100644 spss/server/serverws/tools/ConfigurationMapper.xsl
create mode 100644 spss/server/tools/run/certtool.bat
create mode 100644 spss/server/tools/run/certtool.sh
create mode 100644 spss/server/tools/run/configtool.bat
create mode 100644 spss/server/tools/run/configtool.sh
create mode 100644 spss/server/tools/src/main/resources/tools/ConfigurationMapper.xsl
delete mode 100644 spss/server/tools/src/main/resources/tools/certtool.bat
delete mode 100644 spss/server/tools/src/main/resources/tools/certtool.sh
delete mode 100644 spss/server/tools/src/main/resources/tools/configtool.bat
delete mode 100644 spss/server/tools/src/main/resources/tools/configtool.sh
(limited to 'id/server/idserverlib')
diff --git a/common-test/pom.xml b/common-test/pom.xml
deleted file mode 100644
index 029e0e61d..000000000
--- a/common-test/pom.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-
-
- MOA
- MOA
- 1.4.1
-
-
- 4.0.0
- MOA
- moa-common-test
- 1.4.1
- jar
- MOA common test-library
-
-
- ${basedir}/../repository
-
-
-
-
- MOA
- moa-common
-
-
- junit
- junit
- compile
-
-
- commons-logging
- commons-logging
-
-
- iaik.prod
- iaik_jce_full
- true
-
-
- xerces
- xercesImpl
-
-
- xalan-bin-dist
- xalan
-
-
- xalan-bin-dist
- xml-apis
-
-
- xalan-bin-dist
- serializer
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
-
-
- false
-
-
-
-
-
-
diff --git a/id/server/auth/pom.xml b/id/server/auth/pom.xml
index 57aea5ac4..ef53ba336 100644
--- a/id/server/auth/pom.xml
+++ b/id/server/auth/pom.xml
@@ -53,12 +53,12 @@
MOA.spss.servermoa-spss-lib
- ${project.version}
+
MOA.id.servermoa-id-lib
- ${project.version}
+
diff --git a/id/server/idserverlib/pom.xml b/id/server/idserverlib/pom.xml
index 0eb0451e5..0edfe53dd 100644
--- a/id/server/idserverlib/pom.xml
+++ b/id/server/idserverlib/pom.xml
@@ -89,7 +89,7 @@
MOA.spss.servermoa-spss-lib
- ${project.version}
+
iaik.prod
diff --git a/id/server/proxy/pom.xml b/id/server/proxy/pom.xml
index 72397b959..103393d53 100644
--- a/id/server/proxy/pom.xml
+++ b/id/server/proxy/pom.xml
@@ -55,12 +55,12 @@
MOA.spss.servermoa-spss-lib
- ${project.version}
+
MOA.id.servermoa-id-lib
- ${project.version}
+
diff --git a/pom.xml b/pom.xml
index 2c8795975..dab384dc0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -167,6 +167,24 @@
compiletest-jar
+
+ MOA.id.server
+ moa-id-lib
+ 1.4.2
+ compile
+
+
+ MOA.spss.server
+ moa-spss-lib
+ 1.4.2
+ compile
+
+
+ MOA.spss.server
+ moa-spss-tools
+ 1.4.2
+ compile
+ junitjunit
diff --git a/spss/assembly-lib.xml b/spss/assembly-lib.xml
index 560b2be75..158cf53e9 100644
--- a/spss/assembly-lib.xml
+++ b/spss/assembly-lib.xml
@@ -141,6 +141,10 @@
${basedir}/spss/server/serverlib/resources/licenses/licenses
+
+ ${basedir}/spss/server/tools/run
+ /tools
+
-
\ No newline at end of file
+
diff --git a/spss/assembly.xml b/spss/assembly.xml
index 780e8c346..56cfbb95e 100644
--- a/spss/assembly.xml
+++ b/spss/assembly.xml
@@ -21,7 +21,7 @@
xalan-bin-dist:xalanxerces:xercesImplxalan-bin-dist:xml-apis
- xalan-bin-dist:serializer
+ xalan-bin-dist:serializer/endorsed
@@ -69,8 +69,8 @@
xalan-bin-dist:xalan/tools
-
- ${artifactId}.${extension}
+
+ ${artifactId}.${extension}/tools
@@ -126,6 +126,10 @@
${basedir}/spss/server/serverws/data/deploy/tools/tools
+
+ ${basedir}/spss/server/tools/run
+ /tools
+
-
\ No newline at end of file
+
diff --git a/spss/handbook/clients/api/pom.xml b/spss/handbook/clients/api/pom.xml
index c026cc939..da9e7de7f 100644
--- a/spss/handbook/clients/api/pom.xml
+++ b/spss/handbook/clients/api/pom.xml
@@ -120,7 +120,7 @@
MOA.spss.servermoa-spss-lib
- 1.4.2
+
diff --git a/spss/handbook/clients/webservice/pom.xml b/spss/handbook/clients/webservice/pom.xml
index 8e9f16fb3..41d8874db 100644
--- a/spss/handbook/clients/webservice/pom.xml
+++ b/spss/handbook/clients/webservice/pom.xml
@@ -120,7 +120,7 @@
MOA.spss.servermoa-spss-lib
- 1.4.2
+
diff --git a/spss/server/pom.xml b/spss/server/pom.xml
index 82e8a8c2f..39593518e 100644
--- a/spss/server/pom.xml
+++ b/spss/server/pom.xml
@@ -14,9 +14,9 @@
MOA SP/SS Server
+ toolsserverlibserverws
- tools
diff --git a/spss/server/serverlib/pom.xml b/spss/server/serverlib/pom.xml
index c49a234a1..87e9b5575 100644
--- a/spss/server/serverlib/pom.xml
+++ b/spss/server/serverlib/pom.xml
@@ -1,208 +1,218 @@
-
-
- MOA.spss
- moa-spss
- 1.4.x
-
-
- 4.0.0
- MOA.spss.server
- moa-spss-lib
- jar
- 1.4.2
- MOA SP/SS API
-
-
- ${basedir}/../../../repository
-
-
-
-
- axis
- axis
-
-
- commons-discovery
- commons-discovery
-
-
- commons-logging
- commons-logging
-
-
- javax.activation
- activation
-
-
- javax.mail
- mail
-
-
- junit
- junit
-
-
- log4j
- log4j
-
-
- postgresql
- postgresql
-
-
- javax.servlet
- servlet-api
- provided
-
-
- xalan-bin-dist
- xalan
- compile
-
-
- xerces
- xercesImpl
-
-
- xalan-bin-dist
- xml-apis
-
-
- xalan-bin-dist
- serializer
-
-
- iaik.prod
- iaik_moa
-
-
- iaik.prod
- iaik_ixsil
-
-
- iaik.prod
- iaik_jce_full
- compile
-
-
- iaik.prod
- iaik_ecc
- compile
-
-
- iaik.prod
- iaik_cms
- runtime
-
-
- iaik.prod
- iaik_Pkcs11Provider
- runtime
-
-
- iaik.prod
- iaik_Pkcs11Wrapper
- runtime
-
-
- iaik.prod
- iaik_Pkcs11Wrapper
- win32
- dll
- runtime
- true
-
-
- MOA
- moa-common
-
-
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
-
-
- false
-
-
-
-
- org.apache.maven.plugins
- maven-javadoc-plugin
- 2.2
-
- true
- false
- false
-
- at.gv.egovernment.moa.spss.server.*;at.gv.egovernment.moa.spss.api.impl.*;at.gv.egovernment.moa.spss.impl.*
-
-
- pre
- a
- Preconditions:
-
-
- post
- a
- Postconditions:
-
-
-
-
- API Factory and Services
- at.gv.egovernment.moa.spss.api
-
-
- Exceptions
- at.gv.egovernment.moa.spss
-
-
- API Objects for Signature Creation
- at.gv.egovernment.moa.spss.api.xmlsign
-
-
- API Objects for CMS Signature Verification
- at.gv.egovernment.moa.spss.api.cmsverify
-
-
- API Objects for XML Signature Verification
- at.gv.egovernment.moa.spss.api.xmlverify
-
-
- Common API Objects
- at.gv.egovernment.moa.spss.api.common
-
-
- Builders and Parsers to convert API Objects to and from XML
- at.gv.egovernment.moa.spss.api.xmlbind
-
-
- Utilities
- at.gv.egovernment.moa.util
- at.gv.egovernment.moa.spss.util
-
-
- Logging
- at.gv.egovernment.moa.logging
-
-
- http://java.sun.com/j2se/1.4/docs/api/
-
-
-
- generate-javadoc
- package
-
- jar
-
-
-
-
-
-
-
-
+
+
+ MOA.spss
+ moa-spss
+ 1.4.x
+
+
+ 4.0.0
+ MOA.spss.server
+ moa-spss-lib
+ jar
+ 1.4.2
+ MOA SP/SS API
+
+
+ ${basedir}/../../../repository
+
+
+
+
+ axis
+ axis
+
+
+ commons-discovery
+ commons-discovery
+
+
+ commons-logging
+ commons-logging
+
+
+ javax.activation
+ activation
+
+
+ javax.mail
+ mail
+
+
+ junit
+ junit
+
+
+ log4j
+ log4j
+
+
+ postgresql
+ postgresql
+
+
+ javax.servlet
+ servlet-api
+ provided
+
+
+ xalan-bin-dist
+ xalan
+ compile
+
+
+ xerces
+ xercesImpl
+
+
+ xalan-bin-dist
+ xml-apis
+
+
+ xalan-bin-dist
+ serializer
+
+
+ iaik.prod
+ iaik_moa
+
+
+ iaik.prod
+ iaik_ixsil
+
+
+ iaik.prod
+ iaik_jce_full
+ compile
+
+
+ iaik.prod
+ iaik_ecc
+ compile
+
+
+ iaik.prod
+ iaik_cms
+ runtime
+
+
+ iaik.prod
+ iaik_Pkcs11Provider
+ runtime
+
+
+ iaik.prod
+ iaik_Pkcs11Wrapper
+ runtime
+
+
+ iaik.prod
+ iaik_Pkcs11Wrapper
+ win32
+ dll
+ runtime
+ true
+
+
+ MOA
+ moa-common
+ jar
+
+
+ MOA
+ moa-common
+ test-jar
+
+
+ MOA.spss.server
+ moa-spss-tools
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ false
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 2.2
+
+ true
+ false
+ false
+
+ at.gv.egovernment.moa.spss.server.*;at.gv.egovernment.moa.spss.api.impl.*;at.gv.egovernment.moa.spss.impl.*
+
+
+ pre
+ a
+ Preconditions:
+
+
+ post
+ a
+ Postconditions:
+
+
+
+
+ API Factory and Services
+ at.gv.egovernment.moa.spss.api
+
+
+ Exceptions
+ at.gv.egovernment.moa.spss
+
+
+ API Objects for Signature Creation
+ at.gv.egovernment.moa.spss.api.xmlsign
+
+
+ API Objects for CMS Signature Verification
+ at.gv.egovernment.moa.spss.api.cmsverify
+
+
+ API Objects for XML Signature Verification
+ at.gv.egovernment.moa.spss.api.xmlverify
+
+
+ Common API Objects
+ at.gv.egovernment.moa.spss.api.common
+
+
+ Builders and Parsers to convert API Objects to and from XML
+ at.gv.egovernment.moa.spss.api.xmlbind
+
+
+ Utilities
+ at.gv.egovernment.moa.util
+ at.gv.egovernment.moa.spss.util
+
+
+ Logging
+ at.gv.egovernment.moa.logging
+
+
+ http://java.sun.com/j2se/1.4/docs/api/
+
+
+
+ generate-javadoc
+ package
+
+ jar
+
+
+
+
+
+
+
+
diff --git a/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/AllTests.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/AllTests.java
deleted file mode 100644
index c670b5e55..000000000
--- a/spss/server/serverlib/src/test/java/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/java/at/gv/egovernment/moa/spss/SPSSTestCase.java b/spss/server/serverlib/src/test/java/at/gv/egovernment/moa/spss/SPSSTestCase.java
deleted file mode 100644
index a585e30a0..000000000
--- a/spss/server/serverlib/src/test/java/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/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
deleted file mode 100644
index 28f79729e..000000000
--- a/spss/server/serverlib/src/test/java/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/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
deleted file mode 100644
index 7ce705b01..000000000
--- a/spss/server/serverlib/src/test/java/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/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
deleted file mode 100644
index f580f86bc..000000000
--- a/spss/server/serverlib/src/test/java/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/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
deleted file mode 100644
index 4be7667eb..000000000
--- a/spss/server/serverlib/src/test/java/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/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
deleted file mode 100644
index 3b8e8b00e..000000000
--- a/spss/server/serverlib/src/test/java/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/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
deleted file mode 100644
index 131f38c19..000000000
--- a/spss/server/serverlib/src/test/java/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/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
deleted file mode 100644
index 474a387ad..000000000
--- a/spss/server/serverlib/src/test/java/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/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
deleted file mode 100644
index adf02809b..000000000
--- a/spss/server/serverlib/src/test/java/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/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
deleted file mode 100644
index 7da2165cb..000000000
--- a/spss/server/serverlib/src/test/java/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/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
deleted file mode 100644
index be1090e4a..000000000
--- a/spss/server/serverlib/src/test/java/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/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
deleted file mode 100644
index 3b403dc19..000000000
--- a/spss/server/serverlib/src/test/java/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/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
deleted file mode 100644
index 65fa2bf72..000000000
--- a/spss/server/serverlib/src/test/java/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/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
deleted file mode 100644
index 3024730f4..000000000
--- a/spss/server/serverlib/src/test/java/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/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
deleted file mode 100644
index 7de2add33..000000000
--- a/spss/server/serverlib/src/test/java/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/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
deleted file mode 100644
index 13a80cbf1..000000000
--- a/spss/server/serverlib/src/test/java/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/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
deleted file mode 100644
index 28cd3805a..000000000
--- a/spss/server/serverlib/src/test/java/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/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
deleted file mode 100644
index 56e3d541b..000000000
--- a/spss/server/serverlib/src/test/java/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/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
deleted file mode 100644
index b46c20086..000000000
--- a/spss/server/serverlib/src/test/java/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/test/at/gv/egovernment/moa/spss/AllTests.java b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/AllTests.java
new file mode 100644
index 000000000..c670b5e55
--- /dev/null
+++ b/spss/server/serverlib/src/test/java/test/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/test/at/gv/egovernment/moa/spss/SPSSTestCase.java b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/SPSSTestCase.java
new file mode 100644
index 000000000..a585e30a0
--- /dev/null
+++ b/spss/server/serverlib/src/test/java/test/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/test/at/gv/egovernment/moa/spss/api/xmlbind/AllTests.java b/spss/server/serverlib/src/test/java/test/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/test/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/test/at/gv/egovernment/moa/spss/api/xmlbind/CreateXMLSignatureRequestParserTest.java b/spss/server/serverlib/src/test/java/test/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/test/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/test/at/gv/egovernment/moa/spss/api/xmlbind/TransformParserTest.java b/spss/server/serverlib/src/test/java/test/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/test/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/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyCMSSignatureRequestParserTest.java b/spss/server/serverlib/src/test/java/test/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/test/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/test/at/gv/egovernment/moa/spss/api/xmlbind/VerifyXMLSignatureRequestParserTest.java b/spss/server/serverlib/src/test/java/test/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/test/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/test/at/gv/egovernment/moa/spss/server/config/AllTests.java b/spss/server/serverlib/src/test/java/test/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/test/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/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest1.java b/spss/server/serverlib/src/test/java/test/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/test/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/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest2.java b/spss/server/serverlib/src/test/java/test/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/test/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/test/at/gv/egovernment/moa/spss/server/config/ConfigurationProviderTest3.java b/spss/server/serverlib/src/test/java/test/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/test/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/test/at/gv/egovernment/moa/spss/server/iaik/config/ConfigurationDataImplTest.java b/spss/server/serverlib/src/test/java/test/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/test/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/test/at/gv/egovernment/moa/spss/server/iaik/config/IaikConfiguratorTest.java b/spss/server/serverlib/src/test/java/test/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/test/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/test/at/gv/egovernment/moa/spss/server/invoke/AllTests.java b/spss/server/serverlib/src/test/java/test/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/test/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/test/at/gv/egovernment/moa/spss/server/invoke/CMSSignatureVerificationInvokerTest.java b/spss/server/serverlib/src/test/java/test/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/test/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/test/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactoryTest.java b/spss/server/serverlib/src/test/java/test/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/test/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/test/at/gv/egovernment/moa/spss/server/invoke/TransformationFactoryTest.java b/spss/server/serverlib/src/test/java/test/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/test/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/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureCreationInvokerTest.java b/spss/server/serverlib/src/test/java/test/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/test/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/test/at/gv/egovernment/moa/spss/server/invoke/XMLSignatureVerificationInvokerTest.java b/spss/server/serverlib/src/test/java/test/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/test/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/test/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java
new file mode 100644
index 000000000..ac6e8c3e0
--- /dev/null
+++ b/spss/server/serverlib/src/test/java/test/at/gv/egovernment/moa/spss/server/tools/CertToolTest.java
@@ -0,0 +1,49 @@
+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 88b3345d6..aed4e8cc1 100644
--- a/spss/server/serverws/pom.xml
+++ b/spss/server/serverws/pom.xml
@@ -57,7 +57,7 @@
MOA.spss.servermoa-spss-lib
- ${pom.version}
+
MOA
diff --git a/spss/server/serverws/tools/ConfigurationMapper.xsl b/spss/server/serverws/tools/ConfigurationMapper.xsl
deleted file mode 100644
index fd47cbf84..000000000
--- a/spss/server/serverws/tools/ConfigurationMapper.xsl
+++ /dev/null
@@ -1,343 +0,0 @@
-
-
-
-
-
-
-
- MOA SPSS 1.3 Configuration File created by MOA SPSS Configuration Mapper
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- http://www.w3.org/TR/2001/REC-xml-c14n-20010315
-
-
-
-
-
-
-
- http://www.w3.org/2000/09/xmldsig#sha1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- pkix
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- CRL
- OCSP
-
-
-
-
-
-
-
-
-
-
-
-
-
- 365
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- all
-
-
- unused
-
-
- keyCompromise
-
-
- cACompromise
-
-
- affiliationChanged
-
-
- superseded
-
-
- cessationOfOperation
-
-
- certificateHold
-
-
- privilegeWithdrawn
-
-
- aACompromise
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/spss/server/tools/pom.xml b/spss/server/tools/pom.xml
index 3a3cde79c..191ba234f 100644
--- a/spss/server/tools/pom.xml
+++ b/spss/server/tools/pom.xml
@@ -1,38 +1,56 @@
-
-
- MOA.spss
- moa-spss
- 1.4.x
-
+
+
+ MOA.spss
+ moa-spss
+ 1.4.x
+
- 4.0.0
- MOA.spss.server
- moa-spss-tools
- jar
- 1.4.2
- MOA SP/SS Tools
+ 4.0.0
+ MOA.spss.server
+ moa-spss-tools
+ jar
+ 1.4.2
+ MOA SP/SS Tools
-
- ${basedir}/../../../buildhelper
-
+
+ ${basedir}/../../../buildhelper
+
-
-
- MOA.spss.server
- moa-spss-lib
- ${pom.version}
-
-
- iaik.prod
- iaik_jce_full
- compile
-
-
- iaik.prod
- iaik_ecc
- compile
-
-
+
+
+
+ iaik.prod
+ iaik_moa
+
+
+ iaik.prod
+ iaik_jce_full
+ compile
+
+
+ iaik.prod
+ iaik_ecc
+ compile
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ false
+
+
+
+
+
diff --git a/spss/server/tools/run/certtool.bat b/spss/server/tools/run/certtool.bat
new file mode 100644
index 000000000..ae55bc4a5
--- /dev/null
+++ b/spss/server/tools/run/certtool.bat
@@ -0,0 +1,25 @@
+@echo off
+
+rem
+rem Script to invoke the CertTool class
+rem
+rem Author: Patrick Peck
+rem Version: $Id: certtool.bat,v 1.6 2003/05/08 11:46:29 peck Exp $
+rem
+
+
+if %OS%=="Windows_NT" @setlocal
+
+set CERTTOOL=at.gv.egovernment.moa.spss.server.tools.CertTool
+set TOOLSPATH=%~p0
+set CLASSPATH=%TOOLSPATH%tools.jar;%TOOLSPATH%iaik_moa.jar;%TOOLSPATH%iaik_jce_full.jar;%TOOLSPATH%iaik_ecc.jar;%TOOLSPATH%log4j.jar
+
+if "%JAVA_HOME%"=="" goto noJavaHome
+%JAVA_HOME%\bin\java.exe -classpath %CLASSPATH% %CERTTOOL% %1 %2 %3 %4 %5 %6 %7 %8 %9
+goto end
+
+:noJavaHome
+echo error: JAVA_HOME not defined
+
+:end
+if %OS%=="Windows_NT" @endlocal
\ No newline at end of file
diff --git a/spss/server/tools/run/certtool.sh b/spss/server/tools/run/certtool.sh
new file mode 100644
index 000000000..721eff4d8
--- /dev/null
+++ b/spss/server/tools/run/certtool.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+#
+# Script to invoke the CertTool class
+#
+# Author:Patrick Peck
+# Version: $Id: certtool.sh,v 1.9 2003/06/23 16:01:27 peck Exp $
+#
+
+
+if [ -z "$JAVA_HOME" ]; then
+ echo "error: JAVA_HOME not defined";
+ exit;
+fi
+
+CERTOOL=at.gv.egovernment.moa.spss.server.tools.CertTool
+TOOLSPATH=`dirname $PWD/$0`
+CLASSPATH=$TOOLSPATH/tools.jar:$TOOLSPATH/iaik_moa.jar:$TOOLSPATH/iaik_jce_full.jar:$TOOLSPATH/iaik_ecc.jar:$TOOLSPATH/log4j.jar
+
+$JAVA_HOME/bin/java -classpath $CLASSPATH $CERTOOL $*
diff --git a/spss/server/tools/run/configtool.bat b/spss/server/tools/run/configtool.bat
new file mode 100644
index 000000000..868df11f0
--- /dev/null
+++ b/spss/server/tools/run/configtool.bat
@@ -0,0 +1,25 @@
+@echo off
+
+rem
+rem Script to invoke the ConfigTool class
+rem
+rem Author: Gregor Karlinger
+rem Version: $Id: $
+rem
+
+
+if %OS%=="Windows_NT" @setlocal
+
+set CONFIGTOOL=at.gv.egovernment.moa.spss.server.tools.ConfigTool
+set TOOLSPATH=%~p0
+set CLASSPATH=%TOOLSPATH%tools.jar;%TOOLSPATH%xalan.jar;
+
+if "%JAVA_HOME%"=="" goto noJavaHome
+%JAVA_HOME%\bin\java.exe -classpath %CLASSPATH% %CONFIGTOOL% %1 %2 %3 %4 %5 %6 %7 %8 %9
+goto end
+
+:noJavaHome
+echo error: JAVA_HOME not defined
+
+:end
+if %OS%=="Windows_NT" @endlocal
\ No newline at end of file
diff --git a/spss/server/tools/run/configtool.sh b/spss/server/tools/run/configtool.sh
new file mode 100644
index 000000000..f7f29bae1
--- /dev/null
+++ b/spss/server/tools/run/configtool.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+#
+# Script to invoke the ConfigTool class
+#
+# Author: Gregor Karlinger
+# Version: $Id: $
+#
+
+
+if [ -z "$JAVA_HOME" ]; then
+ echo "error: JAVA_HOME not defined";
+ exit;
+fi
+
+CONFIGTOOL=at.gv.egovernment.moa.spss.server.tools.ConfigTool
+TOOLSPATH=`dirname $PWD/$0`
+CLASSPATH=$TOOLSPATH/tools.jar:$TOOLSPATH/xalan.jar
+
+$JAVA_HOME/bin/java -classpath $CLASSPATH $CONFIGTOOL $*
diff --git a/spss/server/tools/src/main/resources/tools/ConfigurationMapper.xsl b/spss/server/tools/src/main/resources/tools/ConfigurationMapper.xsl
new file mode 100644
index 000000000..fd47cbf84
--- /dev/null
+++ b/spss/server/tools/src/main/resources/tools/ConfigurationMapper.xsl
@@ -0,0 +1,343 @@
+
+
+
+
+
+
+
+ MOA SPSS 1.3 Configuration File created by MOA SPSS Configuration Mapper
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ http://www.w3.org/TR/2001/REC-xml-c14n-20010315
+
+
+
+
+
+
+
+ http://www.w3.org/2000/09/xmldsig#sha1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pkix
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CRL
+ OCSP
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 365
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ all
+
+
+ unused
+
+
+ keyCompromise
+
+
+ cACompromise
+
+
+ affiliationChanged
+
+
+ superseded
+
+
+ cessationOfOperation
+
+
+ certificateHold
+
+
+ privilegeWithdrawn
+
+
+ aACompromise
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/spss/server/tools/src/main/resources/tools/certtool.bat b/spss/server/tools/src/main/resources/tools/certtool.bat
deleted file mode 100644
index ae55bc4a5..000000000
--- a/spss/server/tools/src/main/resources/tools/certtool.bat
+++ /dev/null
@@ -1,25 +0,0 @@
-@echo off
-
-rem
-rem Script to invoke the CertTool class
-rem
-rem Author: Patrick Peck
-rem Version: $Id: certtool.bat,v 1.6 2003/05/08 11:46:29 peck Exp $
-rem
-
-
-if %OS%=="Windows_NT" @setlocal
-
-set CERTTOOL=at.gv.egovernment.moa.spss.server.tools.CertTool
-set TOOLSPATH=%~p0
-set CLASSPATH=%TOOLSPATH%tools.jar;%TOOLSPATH%iaik_moa.jar;%TOOLSPATH%iaik_jce_full.jar;%TOOLSPATH%iaik_ecc.jar;%TOOLSPATH%log4j.jar
-
-if "%JAVA_HOME%"=="" goto noJavaHome
-%JAVA_HOME%\bin\java.exe -classpath %CLASSPATH% %CERTTOOL% %1 %2 %3 %4 %5 %6 %7 %8 %9
-goto end
-
-:noJavaHome
-echo error: JAVA_HOME not defined
-
-:end
-if %OS%=="Windows_NT" @endlocal
\ No newline at end of file
diff --git a/spss/server/tools/src/main/resources/tools/certtool.sh b/spss/server/tools/src/main/resources/tools/certtool.sh
deleted file mode 100644
index 721eff4d8..000000000
--- a/spss/server/tools/src/main/resources/tools/certtool.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-#
-# Script to invoke the CertTool class
-#
-# Author:Patrick Peck
-# Version: $Id: certtool.sh,v 1.9 2003/06/23 16:01:27 peck Exp $
-#
-
-
-if [ -z "$JAVA_HOME" ]; then
- echo "error: JAVA_HOME not defined";
- exit;
-fi
-
-CERTOOL=at.gv.egovernment.moa.spss.server.tools.CertTool
-TOOLSPATH=`dirname $PWD/$0`
-CLASSPATH=$TOOLSPATH/tools.jar:$TOOLSPATH/iaik_moa.jar:$TOOLSPATH/iaik_jce_full.jar:$TOOLSPATH/iaik_ecc.jar:$TOOLSPATH/log4j.jar
-
-$JAVA_HOME/bin/java -classpath $CLASSPATH $CERTOOL $*
diff --git a/spss/server/tools/src/main/resources/tools/configtool.bat b/spss/server/tools/src/main/resources/tools/configtool.bat
deleted file mode 100644
index 868df11f0..000000000
--- a/spss/server/tools/src/main/resources/tools/configtool.bat
+++ /dev/null
@@ -1,25 +0,0 @@
-@echo off
-
-rem
-rem Script to invoke the ConfigTool class
-rem
-rem Author: Gregor Karlinger
-rem Version: $Id: $
-rem
-
-
-if %OS%=="Windows_NT" @setlocal
-
-set CONFIGTOOL=at.gv.egovernment.moa.spss.server.tools.ConfigTool
-set TOOLSPATH=%~p0
-set CLASSPATH=%TOOLSPATH%tools.jar;%TOOLSPATH%xalan.jar;
-
-if "%JAVA_HOME%"=="" goto noJavaHome
-%JAVA_HOME%\bin\java.exe -classpath %CLASSPATH% %CONFIGTOOL% %1 %2 %3 %4 %5 %6 %7 %8 %9
-goto end
-
-:noJavaHome
-echo error: JAVA_HOME not defined
-
-:end
-if %OS%=="Windows_NT" @endlocal
\ No newline at end of file
diff --git a/spss/server/tools/src/main/resources/tools/configtool.sh b/spss/server/tools/src/main/resources/tools/configtool.sh
deleted file mode 100644
index f7f29bae1..000000000
--- a/spss/server/tools/src/main/resources/tools/configtool.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-#
-# Script to invoke the ConfigTool class
-#
-# Author: Gregor Karlinger
-# Version: $Id: $
-#
-
-
-if [ -z "$JAVA_HOME" ]; then
- echo "error: JAVA_HOME not defined";
- exit;
-fi
-
-CONFIGTOOL=at.gv.egovernment.moa.spss.server.tools.ConfigTool
-TOOLSPATH=`dirname $PWD/$0`
-CLASSPATH=$TOOLSPATH/tools.jar:$TOOLSPATH/xalan.jar
-
-$JAVA_HOME/bin/java -classpath $CLASSPATH $CONFIGTOOL $*
--
cgit v1.2.3
From 20689558ce4a30b369644e9cf31619237490517f Mon Sep 17 00:00:00 2001
From: pdanner
Date: Thu, 13 Sep 2007 09:36:37 +0000
Subject: went back to axis 1.0 in SP/SS (dsig-Namespaceproblem on provided
Stylesheets), fixed bug in transactions entity-cache
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@1008 d688527b-c9ab-4aba-bd8d-4036d912da1d
---
common/pom.xml | 4 +-
id/pom.xml | 4 +-
id/server/auth/pom.xml | 206 +++++-----
id/server/idserverlib/pom.xml | 339 ++++++++--------
id/server/pom.xml | 4 +-
id/server/proxy/pom.xml | 122 +++---
id/templates/pom.xml | 4 +-
pom.xml | 51 ++-
spss/handbook/clients/api/pom.xml | 256 ++++++------
.../clients/webservice/conf/http.properties | 4 +-
spss/handbook/clients/webservice/pom.xml | 258 ++++++------
spss/pom.xml | 2 +-
spss/server/serverlib/pom.xml | 452 +++++++++++----------
.../moa/spss/server/invoke/DataObjectFactory.java | 14 +-
.../moa/spss/server/service/AxisHandler.java | 26 +-
.../server/service/SignatureCreationService.java | 2 +-
.../service/SignatureVerificationService.java | 2 +-
.../server/transaction/TransactionContext.java | 5 +-
spss/server/serverws/pom.xml | 2 +-
spss/server/tools/pom.xml | 2 +-
20 files changed, 919 insertions(+), 840 deletions(-)
(limited to 'id/server/idserverlib')
diff --git a/common/pom.xml b/common/pom.xml
index ed8d0e95f..e8110385a 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -2,12 +2,12 @@
MOAMOA
- 1.4.2
+ 1.4.2beta14.0.0MOAmoa-common
- 1.4.2
+ 1.4.2beta1jarMOA common library
diff --git a/id/pom.xml b/id/pom.xml
index bef0efa09..ab3b59e7d 100644
--- a/id/pom.xml
+++ b/id/pom.xml
@@ -3,14 +3,14 @@
MOAMOA
- 1.4.2
+ 1.4.2beta14.0.0MOAidpom
- 1.4.2
+ 1.4.2beta1MOA ID
diff --git a/id/server/auth/pom.xml b/id/server/auth/pom.xml
index ef53ba336..5c2d64192 100644
--- a/id/server/auth/pom.xml
+++ b/id/server/auth/pom.xml
@@ -1,37 +1,35 @@
-
-
- MOA.id
- moa-id
- 1.4.2
-
-
- 4.0.0
- MOA.id.server
- moa-id-auth
- war
- 1.4.2
- MOA ID-Auth WebService
-
-
- ${basedir}/../../../repository
-
-
-
-
-
- org.apache.maven.plugins
- maven-war-plugin
- 2.0.2
-
-
-
- false
- true
-
- false
-
+
+
+ MOA.id
+ moa-id
+ 1.4.2beta1
+
+
+ 4.0.0
+ MOA.id.server
+ moa-id-auth
+ war
+ 1.4.2beta1
+ MOA ID-Auth WebService
+
+
+ ${basedir}/../../../repository
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-war-plugin
+ 2.0.2
+
+
+
+ false
+ true
+
+ false
+
-
-
-
-
-
-
-
- MOA.spss.server
- moa-spss-lib
-
-
-
- MOA.id.server
- moa-id-lib
-
-
-
-
- iaik.prod
- iaik_jce_full
-
- provided
-
-
- iaik.prod
- iaik_ecc
-
- provided
-
-
- iaik.prod
- iaik_Pkcs11Provider
-
- provided
-
-
- iaik.prod
- iaik_Pkcs11Wrapper
-
- provided
-
-
- xalan-bin-dist
- xalan
-
- provided
-
-
- xerces
- xercesImpl
-
- provided
-
-
- xalan-bin-dist
- xml-apis
-
- provided
-
-
- xalan-bin-dist
- serializer
-
- provided
-
-
+-->
+
+
+
+
+
+
+
+
+ axis
+ axis
+ 1.4
+
+
+ MOA.spss.server
+ moa-spss-lib
+
+
+
+ MOA.id.server
+ moa-id-lib
+
+
+
+
+ iaik.prod
+ iaik_jce_full
+
+ provided
+
+
+ iaik.prod
+ iaik_ecc
+
+ provided
+
+
+ iaik.prod
+ iaik_Pkcs11Provider
+
+ provided
+
+
+ iaik.prod
+ iaik_Pkcs11Wrapper
+
+ provided
+
+
+ xalan-bin-dist
+ xalan
+
+ provided
+
+
+ xerces
+ xercesImpl
+
+ provided
+
+
+ xalan-bin-dist
+ xml-apis
+
+ provided
+
+
+ xalan-bin-dist
+ serializer
+
+ provided
+
+
diff --git a/id/server/idserverlib/pom.xml b/id/server/idserverlib/pom.xml
index 0edfe53dd..d313e1eb0 100644
--- a/id/server/idserverlib/pom.xml
+++ b/id/server/idserverlib/pom.xml
@@ -1,176 +1,175 @@
-
-
- MOA.id
- moa-id
- 1.4.2
-
+
+
+ MOA.id
+ moa-id
+ 1.4.2beta1
+
- 4.0.0
- MOA.id.server
- moa-id-lib
- jar
- 1.4.2
- MOA ID API
+ 4.0.0
+ MOA.id.server
+ moa-id-lib
+ jar
+ 1.4.2beta1
+ MOA ID API
-
- ${basedir}/../../../repository
-
+
+ ${basedir}/../../../repository
+
-
-
- javax.activation
- activation
-
-
- axis
- axis
-
-
- javax.mail
- mail
-
-
- javax.servlet
- servlet-api
- provided
-
-
- xerces
- xercesImpl
-
-
- xalan-bin-dist
- xml-apis
-
-
- xalan-bin-dist
- xalan
-
-
- xalan-bin-dist
- serializer
-
-
- junit
- junit
- test
-
-
- commons-logging
- commons-logging
-
-
- commons-discovery
- commons-discovery
-
-
- commons-fileupload
- commons-fileupload
-
-
- dav4j
- dav4j
-
-
- httpsclient
- httpsclient
-
-
- MOA
- moa-common
- jar
-
-
- MOA
- moa-common
- test-jar
-
-
- MOA.spss.server
- moa-spss-lib
-
-
-
- iaik.prod
- iaik_moa
-
-
- iaik.prod
- iaik_ecc
-
-
- iaik.prod
- iaik_jce_full
- provided
-
-
- iaik.prod
- iaik_ixsil
-
-
- iaik.prod
- iaik_X509TrustManager
-
-
- regexp
- regexp
-
-
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
-
-
- false
-
-
-
-
-
- test-jar
-
-
-
-
-
- org.apache.maven.plugins
- maven-javadoc-plugin
- 2.2
-
- true
- false
- false
-
-
+
+
+ MOA
+ moa-common
+ jar
+
+
+ MOA
+ moa-common
+ test-jar
+ test
+
+
+ MOA.spss.server
+ moa-spss-lib
+
+
+
+ axis
+ axis
+ 1.4
+
+
+ javax.mail
+ mail
+
+
+ javax.servlet
+ servlet-api
+ provided
+
+
+ xerces
+ xercesImpl
+
+
+ xalan-bin-dist
+ xml-apis
+
+
+ xalan-bin-dist
+ xalan
+
+
+ xalan-bin-dist
+ serializer
+
+
+ junit
+ junit
+ test
+
+
+ commons-logging
+ commons-logging
+
+
+ commons-discovery
+ commons-discovery
+
+
+ commons-fileupload
+ commons-fileupload
+
+
+ dav4j
+ dav4j
+
+
+ httpsclient
+ httpsclient
+
+
+ iaik.prod
+ iaik_moa
+
+
+ iaik.prod
+ iaik_ecc
+
+
+ iaik.prod
+ iaik_jce_full
+ provided
+
+
+ iaik.prod
+ iaik_ixsil
+
+
+ iaik.prod
+ iaik_X509TrustManager
+
+
+ regexp
+ regexp
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ false
+
+
+
+
+
+ test-jar
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 2.2
+
+ true
+ false
+ false
+
+
at.gv.egovernment.moa.spss.server.*;at.gv.egovernment.moa.spss.api.impl.*;at.gv.egovernment.moa.spss.impl.*
-
-
- pre
- a
- Preconditions:
-
-
- post
- a
- Postconditions:
-
-
- http://java.sun.com/j2se/1.4/docs/api/
-
-
-
- generate-javadoc
- package
-
- jar
-
-
-
-
-
-
+
+
+ pre
+ a
+ Preconditions:
+
+
+ post
+ a
+ Postconditions:
+
+
+ http://java.sun.com/j2se/1.4/docs/api/
+
+
+
+ generate-javadoc
+ package
+
+ jar
+
+
+
+
+
+
+
diff --git a/id/server/pom.xml b/id/server/pom.xml
index 2173b97c4..246aec38d 100644
--- a/id/server/pom.xml
+++ b/id/server/pom.xml
@@ -4,14 +4,14 @@
MOAid
- 1.4.2
+ 1.4.2beta14.0.0MOA.idmoa-idpom
- 1.4.2
+ 1.4.2beta1MOA ID Server
diff --git a/id/server/proxy/pom.xml b/id/server/proxy/pom.xml
index 103393d53..218ee02f9 100644
--- a/id/server/proxy/pom.xml
+++ b/id/server/proxy/pom.xml
@@ -1,24 +1,21 @@
-
+MOA.idmoa-id
- 1.4.2
+ 1.4.2beta1
-
+
${basedir}/../../../repository
-
-
+
4.0.0MOA.id.servermoa-id-proxywar
- 1.4.2
+ 1.4.2beta1MOA ID-Proxy WebService
-
+
@@ -31,7 +28,7 @@
falsetrue
- false
+ false
+
+ axis
+ axis
+ 1.4
+ MOA.spss.servermoa-spss-lib
@@ -62,55 +64,55 @@
moa-id-lib
-
-
- iaik.prod
- iaik_jce_full
-
- provided
-
-
- iaik.prod
- iaik_ecc
-
- provided
-
-
- iaik.prod
- iaik_Pkcs11Provider
-
- provided
-
-
- iaik.prod
- iaik_Pkcs11Wrapper
-
- provided
-
-
- xalan-bin-dist
- xalan
-
- provided
-
-
- xerces
- xercesImpl
-
- provided
-
-
- xalan-bin-dist
- xml-apis
-
- provided
-
-
- xalan-bin-dist
- serializer
-
- provided
-
+
+
+ iaik.prod
+ iaik_jce_full
+
+ provided
+
+
+ iaik.prod
+ iaik_ecc
+
+ provided
+
+
+ iaik.prod
+ iaik_Pkcs11Provider
+
+ provided
+
+
+ iaik.prod
+ iaik_Pkcs11Wrapper
+
+ provided
+
+
+ xalan-bin-dist
+ xalan
+
+ provided
+
+
+ xerces
+ xercesImpl
+
+ provided
+
+
+ xalan-bin-dist
+ xml-apis
+
+ provided
+
+
+ xalan-bin-dist
+ serializer
+
+ provided
+
diff --git a/id/templates/pom.xml b/id/templates/pom.xml
index 440bf9448..bbcd53262 100644
--- a/id/templates/pom.xml
+++ b/id/templates/pom.xml
@@ -4,14 +4,14 @@
MOAid
- 1.4.2
+ 1.4.2beta14.0.0MOA.idmoa-id-templateswar
- 1.4.2
+ 1.4.2beta1MOA ID Sample Templates
diff --git a/pom.xml b/pom.xml
index dab384dc0..8a8ddde0c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
MOAMOApom
- 1.4.2
+ 1.4.2beta1MOA
@@ -46,8 +46,8 @@
true${env.BUILD_EXECUTEABLE}${env.BUILD_VERSION}
- 1.3
- 1.3
+ 1.4
+ 1.4
@@ -97,7 +97,26 @@
axisaxis
- 1.4
+ 1.0
+ compile
+
+
+ axis
+ axis-jaxrpc
+ 1.4
+ compile
+
+
+ axis
+ axis-saaj
+ 1.4
+ compile
+
+
+ axis
+ axis-wsdl4j
+ 1.5.1
+ compile
@@ -157,33 +176,33 @@
MOAmoa-common
- 1.4.2
+ 1.4.2beta1compile
-
- MOA
- moa-common
- 1.4.2
- compile
- test-jar
- MOA.id.servermoa-id-lib
- 1.4.2
+ 1.4.2beta1compileMOA.spss.servermoa-spss-lib
- 1.4.2
+ 1.4.2beta1compile
+
+ MOA
+ moa-common
+ 1.4.2beta1
+ test-jar
+ test
+ MOA.spss.servermoa-spss-tools
- 1.4.2
- compile
+ 1.4
+ testjunit
diff --git a/spss/handbook/clients/api/pom.xml b/spss/handbook/clients/api/pom.xml
index da9e7de7f..9b557a181 100644
--- a/spss/handbook/clients/api/pom.xml
+++ b/spss/handbook/clients/api/pom.xml
@@ -1,127 +1,137 @@
-
-
- MOA.spss.handbook.clients
- moa-spss-handbook-clients
- 1.4
-
+
+
+ MOA.spss.handbook.clients
+ moa-spss-handbook-clients
+ 1.4
+
+
+ 4.0.0
+ MOA.spss.handbook
+ moa-spss-handbook-apiClient
+ jar
+ 1.4
+ MOA SP/SS Handbook API Client
- 4.0.0
- MOA.spss.handbook
- moa-spss-handbook-apiClient
- jar
- 1.4
- MOA SP/SS Handbook API Client
+
+ ${basedir}/../../../../../repository
+
-
- ${basedir}/../../../../../repository
-
-
-
-
- axis
- axis
-
-
- commons-discovery
- commons-discovery
-
-
- commons-logging
- commons-logging
-
-
- javax.activation
- activation
-
-
- javax.mail
- mail
-
-
- junit
- junit
-
-
- log4j
- log4j
-
-
- postgresql
- postgresql
-
-
- javax.servlet
- servlet-api
- provided
-
-
- xalan-bin-dist
- xalan
- compile
-
-
- xerces
- xercesImpl
-
-
- xalan-bin-dist
- xml-apis
-
-
- xalan-bin-dist
- serializer
-
-
- iaik.prod
- iaik_moa
-
-
- iaik.prod
- iaik_ixsil
-
-
- iaik.prod
- iaik_jce_full
- compile
-
-
- iaik.prod
- iaik_ecc
- compile
-
-
- iaik.prod
- iaik_cms
- runtime
-
-
- iaik.prod
- iaik_Pkcs11Provider
- runtime
-
-
- iaik.prod
- iaik_Pkcs11Wrapper
- runtime
-
-
- iaik.prod
- iaik_Pkcs11Wrapper
- win32
- dll
- runtime
- true
-
-
- MOA
- moa-common
-
-
- MOA.spss.server
- moa-spss-lib
-
-
-
+
+
+ axis
+ axis
+
+
+ axis
+ axis-jaxrpc
+
+
+ axis
+ axis-saaj
+
+
+ axis
+ axis-wsdl4j
+
+
+ commons-discovery
+ commons-discovery
+
+
+ commons-logging
+ commons-logging
+
+
+ javax.activation
+ activation
+
+
+ javax.mail
+ mail
+
+
+ junit
+ junit
+
+
+ log4j
+ log4j
+
+
+ postgresql
+ postgresql
+
+
+ javax.servlet
+ servlet-api
+ provided
+
+
+ xalan-bin-dist
+ xalan
+ compile
+
+
+ xerces
+ xercesImpl
+
+
+ xalan-bin-dist
+ xml-apis
+
+
+ xalan-bin-dist
+ serializer
+
+
+ iaik.prod
+ iaik_moa
+
+
+ iaik.prod
+ iaik_ixsil
+
+
+ iaik.prod
+ iaik_jce_full
+ compile
+
+
+ iaik.prod
+ iaik_ecc
+ compile
+
+
+ iaik.prod
+ iaik_cms
+ runtime
+
+
+ iaik.prod
+ iaik_Pkcs11Provider
+ runtime
+
+
+ iaik.prod
+ iaik_Pkcs11Wrapper
+ runtime
+
+
+ iaik.prod
+ iaik_Pkcs11Wrapper
+ win32
+ dll
+ runtime
+ true
+
+
+ MOA
+ moa-common
+
+
+ MOA.spss.server
+ moa-spss-lib
+
+
diff --git a/spss/handbook/clients/webservice/conf/http.properties b/spss/handbook/clients/webservice/conf/http.properties
index 22f2d2cda..e61785a81 100644
--- a/spss/handbook/clients/webservice/conf/http.properties
+++ b/spss/handbook/clients/webservice/conf/http.properties
@@ -16,10 +16,10 @@ signServiceEndPoint = http://localhost:8080/moa-spss/services/SignatureCreation
# Name des zu sendenden Signaturerstellungsrequests (entweder absolute
# oder relative Pfadangabe; eine relative Pfadangabe wird relativ zum
# Arbeitsverzeichnis der Java VM interpretiert)
-signRequest = resources/requests/CreateXMLSignatureRequest.Simple.xml
+#signRequest = resources/requests/CreateXMLSignatureRequest.Simple.xml
#signRequest=resources/requests/CreateXMLSignatureRequest.Refs.xml
#signRequest=resources/requests/CreateXMLSignatureRequest.Transforms.xml
-#signRequest=resources/requests/CreateXMLSignatureRequest.Supplements.xml
+signRequest=resources/requests/CreateXMLSignatureRequest.Supplements.xml
#
diff --git a/spss/handbook/clients/webservice/pom.xml b/spss/handbook/clients/webservice/pom.xml
index 41d8874db..52cfb0aa1 100644
--- a/spss/handbook/clients/webservice/pom.xml
+++ b/spss/handbook/clients/webservice/pom.xml
@@ -1,127 +1,137 @@
-
-
- MOA.spss.handbook.clients
- moa-spss-handbook-clients
- 1.4
-
+
+
+ MOA.spss.handbook.clients
+ moa-spss-handbook-clients
+ 1.4
+
+
+ 4.0.0
+ MOA.spss.handbook.clients
+ moa-spss-handbook-webserviceClient
+ jar
+ 1.4
+ MOA SP/SS Handbook WebService Client
+
+
+ ${basedir}/../../../../../repository
+
- 4.0.0
- MOA.spss.handbook.clients
- moa-spss-handbook-webserviceClient
- jar
- 1.4
- MOA SP/SS Handbook WebService Client
-
-
- ${basedir}/../../../../../repository
-
-
-
-
- axis
- axis
-
-
- commons-discovery
- commons-discovery
-
-
- commons-logging
- commons-logging
-
-
- javax.activation
- activation
-
-
- javax.mail
- mail
-
-
- junit
- junit
-
-
- log4j
- log4j
-
-
- postgresql
- postgresql
-
-
- javax.servlet
- servlet-api
- provided
-
-
- xalan-bin-dist
- xalan
- compile
-
-
- xerces
- xercesImpl
-
-
- xalan-bin-dist
- xml-apis
-
-
- xalan-bin-dist
- serializer
-
-
- iaik.prod
- iaik_moa
-
-
- iaik.prod
- iaik_ixsil
-
-
- iaik.prod
- iaik_jce_full
- compile
-
-
- iaik.prod
- iaik_ecc
- compile
-
-
- iaik.prod
- iaik_cms
- runtime
-
-
- iaik.prod
- iaik_Pkcs11Provider
- runtime
-
-
- iaik.prod
- iaik_Pkcs11Wrapper
- runtime
-
-
- iaik.prod
- iaik_Pkcs11Wrapper
- win32
- dll
- runtime
- true
-
-
- MOA
- moa-common
-
-
- MOA.spss.server
- moa-spss-lib
-
-
-
+
+
+ axis
+ axis
+
+
+ axis
+ axis-jaxrpc
+
+
+ axis
+ axis-saaj
+
+
+ axis
+ axis-wsdl4j
+
+
+ commons-discovery
+ commons-discovery
+
+
+ commons-logging
+ commons-logging
+
+
+ javax.activation
+ activation
+
+
+ javax.mail
+ mail
+
+
+ junit
+ junit
+
+
+ log4j
+ log4j
+
+
+ postgresql
+ postgresql
+
+
+ javax.servlet
+ servlet-api
+ provided
+
+
+ xalan-bin-dist
+ xalan
+ compile
+
+
+ xerces
+ xercesImpl
+
+
+ xalan-bin-dist
+ xml-apis
+
+
+ xalan-bin-dist
+ serializer
+
+
+ iaik.prod
+ iaik_moa
+
+
+ iaik.prod
+ iaik_ixsil
+
+
+ iaik.prod
+ iaik_jce_full
+ compile
+
+
+ iaik.prod
+ iaik_ecc
+ compile
+
+
+ iaik.prod
+ iaik_cms
+ runtime
+
+
+ iaik.prod
+ iaik_Pkcs11Provider
+ runtime
+
+
+ iaik.prod
+ iaik_Pkcs11Wrapper
+ runtime
+
+
+ iaik.prod
+ iaik_Pkcs11Wrapper
+ win32
+ dll
+ runtime
+ true
+
+
+ MOA
+ moa-common
+
+
+ MOA.spss.server
+ moa-spss-lib
+
+
diff --git a/spss/pom.xml b/spss/pom.xml
index 7e99360ad..ca95ac9d0 100644
--- a/spss/pom.xml
+++ b/spss/pom.xml
@@ -3,7 +3,7 @@
MOAMOA
- 1.4.2
+ 1.4.2beta14.0.0
diff --git a/spss/server/serverlib/pom.xml b/spss/server/serverlib/pom.xml
index 2f4999825..514b43b82 100644
--- a/spss/server/serverlib/pom.xml
+++ b/spss/server/serverlib/pom.xml
@@ -1,220 +1,240 @@
-
-
- MOA.spss
- moa-spss
- 1.4.x
-
+
+
+ MOA.spss
+ moa-spss
+ 1.4.x
+
- 4.0.0
- MOA.spss.server
- moa-spss-lib
- jar
- 1.4.2
- MOA SP/SS API
+ 4.0.0
+ MOA.spss.server
+ moa-spss-lib
+ jar
+ 1.4.2beta1
+ MOA SP/SS API
-
- ${basedir}/../../../repository
-
-
-
-
- axis
- axis
-
-
- commons-discovery
- commons-discovery
-
-
- commons-logging
- commons-logging
-
-
- javax.activation
- activation
-
-
- javax.mail
- mail
-
-
- junit
- junit
-
-
- log4j
- log4j
-
-
- postgresql
- postgresql
-
-
- javax.servlet
- servlet-api
- provided
-
-
- xalan-bin-dist
- xalan
- compile
-
-
- xerces
- xercesImpl
-
-
- xalan-bin-dist
- xml-apis
-
-
- xalan-bin-dist
- serializer
-
-
- iaik.prod
- iaik_moa
-
-
- iaik.prod
- iaik_ixsil
-
-
- iaik.prod
- iaik_jce_full
- compile
-
-
- iaik.prod
- iaik_ecc
- compile
-
-
- iaik.prod
- iaik_cms
- runtime
-
-
- iaik.prod
- iaik_Pkcs11Provider
- runtime
-
-
- iaik.prod
- iaik_Pkcs11Wrapper
- runtime
-
-
- iaik.prod
- iaik_Pkcs11Wrapper
- win32
- dll
- runtime
- true
-
-
- MOA
- moa-common
- jar
-
-
- MOA
- moa-common
- test-jar
- test
-
-
- MOA.spss.server
- moa-spss-tools
- test
-
-
-
-
-
- org.apache.maven.plugins
- maven-jar-plugin
-
-
- false
-
-
-
-
- org.apache.maven.plugins
- maven-javadoc-plugin
- 2.2
-
- true
- false
- false
-
- at.gv.egovernment.moa.spss.server.*;at.gv.egovernment.moa.spss.api.impl.*;at.gv.egovernment.moa.spss.impl.*
-
-
- pre
- a
- Preconditions:
-
-
- post
- a
- Postconditions:
-
-
-
-
- API Factory and Services
- at.gv.egovernment.moa.spss.api
-
-
- Exceptions
- at.gv.egovernment.moa.spss
-
-
- API Objects for Signature Creation
- at.gv.egovernment.moa.spss.api.xmlsign
-
-
- API Objects for CMS Signature Verification
- at.gv.egovernment.moa.spss.api.cmsverify
-
-
- API Objects for XML Signature Verification
- at.gv.egovernment.moa.spss.api.xmlverify
-
-
- Common API Objects
- at.gv.egovernment.moa.spss.api.common
-
-
- Builders and Parsers to convert API Objects to and from XML
- at.gv.egovernment.moa.spss.api.xmlbind
-
-
- Utilities
- at.gv.egovernment.moa.util
- at.gv.egovernment.moa.spss.util
-
-
- Logging
- at.gv.egovernment.moa.logging
-
-
- http://java.sun.com/j2se/1.4/docs/api/
-
-
-
- generate-javadoc
- package
-
- jar
-
-
-
-
-
-
+
+ ${basedir}/../../../repository
+
+
+
+
+ axis
+ axis
+
+
+ axis
+ axis-jaxrpc
+
+
+ axis
+ axis-saaj
+
+
+ axis
+ axis-wsdl4j
+
+
+ commons-discovery
+ commons-discovery
+
+
+ commons-logging
+ commons-logging
+
+
+ javax.activation
+ activation
+
+
+ javax.mail
+ mail
+
+
+ junit
+ junit
+
+
+ log4j
+ log4j
+
+
+ postgresql
+ postgresql
+
+
+ javax.servlet
+ servlet-api
+ provided
+
+
+ xalan-bin-dist
+ xalan
+ compile
+
+
+ xerces
+ xercesImpl
+
+
+ xalan-bin-dist
+ xml-apis
+
+
+ xalan-bin-dist
+ serializer
+
+
+ iaik.prod
+ iaik_moa
+
+
+ iaik.prod
+ iaik_ixsil
+
+
+ iaik.prod
+ iaik_jce_full
+ compile
+
+
+ iaik.prod
+ iaik_ecc
+ compile
+
+
+ iaik.prod
+ iaik_cms
+ runtime
+
+
+ iaik.prod
+ iaik_Pkcs11Provider
+ runtime
+
+
+ iaik.prod
+ iaik_Pkcs11Wrapper
+ runtime
+
+
+ iaik.prod
+ iaik_Pkcs11Wrapper
+ win32
+ dll
+ runtime
+ true
+
+
+ MOA
+ moa-common
+ jar
+
+
+
+ MOA
+ moa-common
+ test-jar
+ test
+
+
+ MOA.spss.server
+ moa-spss-tools
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+
+
+ false
+
+
+
+
+ test-jar
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 2.2
+
+ true
+ false
+ false
+
+ at.gv.egovernment.moa.spss.server.*;at.gv.egovernment.moa.spss.api.impl.*;at.gv.egovernment.moa.spss.impl.*
+
+
+ pre
+ a
+ Preconditions:
+
+
+ post
+ a
+ Postconditions:
+
+
+
+
+ API Factory and Services
+ at.gv.egovernment.moa.spss.api
+
+
+ Exceptions
+ at.gv.egovernment.moa.spss
+
+
+ API Objects for Signature Creation
+ at.gv.egovernment.moa.spss.api.xmlsign
+
+
+ API Objects for CMS Signature Verification
+ at.gv.egovernment.moa.spss.api.cmsverify
+
+
+ API Objects for XML Signature Verification
+ at.gv.egovernment.moa.spss.api.xmlverify
+
+
+ Common API Objects
+ at.gv.egovernment.moa.spss.api.common
+
+
+ Builders and Parsers to convert API Objects to and from XML
+ at.gv.egovernment.moa.spss.api.xmlbind
+
+
+ Utilities
+ at.gv.egovernment.moa.util
+ at.gv.egovernment.moa.spss.util
+
+
+ Logging
+ at.gv.egovernment.moa.logging
+
+
+ http://java.sun.com/j2se/1.4/docs/api/
+
+
+
+ generate-javadoc
+ package
+
+ jar
+
+
+
+
+
+
diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java
index ad0da28f4..0abd80944 100644
--- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java
+++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/invoke/DataObjectFactory.java
@@ -191,6 +191,7 @@ public class DataObjectFactory {
}
// try to parse validating
+ Logger.trace(">>> parsing the following content: \n" + new String(contentBytes));
try {
ByteArrayInputStream is = new ByteArrayInputStream(contentBytes);
Document doc =
@@ -201,6 +202,7 @@ public class DataObjectFactory {
null,
entityResolver,
new MOAErrorHandler());
+ Logger.trace("<<< parsed");
return new XMLDataObjectImpl(doc.getDocumentElement());
} catch (Exception e) {
@@ -304,18 +306,12 @@ public class DataObjectFactory {
}
case Content.LOCREF_CONTENT:
{
- InputStream contentIS = null;
String locRefURI = ((ContentLocRef) content).getLocationReferenceURI();
-
TransactionContext context = TransactionContextManager.getInstance().getTransactionContext();
- Vector entity = context.FindResolvedEntity(locRefURI);
- if (entity!=null) {
- contentIS = (InputStream) entity.get(0);
- } else {
+ if (context.FindResolvedEntity(locRefURI)==null) {
ExternalURIResolver uriResolver = new ExternalURIResolver();
-
InputStream uriStream = null;
byte[] contentBytes;
String contentType = null;
@@ -323,7 +319,6 @@ public class DataObjectFactory {
{
uriStream = uriResolver.resolve(locRefURI);
contentBytes = StreamUtils.readStream(uriStream);
- contentIS = new ByteArrayInputStream(contentBytes);
contentType = uriResolver.getContentType();
}
catch (Exception e)
@@ -334,9 +329,10 @@ public class DataObjectFactory {
{
closeInputStream(uriStream);
}
- entities.put(locRefURI, contentIS);
context.PutResolvedEntity(locRefURI, contentBytes, contentType);
}
+ InputStream contentIS = context.ResolveURI(locRefURI);
+ entities.put(reference, contentIS);
break;
}
case Content.XML_CONTENT :
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 f5f77ff50..8e5c8a49b 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
@@ -1,6 +1,7 @@
package at.gv.egovernment.moa.spss.server.service;
import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@@ -18,6 +19,8 @@ import org.apache.axis.handlers.BasicHandler;
import org.apache.axis.transport.http.HTTPConstants;
import org.apache.axis.utils.Messages;
import org.apache.axis.utils.XMLUtils;
+import org.apache.xml.serialize.OutputFormat;
+import org.apache.xml.serialize.XMLSerializer;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
@@ -27,7 +30,6 @@ 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;
@@ -105,7 +107,11 @@ public class AxisHandler extends BasicHandler {
(X509Certificate[]) request.getAttribute(X509_CERTIFICATE_PROPERTY);
//Configure Axis
+// AxisProperties.setProperty(AxisEngine.PROP_ENABLE_NAMESPACE_PREFIX_OPTIMIZATION,"false");
+// AxisProperties.setProperty(AxisEngine.PROP_DOMULTIREFS,"false");
+// AxisProperties.setProperty(AxisEngine.PROP_SEND_XSI,"true");
//msgContext.setProperty(org.apache.axis.SOAPPart.ALLOW_FORM_OPTIMIZATION, Boolean.FALSE);
+ //msgContext.setProperty(org.apache.axis. AxisEngine.PROP_ENABLE_NAMESPACE_PREFIX_OPTIMIZATION,"false");
Message soapMessage = msgContext.getCurrentMessage();
@@ -201,9 +207,21 @@ public class AxisHandler extends BasicHandler {
info("handler.03", null);
}
if (Logger.isDebugEnabled()) {
- String msg = soapMessage.getSOAPPartAsString();
- Logger.debug(new LogMsg(msg));
- }
+// OutputFormat format = new OutputFormat((Document) xmlRequest.getOwnerDocument());
+// format.setLineSeparator("\n");
+// format.setIndenting(false);
+// format.setPreserveSpace(true);
+// format.setOmitXMLDeclaration(false);
+// format.setEncoding("UTF-8");
+// ByteArrayOutputStream baos = new ByteArrayOutputStream();
+// XMLSerializer conSerializer = new XMLSerializer(baos, format);
+// conSerializer.serialize(xmlRequest);
+// Logger.debug(new LogMsg("Request:" + baos.toString()));
+
+
+ String msg = soapMessage.getSOAPPartAsString();
+ Logger.debug(new LogMsg(msg));
+ }
} catch (MOASystemException e) {
MOASystemException se = new MOASystemException("2900", null, e);
AxisFault fault = AxisFault.makeFault(se);
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 c173625f8..8fceb6fb6 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
@@ -70,7 +70,7 @@ public class SignatureCreationService {
//since Axis (1.1 ff) has problem with namespaces we take the raw request stored by the Axishandler.
TransactionContext context = TransactionContextManager.getInstance().getTransactionContext();
// validate the request
- reparsedReq = ServiceUtils.reparseRequest(context.getRequest());
+ reparsedReq = ServiceUtils.reparseRequest(request[0]);//context.getRequest());
// convert to API objects
Logger.trace(">>> preparsing Request");
diff --git a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java
index b335a6e23..feb49ffbf 100644
--- a/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java
+++ b/spss/server/serverlib/src/main/java/at/gv/egovernment/moa/spss/server/service/SignatureVerificationService.java
@@ -56,7 +56,7 @@ public class SignatureVerificationService {
//since Axis (1.1 ff) has problem with namespaces we take the raw request stored by the Axishandler.
TransactionContext context = TransactionContextManager.getInstance().getTransactionContext();
// validate the request
- reparsedReq = ServiceUtils.reparseRequest(context.getRequest());
+ reparsedReq = ServiceUtils.reparseRequest(request[0]);//context.getRequest());
// convert to API objects
requestObj = requestParser.parse(reparsedReq);
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 5c1e35a95..62db42674 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
@@ -273,8 +273,9 @@ public void cleanAttachmentCache() {
if (mmds!=null) {
InputStream is = mmds.getInputStream();
if (is!=null) is.close();
- File f = mmds.getDiskCacheFile();
- if (f!=null) f.delete();
+// not available in Axis 1.0 to 1.1
+// File f = mmds.getDiskCacheFile();
+// if (f!=null) f.delete();
mmds.delete();
}
} catch (IOException e) {
diff --git a/spss/server/serverws/pom.xml b/spss/server/serverws/pom.xml
index aed4e8cc1..82293df82 100644
--- a/spss/server/serverws/pom.xml
+++ b/spss/server/serverws/pom.xml
@@ -10,7 +10,7 @@
MOA.spss.servermoa-spss-wswar
- 1.4.2
+ 1.4.2beta1MOA SP/SS WebService
diff --git a/spss/server/tools/pom.xml b/spss/server/tools/pom.xml
index dc6a5f84f..a9c9c374f 100644
--- a/spss/server/tools/pom.xml
+++ b/spss/server/tools/pom.xml
@@ -9,7 +9,7 @@
MOA.spss.servermoa-spss-toolsjar
- 1.4.2
+ 1.4MOA SP/SS Tools
--
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/server/idserverlib')
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 @@
MOAMOA
- 1.4.2beta1
+ 1.4.2beta24.0.0MOAmoa-common
- 1.4.2beta1
+ 1.4.2beta2jarMOA 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 @@
MOAMOA
- 1.4.2beta1
+ 1.4.2beta24.0.0MOAidpom
- 1.4.2beta1
+ 1.4.2beta2MOA 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.idmoa-id
- 1.4.2beta1
+ 1.4.2beta24.0.0MOA.id.servermoa-id-authwar
- 1.4.2beta1
+ 1.4.2beta2MOA 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 layerat.gv.egovernment.moa.id.auth.servlet.VerifyIdentityLinkServlet
+
+ ProcessInput
+ ProcessInput
+ Process user input needed by infobox validators
+ at.gv.egovernment.moa.id.auth.servlet.ProcessValidatorInputServlet
+ VerifyAuthBlockVerifyAuthBlock
@@ -37,9 +43,7 @@
AxisServletApache-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.
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.