2016-07-29 33 views
0

nicht initialisierte Ich Server-Anwendung zu schreiben, die Boost verwendet :: asio und libssl über die Integration mit boost :: asio. Wenn es eingehende Verbindung, das erste Mal, das Handshake erfolgreich, aber nachdem die Verbindung fallen gelassen wird und der Kunde wieder zu verbinden versucht, schlägt der Handshake mit dem Fehler:SSL-Handshake-Fehler: Sitzungs-ID Zusammenhang

session id context uninitialized

Here Lösung mit der Verwendung von SSL_OP_NO_TICKET vorgeschlagen Option, wenn der SSL-Kontext initialisiert wird. Ich verwende es die folgende Art und Weise:

m_sslContext.set_options(SSL_OP_NO_TICKET); 

Am Anfang das das Problem behebt, aber jetzt trotz der Möglichkeit der Fehler erscheint wieder eingestellt wird. Hat jemand eine Idee, was man mit diesem Problem machen kann?

+1

Es ist schwer, eine solche Frage zu beantworten, wenn Sie nicht mehr Spezifität bereitgestellt haben. Bitte posten Sie zumindest einige relevante Code-Snippets. – vordhosbn

+0

@bobeff - Verbunden, es klingt wie ein Fehler in Boost. Ich erinnere mich nicht, dass ich in OpenSSL darauf gestoßen bin. Vielleicht sollten Sie einen Fehlerbericht mit Boost einreichen, damit sie ihn beheben. Wenn man bedenkt, dass die ersten Berichte aus dem Jahr 2013 stammen, vermute ich, dass Boost nicht erkennt, dass das Problem existiert. – jww

Antwort

0

Ich habe festgestellt, dass, wenn das Problem auftritt, ich immer noch eine alte Verbindung zu demselben entfernten Endpunkt habe, der versucht, sich erneut zu verbinden. Als ich die alte Verbindung richtig fallen ließ ging das Problem weg.