dfss

package module
v0.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 27, 2016 License: MIT Imports: 3 Imported by: 0

README

DFSS

Distributed Fair Signature System

DFSS is a simple and secure way to e-sign contracts with a large number of participants, ensuring fairness and minimizing the involvement of the trusted third party (TTP). This repository contains source code for this INSA Rennes project.

Project Status

The DFSS project is developed by fourth year students of the Computer Science department of INSA Rennes (FR). For now, the infrastructure is working, without the implementation of the signature cryptographic kernel (Private Contract Signatures), defined in many research papers, but not yet implemented.

It's thus a proof of concept and not production-ready.

Reference:

Configure workspace

  1. Install Go (>=1.5) and configure a Go workspace as explained here

  2. Navigate under $GOPATH/src and clone this repository

  3. Install build dependencies in dfss/ directory

dfss/build/deps.sh
  1. At this point, you will be able to install the DFSS project with some simple commands
  • To install CLI applications:
go install dfss/dfssc # Client
go install dfss/dfssp # Platform
go install dfss/dfsst # TTP

# or

make install
  • To build GUI for client into bin/ directory (using docker image)
# You may have to run these commands as root due to docker (sudo won't work)

# Prepare docker image, one time only
make prepare_gui

# Build
make gui
make dfssd

Do not attempt to run go install dfss/... or go install ./..., it won't work due to graphic binaries.

Run dfss modules

dfssc help # Client
dfssp help # Platform
dfsst help # TTP

For graphic clients, you may need to install some Qt4 libraries on your system.

cd bin
./gui   # Client GUI
./dfssd # Demonstrator

Documentation

Overview

Package dfss is the root of the dfss architecture.

Index

Constants

View Source
const Version = "0.3.1"

Version represents the current version of the DFSS software suite

Variables

View Source
var VersionCmd = &cobra.Command{
	Use:   "version",
	Short: "print version of dfss protocol",
	Run: func(cmd *cobra.Command, args []string) {
		fmt.Println("DFSS v"+Version, runtime.GOOS, runtime.GOARCH)
	},
}

VersionCmd is the cobra command common to all dfss modules

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis
Package auth provides simple ways to handle user authentication
Package auth provides simple ways to handle user authentication
Package dfssc is the dfss CLI client.
Package dfssc is the dfss CLI client.
api
Package api is a generated protocol buffer package.
Package api is a generated protocol buffer package.
cmd
Package cmd handles flags and commands management.
Package cmd handles flags and commands management.
common
Package common holds the common functions to be used by other packages.
Package common holds the common functions to be used by other packages.
security
Package security is responsible for generating keys and certificate requests
Package security is responsible for generating keys and certificate requests
sign
Package sign handles contract and signature operations.
Package sign handles contract and signature operations.
user
Package user handles all the user-related logic
Package user handles all the user-related logic
Package dfssd is the dfss demonstrator.
Package dfssd is the dfss demonstrator.
api
Package api is a generated protocol buffer package.
Package api is a generated protocol buffer package.
cmd
Package cmd handles flags and commands management.
Package cmd handles flags and commands management.
gui
Package gui is the graphic part of the dfssd program.
Package gui is the graphic part of the dfssd program.
server
Package server provides the demonstration unsecure server.
Package server provides the demonstration unsecure server.
Package dfssp is the dfss platform.
Package dfssp is the dfss platform.
api
Package api is a generated protocol buffer package.
Package api is a generated protocol buffer package.
authority
Package authority creates and manages platform certificates.
Package authority creates and manages platform certificates.
cmd
Package cmd handles flags and commands management.
Package cmd handles flags and commands management.
common
Package common provides non-specific helpers, such as parallelism management.
Package common provides non-specific helpers, such as parallelism management.
contract
Package contract manages contracts and signatures (creation and execution).
Package contract manages contracts and signatures (creation and execution).
entities
Package entities contains database entities and helpers on these entities.
Package entities contains database entities and helpers on these entities.
server
Package server provides the platform server.
Package server provides the platform server.
templates
Package templates stores and provides basic templates for mails or CLI.
Package templates stores and provides basic templates for mails or CLI.
user
Package user handles user creation.
Package user handles user creation.
Package dfsst is the dfss trusted third-party (ttp).
Package dfsst is the dfss trusted third-party (ttp).
api
Package api is a generated protocol buffer package.
Package api is a generated protocol buffer package.
cmd
Package cmd handles flags and commands management.
Package cmd handles flags and commands management.
entities
Package entities contains database entities and helpers on these entities.
Package entities contains database entities and helpers on these entities.
resolve
Package resolve provides the resolve protocol.
Package resolve provides the resolve protocol.
server
Package server provides the ttp server.
Package server provides the ttp server.
gui
Package gui is the dfss GUI client.
Package gui is the dfss GUI client.
authform
Package authform provides the authentication screen.
Package authform provides the authentication screen.
common
Package common provides GUI helpers, such as dialog boxes.
Package common provides GUI helpers, such as dialog boxes.
config
Package config handles basic configuration store for the GUI only.
Package config handles basic configuration store for the GUI only.
contractform
Package contractform provides the new contract screen.
Package contractform provides the new contract screen.
showcontract
Package showcontract provides the show contract screen.
Package showcontract provides the show contract screen.
signform
Package signform provides the signature screen.
Package signform provides the signature screen.
userform
Package userform provides the new user screen.
Package userform provides the new user screen.
welcome
Package welcome provides the home screen for authenticated users.
Package welcome provides the home screen for authenticated users.
Package mails provides a simple interface with the smtp library
Package mails provides a simple interface with the smtp library
Package mgdb simplifies the mapping between Go and Mgo.
Package mgdb simplifies the mapping between Go and Mgo.
mockp
fixtures
Package fixtures contains the responses to the gRpc requests
Package fixtures contains the responses to the gRpc requests
server
Package server is the mock server, all functions must be redefined
Package server is the mock server, all functions must be redefined
net
Package net wraps TLS and GRPC client/server to simplify connections.
Package net wraps TLS and GRPC client/server to simplify connections.
fixtures
Package fixtures is a generated protocol buffer package.
Package fixtures is a generated protocol buffer package.
Package tests provides DFSS integration tests.
Package tests provides DFSS integration tests.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL