Commit 794e2f3b authored by Marco De Marco's avatar Marco De Marco
Browse files

Minor changes in SSL client

parent a28c2edb
Loading
Loading
Loading
Loading
+2 −23
Original line number Diff line number Diff line
@@ -30,11 +30,7 @@ SSLClient::SSLClient(Tango::DeviceImpl* deviceImpl_p,
        throw std::runtime_error(error_stream.str());
    }

    m_sSLSocket.set_verify_mode(boost::asio::ssl::verify_peer);

//    @todo: bind does not work
//    m_sSLSocket.set_verify_callback(
//        boost::bind(&SSLClient::verifyCertificate, this, _1, _2));
    m_sSLSocket.set_verify_mode(boost::asio::ssl::verify_none);
}

//==============================================================================
@@ -84,23 +80,6 @@ void SSLClient::stop()
    Client::stop();
}

//==============================================================================
//      SSLClient::verifyCertificate()
//==============================================================================
bool SSLClient::verifyCertificate(bool preVerified,
    boost::asio::ssl::verify_context sSLContext)
{
    DEBUG_STREAM << "SSLClient::verifyCertificate()" << endl;

    char subject_name[256];
    X509* cert = X509_STORE_CTX_get_current_cert(sSLContext.native_handle());
    X509_NAME_oneline(X509_get_subject_name(cert), subject_name, 256);

    INFO_STREAM << "SSLClient::verifyCertificate() verifying " << subject_name << endl;

    return preVerified;
}

//==============================================================================
//      SSLClient::startConnect()
//==============================================================================
+6 −5
Original line number Diff line number Diff line
@@ -28,10 +28,13 @@ protected:

public:
//------------------------------------------------------------------------------
//      [Public] Users methods
//  [Public] Class creation method
//------------------------------------------------------------------------------
    static Client::SP create(Tango::DeviceImpl*, Configuration::SP);

//------------------------------------------------------------------------------
//	[Public] Thread management methods
//------------------------------------------------------------------------------
    virtual void start();

    virtual void stop();
@@ -40,8 +43,6 @@ protected:
//------------------------------------------------------------------------------
//  [Protected] Utilities methods
//------------------------------------------------------------------------------
    virtual bool verifyCertificate(bool, boost::asio::ssl::verify_context);

    virtual void startConnect(boost::asio::ip::tcp::resolver::iterator);

    virtual void handleConnect(const boost::system::error_code&,