Diverse-redundant secure communication channel to achieve Transport Layer Security
C Perl 6 Makefile Perl C++ Prolog Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.settings
MacOS
Netware
VMS
apps
bugs
certs
crypto
demos-vttls
demos
doc
engines
ms
os2
shlib
ssl
test
tools
util
.cproject
.gitignore
.project
.travis-create-release.sh
.travis.yml
ACKNOWLEDGMENTS
CHANGES
CHANGES.SSLeay
CONTRIBUTING
Configure
FAQ
GitConfigure
GitMake
INSTALL
INSTALL.DJGPP
INSTALL.MacOS
INSTALL.NW
INSTALL.OS2
INSTALL.VMS
INSTALL.W32
INSTALL.W64
INSTALL.WCE
LICENSE
LICENSE.OpenSSL
Makefile
Makefile.org
Makefile.shared
NEWS
PROBLEMS
README.ASN1
README.ENGINE
README.md
TABLE
appveyor.yml
config
e_os.h
e_os2.h
install.com
install.sh
makevms.com
openssl.doxy
openssl.spec

README.md

VTTLS

A Diverse and Redundant Vulnerability-Tolerant Communication Channel for Cloud Security

Required Dependencies

vt-TLS requires libssl-dev .

You can install by executing:

sudo apt-get update

sudo apt-get install libssl-dev

Configuring and compiling vtTLS

Inside the root folder of vtTLS exeute the following commands to configure and compile the source code:

./config -d --openssldir=/usr/local/supertls

make

make install

ln -s /usr/local/supertls/include/openssl /usr/include/supertls

Compiling the examples

There are a couple of examples in the demos-supertls folder. These examples allow sending a message between two machines using the vtTLS protocol. Before executing the examples it is necessary to compile them by executing:

/demos-supertls/client-server-send-message && make

Running the examples

Running the examples in two distinct machines

In the demos-supertls folder execute in one machine:

./server

In a different machine execute:

./client <Address of the Server Machine> Hello

Running the examples in one machine

To test both the sender and the receiver in the same machine, execute:

./server &

./client 127.0.0.1 Hello

The first argument is the server address (localhost in this case) and the second argument is the message to send. The server prints diagnostic messages like the following:

Connection from 100007f, port 10c9
SSL connection using ECDH-ECDSA-AES256-GCM-SHA384
SSL connection using AES128-SHA256
The SuperTLS Handshake took 1 ms
SSL connection using ECDH-ECDSA-AES256-GCM-SHA384
SSL connection using AES128-SHA256
Server certificate:
         subject: /C=PT/ST=LISBON/L=RNL/O=INESC/OU=INESC/CN=ECDHE/emailAddress=ECDHE@ist
         issuer: /C=PT/ST=LISBON/L=RNL/O=INESC/OU=INESC/CN=ECDHE/emailAddress=ECDHE@ist
Server second certificate:
         subject: /C=PT/ST=Lisbon/L=Lisbon/O=IST/OU=Computer Science/CN=AMJ/emailAddress=andrej@hotmail.com
         issuer: /C=PT/ST=Lisbon/L=Lisbon/O=IST/OU=Computer Science/CN=AMJ/emailAddress=andrej@hotmail.com
Got 5 chars:'Hello'
total_size: 5