Is it possible to hand-negotiate an SSL/TLS session? I'm interested in trying to hand-negotiate an SSL/TLS session. Similar to how one would use telnet to port 80 and type GET / HTTP/1.1. I know there's a lot of steps involved, and I'm aware of the structure that should be used (per RFC 5246). I know eventually I'd have to start doing my own crypto, (which I suppose I could use an external source for) but I'm not concerned about that. I'm just wondering if there's a way I could do this seeing as connecting on 443 over telnet just causes the connection to be immediately reset.
No, this is not possible, even if you copy &amp; paste data to/from another program. The reason is that SSL is a binary protocol, and telnet won't pass through arbitrary binary data. Moreover, upon connection, it does some protocol negotiation, and this is probably the reason for connection reset.

There are programs, like openssl s_client, which set up SSL connection for you and let you type the data by hand. For example, you can use it to connect to a HTTPS server and type the request manually, as you do with HTTP and telnet.