jyn514 / threaded-server

A stupid simple server with threading
BSD 3-Clause "New" or "Revised" License
10 stars 4 forks source link

Add SSL support #17

Open jyn514 opened 5 years ago

justinba1010 commented 5 years ago

Hey I'd love to join in on this project, I don't get into the internals of the handshake at work, but are you trying to have as many SSL handshakes as possible? As far as I understand, the first part of the connection is the key derivation, which is usually Diffie-Hellman, RSA, or soon ECC, that lets the server hold a symmetric key, like so, https://en.wikipedia.org/wiki/PBKDF2.

I'm guessing you're going to want TLS 1.3, https://tools.ietf.org/html/rfc8446, and SSL 3.0 https://tools.ietf.org/html/rfc6101.

Anyway this is really neat, going to pull it down and see what I can do with it. Also do you want this to solely be an HTTP server?

jyn514 commented 5 years ago

I was not planning to write my own code, I was looking at either openssl or https://tls.mbed.org/ if the openssl api is too hard to use.

I'm not opposed to dynamic content, is there something else you had in mind?

justinba1010 commented 5 years ago

Not really, I was just confirming its meant to serve HTTP requests. I think OpenSSL is the way to go. But I'll be completely honest I have little experience at the lower level and it.