I’ve got a custom TCP protocol that currently runs plaintext/cleartext
to which I want to add something akin to SMTP’s STARTTLS. The scripts
use Ruby’s TCPSockets. The protocol will for the most part remain
unencrypted, but when client or server requests that TLS begin, I need
to take the existing TCPSocket and initiate TLS over it.
So… any pointers to good Ruby OpenSSL docs? The Rdocs my searches
have found thus far are SEVERELY lacking in anything useful. And
searches for Ruby TLS or SSL stuff turns up only preexisting
protocols, no details about how to interact at a TCPSocket level. My
next step will be to install a few of the libraries I have found and
delve into their source. (But of course I’d MUCH prefer to read
written documentation online if possible, or in combination with my
source code perusal.)
And I do need to preserve the non-blocking nature of my existing code
(which uses IO.select).