1 OpenSSL Simple Echo Client/Server 2 ================================= 3 4 This project implements a simple echo client/server. 5 6 It is a console application, with command line parameters determining the mode 7 of operation (client or server). Start it with no parameters to see usage. 8 9 The server code was adapted from the Simple TLS Server on the OpenSSL Wiki. 10 The server code was modified to perform the echo function, and client code 11 was added to open a connection with the server and to send keyboard input 12 to the server. 13 14 The new client code illustrates that: 15 16 - Connection to the SSL server starts as a standard TCP 'connect'. 17 - Once connected with TCP, the client 'upgrades' to SSL using 18 SSL_connect(). 19 - When the SSL connection completes, data is sent and received using 20 SSL_write() and SSL_read(). 21 - Pretty simple. 22 23 The cert.pem and key.pem files included are self signed certificates with the 24 "Common Name" of 'localhost'. 25 26 Best to create the 'pem' files using an actual hostname. 27