Download Module(DM)

The download offers the necessary functionality in order to give the user the oportunity to download new files
from a SP and to install these files. The main responsibility of the DM is to assure the end user that the downloaded
files will be installed only if the originators of the offered files have the necessary credentials to
modify these files. Furthermore, the DM performs some integrity checking for the downloaded files by checking
the signature of the originator.
In order to met the requirements, the DM is constituted by the following classes:

The following text provides and explains the basic fuctinality, offered by the DM

A user is able to start the DM from tinguin's application menu or directly from the shell by entering
the following command:

NOTE: In order to have DM-messages displayed on the standart output enter the command:

After the installation of the SEMPER software, choose the Download Manager from tinguin's
application menu. A dialog box will be displayed on your screen which contains a list with one item
tagged Setup Download Module. Press the Ok button in order to setup the DM enviroment. If the DM
haven't be setup in the past, a new dialog box appears on your screen. Enter the path in which the DM
will store the necessary data structure. Furthermore the above path is used to incorporate new
files/directories offered by a service provider(SP).
For example suppose your DM path is /home/semper/tmp and a service provider offers
you a new directory named semper/Bapp, the DM will store this new directory under the /home/semper/tmp.
For a SEMPER party that have the ability to offer new files, all the offered file should be stored under
the DM path. From the list contained in the above dialog box choose, the working mode for the DM.
Two working modes are supported:

Choose run DM as a Server if you would like to use the functionality, descripted above.
In case that you want to run the SEMPER tool as a customer of some service providers choose
the Client Mode item. After the successfully termination of the DM setup procedure, choose
Download Manager from the application menu. The DM process will responds with a dialog
box containing a list of choices. The items contained in this list depends from the selected
working mode and from the configuration status of the module which deals with the CRA interaction
procedure. Furtherdown a description of the above list box items will be given:

A Short Example (MEABE NOT)

In order to test the DM you need to run a DM in the server mode on a host(e.g DMserver) and a DM client
on a different host, say DMclient. Furthermore you need to run the CRA in a host named for example
CRAserver. Suppose, on the DMserver mashine, you have a stored certificate where the ca-user-name attribute
is Smith and on the DMclient-mashine a different stored certificate exists with the ca-user-name
equals to Jackson. Both certificates have been offered from the GMDSemperCA authority.
On both client/server mashines create if necessary a tmp directory. Additional On the server mashine copy
some SEMPER directories, e.g semper/comm and semper/SemperClient, under the above tmp path. Start the CRA
server and offer to the user Smith the following credentials (see CRA Server): Now, start the DM server and on the setup dialog enter the location of your tmp directory and choose
the run as a Server item. Afterthat select Configure CRA/News Server Host Address from the
DM dialog and enter the host name of the CRAserver. The next step consists to retrieve the credentials
for the user Smith, from the CRA server. In order to do this, choose Connect The CRA/News Server
and in case that the displayed listbox contains only the item Retrieve CRA/News Server's Trusted Key
press the Ok button in order to store the CRA key in your database. Afterthat, visiting the same dialog,
and select Update Owned Download Credentials. The credentials will be stored in your archive.
After that select, from the main DM dialog, the Update Owned Directories item. The above command
causes the creation of VMFs under the tmp/semper/SemperClient,tmp/semper/comm and
tmp/semper/SemperClient/Test/ directories. Now select, from the main DM dialog, the item
Start Listen Client Download Requests.

Start the client and setup the DM by entering the location of your tmp directory and choose
run as a Client from the setup list box. Setup the CRA location and obtain the CRA-key
in the same way as the DM server does. After that choose Download Files From Remote Host
from the DM main dialog and on the displayed window choose the item Connect Direct To A Host.
Enter the host name, e.g the hostname of the DMserver. On success, the directories semper/SemperClient,
semper/comm and the file semper/SemperClient/Test/ will be stored under your tmp directory.

In order to test the News Server update some files, located under the DM-server's tmp path, choose
Update Owned Directories. After that choose Connect The CRA/News Server, from the
server's DM main dialog, and on the displayed dialog choose the item Upload New/Updated Files To
The News Server
. Now go to your client mashine and select Download Files From Remote Host
On the displayed window select the Consult News-Server item. A list of server will be displayed
and you will be prompted to connect these servers in order to download the changes, in case that the
obtained changes haven't been incorporated previously.

In order to change the DM working path, select Configure Download Manager from the DM dialog
and at the displayed window select the Set Your Down/Upload Path. If you wish to have a
different DM path( the current DM path is the tmp), enter the new DM path. After pressing the
Ok button all the recognizable directories(i.e all the directories that contains a valid VMF file)
located under the tmp path and the associated to the DM structure files will be replicated to the new
location(e.g under tmp1).

If you need to declare a user group, that only parts of this, are abled to download directory contents
from a specific path first you should interrupt the server. Choose Stop Serving Client Download Requests.
Select Configure Download Manager from the DM main dialog and after that, choose Configure
DM Access
from the dispayed window. Select on of the displayed paths from the item list and press
the Ok button. On the displayed dialog select the owner of the directory contents which should be
protected(keep in mind that a code-issuer could have modification rights only for some files contained
in a directory, for example semper/SemperClient/Test/ Click the Ok button. The new
displayed dialog contains a list of owned files(owned by the previously selected code-issuer) and a
edit box. In the edit box enter the name of the user which could download the above displayed files
following by a colon ":" and the associated CA domain name. In our example enter Jackson:GMDSemperCA.
If you need to define more than one user(e.g Steiner) the string contained in the edit should have the
form Jackson:GMDSemperCA;Steiner:GMDSemperCA. In case that you wish to declare the above files as
private(noone is able to download these files) enter the string NOONE to the above edit field.
The default setting for the above edit field is the ALL identifier, which means that the above
files could be download from every node in the internet, no identity verification will be performed and
furthermore the files will be sent unencrypted. In our example we suppose that the selected
path is semper/SemperClient and the edit box contents is Jackson:GMDSemperCA. Change at least one
file located under the semper/SemperClient. Choose Update Owned Directories from the DM
main dialog. After that, start again the server thread by choosing Start Listen Client Download
from the DM main dialog. Go to your client mashine and connect direct to the server
host. Before the server sends the files contained under the semper/SemperClient directory using DES
encryption, the client should prove that he/she is the owner of Jackson's certificate.

In order to incorporate directories from your local storage device, modify the
semper/SemperClient/Test/ in the server site. Choose Update Owned Directories
from the DM main dialog. Store, at the client site, the updated semper/SemperClient/Test(not under
the tmp directory) e.g under tmp2. Choose, on the client, the Incorporate Code From Local Disk
item and on the displayed window enter the location(i.e tmp2). Only the updated file will be
incorporated under client's tmp path and furthermore the VMF located under the
tmp/semper/SemperClient/Test will be updated.