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.

  • 1
    $\begingroup$ No, it is not feasible or even theoretically possible to connect to a server on 443 and type yourself through an entire SSL handshake. $\endgroup$ Commented Sep 22, 2014 at 14:39

1 Answer 1


No, this is not possible, even if you copy & 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.

  • 2
    $\begingroup$ It's also important to note that even if you managed to pass through binary data, you'd need to be able to perform cryptographic operations in your head, no small feat. $\endgroup$ Commented Sep 22, 2014 at 18:01
  • $\begingroup$ @CodesInChaos That's why I proposed a hypothetical example where you copy all incoming data into a program, which performs all cryptography for you, and paste the results back. $\endgroup$ Commented Sep 22, 2014 at 18:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.