#include <SSLSocketImpl.hpp>

Public Member Functions | |
| SSLSocketImpl (SSLClientCtxRef sslCtx) | |
| SSLSocketImpl () | |
| SSLSocketImpl (SocketHandle_t fd, SocketAddress::AddressType addrType, const SSLServerCtxRef &sslCtx) | |
| This constructor is to be used only for server sockets. | |
| SSLSocketImpl (SocketHandle_t fd, SocketAddress::AddressType addrType) | |
| This constructor is to be used only for server sockets. | |
| SSLSocketImpl (const SocketAddress &addr) | |
| virtual | ~SSLSocketImpl () |
| virtual void | connect (const SocketAddress &addr) |
| virtual void | disconnect () |
| Select_t | getSelectObj () const |
| SSL * | getSSL () const |
| return the SSL structure associated with the socket | |
| bool | peerCertVerified () const |
| Did the peer certificate pass verification? | |
Private Member Functions | |
| virtual int | readAux (void *dataIn, int dataInLen) |
| virtual int | writeAux (const void *dataOut, int dataOutLen) |
| void | connectSSL () |
| virtual bool | waitForInput (const Timeout &timeout) |
| SSLSocketImpl (const SSLSocketImpl &arg) | |
| SSLSocketImpl & | operator= (const SSLSocketImpl &arg) |
Private Attributes | |
| SSL * | m_ssl |
| BIO * | m_sbio |
| SSLClientCtxRef | m_sslCtx |
| OWSSLContext | m_owctx |
Definition at line 56 of file SSLSocketImpl.hpp.
| BLOCXX_NAMESPACE::SSLSocketImpl::SSLSocketImpl | ( | SSLClientCtxRef | sslCtx | ) |
Definition at line 59 of file SSLSocketImpl.cpp.
| BLOCXX_NAMESPACE::SSLSocketImpl::SSLSocketImpl | ( | ) |
Definition at line 144 of file SSLSocketImpl.cpp.
| BLOCXX_NAMESPACE::SSLSocketImpl::SSLSocketImpl | ( | SocketHandle_t | fd, | |
| SocketAddress::AddressType | addrType, | |||
| const SSLServerCtxRef & | sslCtx | |||
| ) |
This constructor is to be used only for server sockets.
| fd | A socket handle, presumably created by a ServerSocket's accept(). |
Definition at line 151 of file SSLSocketImpl.cpp.
References BLOCXX_NAMESPACE::acceptSSL(), BLOCXX_ASSERT, BLOCXX_THROW, BLOCXX_NAMESPACE::SSLCtxMgr::checkClientCert(), BLOCXX_NAMESPACE::SocketAddress::getName(), BLOCXX_NAMESPACE::SSLCtxMgr::getOpenSSLErrorDescription(), m_owctx, BLOCXX_NAMESPACE::SocketBaseImpl::m_peerAddress, m_ssl, BLOCXX_NAMESPACE::shutdownSSL(), BLOCXX_NAMESPACE::SSLServerCtx::SSL_DATA_INDEX, and BLOCXX_NAMESPACE::SocketAddress::toString().
| BLOCXX_NAMESPACE::SSLSocketImpl::SSLSocketImpl | ( | SocketHandle_t | fd, | |
| SocketAddress::AddressType | addrType | |||
| ) |
This constructor is to be used only for server sockets.
| fd | A socket handle, presumably created by a ServerSocket's | |
| addrType | The addressType accept(). |
Definition at line 195 of file SSLSocketImpl.cpp.
References BLOCXX_NAMESPACE::acceptSSL(), BLOCXX_THROW, BLOCXX_NAMESPACE::SSLCtxMgr::checkClientCert(), BLOCXX_NAMESPACE::SocketAddress::getName(), BLOCXX_NAMESPACE::SSLCtxMgr::getOpenSSLErrorDescription(), BLOCXX_NAMESPACE::SSLCtxMgr::getSSLCtxServer(), BLOCXX_NAMESPACE::SocketBaseImpl::m_peerAddress, m_sbio, m_ssl, BLOCXX_NAMESPACE::shutdownSSL(), and BLOCXX_NAMESPACE::SocketAddress::toString().
| BLOCXX_NAMESPACE::SSLSocketImpl::SSLSocketImpl | ( | const SocketAddress & | addr | ) |
| SocketException |
Definition at line 231 of file SSLSocketImpl.cpp.
References connectSSL().
| BLOCXX_NAMESPACE::SSLSocketImpl::~SSLSocketImpl | ( | ) | [virtual] |
| BLOCXX_NAMESPACE::SSLSocketImpl::SSLSocketImpl | ( | const SSLSocketImpl & | arg | ) | [private] |
| void BLOCXX_NAMESPACE::SSLSocketImpl::connect | ( | const SocketAddress & | addr | ) | [virtual] |
| SocketException |
Reimplemented from BLOCXX_NAMESPACE::SocketBaseImpl.
Definition at line 272 of file SSLSocketImpl.cpp.
References BLOCXX_NAMESPACE::SocketBaseImpl::connect(), and connectSSL().
| void BLOCXX_NAMESPACE::SSLSocketImpl::disconnect | ( | ) | [virtual] |
Reimplemented from BLOCXX_NAMESPACE::SocketBaseImpl.
Definition at line 313 of file SSLSocketImpl.cpp.
References BLOCXX_NAMESPACE::SocketBaseImpl::disconnect(), INVALID_SOCKET, BLOCXX_NAMESPACE::SocketBaseImpl::m_isConnected, BLOCXX_NAMESPACE::SocketBaseImpl::m_sockfd, m_ssl, and BLOCXX_NAMESPACE::shutdownSSL().
Referenced by ~SSLSocketImpl().
| Select_t BLOCXX_NAMESPACE::SSLSocketImpl::getSelectObj | ( | ) | const [virtual] |
Reimplemented from BLOCXX_NAMESPACE::SocketBaseImpl.
Definition at line 256 of file SSLSocketImpl.cpp.
References BLOCXX_NAMESPACE::SocketBaseImpl::m_sockfd.
| SSL * BLOCXX_NAMESPACE::SSLSocketImpl::getSSL | ( | ) | const |
return the SSL structure associated with the socket
Definition at line 344 of file SSLSocketImpl.cpp.
References m_ssl.
| bool BLOCXX_NAMESPACE::SSLSocketImpl::peerCertVerified | ( | ) | const |
Did the peer certificate pass verification?
Definition at line 351 of file SSLSocketImpl.cpp.
References m_owctx, BLOCXX_NAMESPACE::OWSSLContext::peerCertPassedVerify, and BLOCXX_NAMESPACE::OWSSLContext::VERIFY_PASS.
| int BLOCXX_NAMESPACE::SSLSocketImpl::readAux | ( | void * | dataIn, | |
| int | dataInLen | |||
| ) | [private, virtual] |
| SocketException |
Implements BLOCXX_NAMESPACE::SocketBaseImpl.
Definition at line 337 of file SSLSocketImpl.cpp.
References m_ssl, and BLOCXX_NAMESPACE::SSLCtxMgr::sslRead().
| int BLOCXX_NAMESPACE::SSLSocketImpl::writeAux | ( | const void * | dataOut, | |
| int | dataOutLen | |||
| ) | [private, virtual] |
| SocketException |
Implements BLOCXX_NAMESPACE::SocketBaseImpl.
Definition at line 330 of file SSLSocketImpl.cpp.
References m_ssl, and BLOCXX_NAMESPACE::SSLCtxMgr::sslWrite().
| void BLOCXX_NAMESPACE::SSLSocketImpl::connectSSL | ( | ) | [private] |
Definition at line 279 of file SSLSocketImpl.cpp.
References BLOCXX_ASSERT, BLOCXX_THROW, BLOCXX_NAMESPACE::SSLCtxMgr::checkServerCert(), BLOCXX_NAMESPACE::connectWithSSL(), BLOCXX_NAMESPACE::SocketAddress::getName(), BLOCXX_NAMESPACE::SSLCtxMgr::getOpenSSLErrorDescription(), BLOCXX_NAMESPACE::SocketBaseImpl::m_isConnected, BLOCXX_NAMESPACE::SocketBaseImpl::m_peerAddress, m_sbio, BLOCXX_NAMESPACE::SocketBaseImpl::m_sockfd, m_ssl, and m_sslCtx.
Referenced by connect(), and SSLSocketImpl().
| bool BLOCXX_NAMESPACE::SSLSocketImpl::waitForInput | ( | const Timeout & | timeout | ) | [private, virtual] |
Reimplemented from BLOCXX_NAMESPACE::SocketBaseImpl.
Definition at line 360 of file SSLSocketImpl.cpp.
References m_ssl, and BLOCXX_NAMESPACE::SocketBaseImpl::waitForInput().
| SSLSocketImpl& BLOCXX_NAMESPACE::SSLSocketImpl::operator= | ( | const SSLSocketImpl & | arg | ) | [private] |
SSL* BLOCXX_NAMESPACE::SSLSocketImpl::m_ssl [private] |
Definition at line 111 of file SSLSocketImpl.hpp.
Referenced by connectSSL(), disconnect(), getSSL(), readAux(), SSLSocketImpl(), waitForInput(), writeAux(), and ~SSLSocketImpl().
BIO* BLOCXX_NAMESPACE::SSLSocketImpl::m_sbio [private] |
Definition at line 125 of file SSLSocketImpl.hpp.
Referenced by peerCertVerified(), and SSLSocketImpl().
1.5.6