# Attachments to Analysis and Use of Standard Cryptographic Interfaces Thesis

author: Kristian Mika  
mail: 485298@mail.muni.cz

## Bridge Suite Test

To test the Bridge Suite (Bridge Controller, Cryptoki Bridge, FIDO Bridge, and Web eID Bridge),
I strongly recommend using the Bridge Box Virtualbox environment that contains all the tools and their dependencies.

Alternatively, individual README files located in the subdirectories contain instructions on how to build, install, and use individual tools. The README files can be useful for usage information even if you use the Bridge Box.

## Bridge Box

_username: vagrant_  
_password: vagrant_

### Requirements

1. Install [Virtualbox](https://www.virtualbox.org/wiki/Downloads), [Vagrant](https://developer.hashicorp.com/vagrant/tutorials/getting-started/getting-started-install), and [Ansible](https://docs.ansible.com/ansible/latest/installation_guide/index.html).

2. Install Ansible community plugins.

```bash
 ansible-galaxy collection install community.general community.docker
```

### Usage

- Configuration is located in [./bridge-box](./bridge-box)
- Start the machine (it can take up to 25 minutes on the first build)

```bash
vagrant up
```

- Usage of Bridge Suite applications is described in individual README files.
- If unsure how to test individual applications, refer to the attached screencasts present in the `./usage-screencasts` directory.

- Turn off the machine

```bash
vagrant halt
```

- Destroy the setup

```bash
vagrant destroy
```

## MeeSign Configuration

The following tutorial describes the process required to configure MeeSign clients and create an authentication group.

1. Launch two MeeSign client instances located at `~/Desktop/meesign_client_{1,2}/meesign_client`.
   For each client, specify a unique username and the MeeSign server. You can use the provided MeeSign server running on localhost or the faculty server accessible from within the faculty network at `meesign.crocs.fi.muni.cz`.

2. Select the "Groups" tab in the bottom right corner. Click "new," specify a group name, and add both clients using the "Add Member" and "Search" buttons, respectively. The purpose of the group must be set to "Challenge." Submit the group creation using the arrow button in the top right corner.

3. A new group request will appear. Accept the request in both client applications.

## Implementation Issues to Be Aware Of

- Currently, MeeSign server persistence is being developed. If you restart the server, all data will be lost. To continue, you will need to erase the directory with client states located at `~/Desktop/meesign_client*/app/`.

## Devcontainers

The **.devcontainer** folders located in project repositories contain a configuration of a development Docker environment for particular projects. They can be used for project building.

1. Install the `ms-vscode-remote.remote-containers` VS Code extension.
2. Press `Ctrl + Shift + P`, select `>Dev Containers: Open folder in Container...`, and select the root repository directory. (_this may take some time for the first run_)
