ShieldLink is a program written by C++, which provides a secure encrypted communication solution. Through different levels of key negotiation between the server and the client, asymmetric encryption is used to ensure the confidentiality of data transmission in the communication process. At the same time, the program can also record the key information to the database for subsequent use and management. The program also provides an external interface, which provides encryption protection for the communication of other programs.
- C++ 11 or higher
- OpenSSL library
- Protobuf library
- JSON library
- Oracle client 11gR2
- Windows 10 or Linux
- Visual Studio or GCC
-
Clone the project to local
git clone https://github.com/io-ing/shieldlink.git -
Enter the project directory
cd shieldlink -
Compile the project
-
cd ServerSeckey/ServerSeckey g++ *.cpp *.cc -ljson -lprotobuf -lcrypto -std=c++11 -
cd ClientSecKey/ClientSecKey g++ *.cpp *.cc -ljson -lprotobuf -lcrypto -std=c++11
-
-
Run the project
Copy configuration file, edit configuration file, run the client program, Follow the prompts.
$ cp client.json ClientSecKey/ClientSecKey
$ cd ClientSecKey/ClientSecKey
$ vim client.json
$ ./shieldlink_client
/=============================================================/
/=============================================================/
/* 1.seckeyAgree */
/* 2.seckeyCheck */
/* 3.seckeyLogoff */
/* 0.exit */
/=============================================================/
/=============================================================/
Copy configuration file, edit configuration file, run the server program, then wait for client connection and message.
$ cp server.json ServerSeckey/ServerSeckey
$ cd ServerSeckey/ServerSeckey
$ vim server.json
$ ./shieldlink_server
Provide interfaces for third-party programs.
-
Compile the Interface
-
cd Interface\Interface g++ -c *.cpp -fpic -std=c++11 g++ -shared *.o -o libinterface.so cp libInterface.so /usr/lib echo export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib >> ∼/.bashrc . ~/.bashrc
-
-
Run the Test program
-
cd socket-test\TcpServer\TcpServer ./TcpServer -
cd socket-test\TcpClient\TcpClient ./TcpClient
-
This project is licensed under the Mozilla Public License 2.0. See LICENSE file for more information.