2012-05-14 1 views
1

Lacewingライブラリは、安全なサーバーのホストをサポートすることになっています。セキュアサーバーが動作しない

証明書が正しく読み込まれていれば、安全であるはずです。しかし、私はそれをホストしているし、証明書が正常に読み込まれたが、私はクライアントからサーバーにメッセージを送信すると、私はそれを受け取ることはありません。証明書がロードされていない場合、私は行います。

#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->LoadSystemCertificate("MY","localhost"); 
     std::cout << server->CertificateLoaded(); 
     server->onReceive(onReceive); 
     server->onConnect(onConnect); 
     server->Host(1234); 
     std::cout << server->CertificateLoaded(); 
     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; 
} 

証明書にロードされているとの両方の時間。

ここはapiドキュメントです。 http://lacewing-project.org/docs/server/LoadSystemCertificate.html

おかげ

たぶんmakecert doesntの作業によって生成された証明書?誰かが私が試みることができる証明書を持っていますか?

+0

[SSL(Secure Handshake Failing)]の複製が可能です。(http://stackoverflow.com/questions/10589626/secure-handshake-failing-ssl) – EJP

答えて

1

私は同じことを試みています。

bSecure = WebServer.LoadSystemCertificate("My", "localhost","localmachine"); 
bSecure = WebServer.CertificateLoaded(); 

証明書をロードする必要があります。

はここを見て:これはIE9で正常に動作how to make a certificate

、5040 https://localhost:5040/ に設定されたポートは、それはFirefoxやChromeで動作しませんが、これは「認証局」証明書をロードするとは何かを持っています。

+0

ポートの問題のために私に起こっていますか?ホストとクライアントはどちらもローカル127.0.0.1です。証明書についてはあまりよく分かりません。 – jmasterx

+0

なぜクライアントクラスにセキュリティの概念がないのですか?それは普通ですか? – jmasterx