• No results found

The priority order for implementing the secure payment model.

1. Combination of Key agreement, signature and encryption model, both on

server and client

2. Implementation of ConfigClass and ConfigFlowController, to configure the

model.

3. Modifying parameters in the SOAP body.

4. Access lookup in database and storing requests in database.

5. Implementation of WSDLGenerator class to generate the WSDL file for the

model

6. Error handling in proxy servlet.

First success criteria:

Combining the business requires two proxy servlets and two ClientProxyLayers, as described in the design of the model. This will test the ability to deploy more than one proxy servlet for one web service application in the deployment tool. The ability of expanding on RPC call in the client proxy will also be tested.

The configuration flow of the model depends on which types the selected method takes as parameters, the ConfigFlowController must therefore use its knowledge of the method to create the configuration flow. When analyzing methods in a compiled class using the java.lang.reflect.Method it is not possible to get the name of the parameter, therefore will the panel used to select a parameter be based on the index of the parameter.

Third success criteria:

The model must be able to modify a string parameter in the soap body. XML is in text format, which makes it possible for the business model to modify the parameter directly without using an external marshaller. The correct parameter is found using XPath, which is relative simple, because the SOAP message will always contain a call to the same application method.

Apache SOAP API could have been used to modify the message relative easy, but the business model requires the SOAP message to be in DOM format e.g. when encrypting. Transformations between Apache SOAP API and DOM have proven to break the signature, because it removes text nodes that contain only spaces.

Fourth success criteria:

IBM DB2 personal edition is used as relational database system to store the information used in the business model. The database is created using the configuration application included with DB2. Access from the business model is gained by using JDBC, which is the Java frame work for accessing databases. The query in the database is relative simple, but must use prepared statements, to avoid conflicts if the query parameters contain SQL reserved characters.

The size of the request to store in the database can vary, because it contains parameters decided by the client application, the database must therefore be able to store data of variable size. One way to obtain this is by selecting a fixed max size for the column in the database, and pad the request to fit the column. The database can also be set to store data of variable size, but this reduces the performance of the database. For testing purpose the performance is not an issue, and the database is therefore set to store data of variable length.

Fifth success criteria:

The WSDL document for the first proxy servlet, is the same as the one used in the key exchange model except that the model signs the public key send back to the client. One new element must therefore be added to the binding element of the WSDL document, namely a Signature element pointing to the KeyInfo field.

See appendix f for an example of a WSDL document generated by the model.

Sixth success criteria:

Error handling must be done in the same way as in the other business models.

Test cases

Pre. Req. The deployment tool is correctly configured and the application server is started. The secpay model is made available to the deployment tool.

The test: The deployment process is run; the text application class is selected as application and secpay model as business model for one of the methods. In the configuration it is selected to let the model modify the calling parameter to the owner of the certificate.

Expected result: The calculator application is deployed on the web service platform. A proxy servlet using the secpay model is deployed, pointing to the calculator web service.

Test 2: Requesting through the ServiceClass

Pre req. Test 1 is completed successfully. Two key storeages are prepared using the CertMaker application. A suitable database for the model must be available, and the client must be created as user in the database.

The test: A request is send to the proxy servlet using the text application client and the client proxy with the secpay model. The client must call the web serive using a string parameter different from the name in its certificate.

Expected result: The client will receive a result string, where the name from its certificate is included. The database will contain the decrypted request from the client.

Test 3: Variations of test 1 and 2

Test 1 is run with another source application, to verify configuration of the parameter modification will change.

Test 2 is run with different settings on the client and server to verify that the model will reject the client based on its certificate validation, authority in database and message integrity.

Related documents