Tulips' uses OpenSSL to provide secure Client
and Server
classes. Both
classes implements the common client and server interfaces and can therefore be
used interchangeably with the non-secure classes.
The SecureClient
and SecureServer
classes support SSLv3
, TLSv1
,
TLSv1.1
and TLSv1.2
encryption methods. The cipher list is limited to the
most secure flavors of AES
.
SSL-related operations such as handshaking and encryption are implemented as wrapper around the non-secure classes. Part of the protocol is also implemented inside SSL-specific delegates.
Tulips implements its own high-performance BIO to interface with OpenSSL's low-level read and write operations. This BIO is based on a memory-mapped circular buffer and minimize as much as possible redundant copies.
The NIC cards used where ConnectX-5.