1

私は、Lacewing という TCP クライアント サーバー ライブラリを使用しています。

http://lacewing-project.org/docs/

私が気付いたのは、送受信するメッセージがプレーン テキストであることです。TCP を使用している場合、メッセージを簡単に暗号化/復号化する方法はありますか? TLS en.wikipedia.org/wiki/Transport_Layer_Security などを追加するにはどうすればよいですか?

ありがとう

ライブラリはかなり高レベルですが、簡単に言えばクライアントサーバーは次のとおりです。

#include <string>
#include <iostream>  
#define  LacewingFunction
#include "Lacewing.h"

void onReceive (Lacewing::Server &Server, Lacewing::Server::Client &Client,
                char * Data, int Size) {
                    /* callback body */
                    std::cout << Data << "\n";
}

void onConnect (Lacewing::Server &Server, Lacewing::Server::Client &Client)
{
    std::cout << "Connected!" << "\n";
    Client.Send("TestingS");
}



void onReceiveC (Lacewing::Client &Client, char * Data, int Size)
{
    std::cout << Data << "\n";
    Client.Send("TesingC");
}


int main(int argc, char* argv[])  
{  
    std::string s;
    std::cin >> s;
    if(s == "server")
    {
        Lacewing::EventPump pump;
        Lacewing::Server* server = new Lacewing::Server(pump);
        server->onReceive(onReceive);
        server->onConnect(onConnect);
        server->Host(1234);
        pump.StartEventLoop();
    }
    else
    {
        Lacewing::EventPump pump;
        Lacewing::Client* server = new Lacewing::Client(pump);
        server->onReceive(onReceiveC);
        server->Connect("192.168.2.12",1234);
        pump.StartEventLoop();
    }

    return 0;  
}  
4

1 に答える 1

0

一言で言えば:はい。2つの基本的なオプションは、SSL/TLSとIPsecです。SSLはアプリケーションに実装されます。IPsecはあなたのコントロールの外にあります。

関連する質問に対するこの回答を参照してください。

SSL / TLSに適応させる方法についてヘルプが必要な場合は、ネットワークコードの一部を投稿する必要があります。


編集:ソースコードをLacewingに変更したくない場合は、トラフィックを保護するためにstunnelなどを使用するのが最も簡単な解決策のようです。

于 2012-05-14T00:32:39.870 に答える