Page 1 of 2

TLS library

Posted: Wed Jun 01, 2016 1:41 am
by DenisKarpenko
Hi everyone!
Currently I am working on TLS library!
I am working according to https://tools.ietf.org/html/rfc5246.
Project repo: https://github.com/Bandd-k/TLS-Library
My GSoC proposal: https://docs.google.com/document/d/1RF1 ... IR3zJERgiU

Now I am working on TLS handshake function.
I've implemented clientHello.
I've received serverHello.
Now I am working on extracting public key for RSA algorithm from certificate in DER Format.

I will be posting information about progress to this topic.

Denis :)

Re: TLS library

Posted: Thu Jun 02, 2016 3:34 pm
by ashmew2
Keep going!

Re: TLS library

Posted: Tue Jun 07, 2016 2:03 pm
by DenisKarpenko
Public key was extracted (Modulus and Exponent).
I continue to work on RSA :)

Re: TLS library

Posted: Wed Jun 15, 2016 12:28 pm
by DenisKarpenko
I am working on HMAC. I hope, that in next few days I will introduce it.

Re: TLS library

Posted: Mon Jun 20, 2016 11:29 am
by DenisKarpenko
HMAC is ready. I am waiting a review from hidnplayr. And will make some corrections.
https://github.com/Bandd-k/TLS-Library/ ... r/hmac.inc
Feel free to check my assembler style :) I am newbie and can make some things in unusual or incorrect way.

Re: TLS library

Posted: Mon Jun 20, 2016 1:13 pm
by Pathoswithin
There are question about 4 spaces before local label: somebody likes them, somebody don't. Anyway, don't forget about anonymous labels (@@:).

Re: TLS library

Posted: Mon Jun 20, 2016 1:57 pm
by DenisKarpenko
Thank you. Yes, you are right, I forgot about anonymous labels :)
The second option is absolutely without spaces before local labels, yes?

Re: TLS library

Posted: Mon Jun 20, 2016 7:09 pm
by Pathoswithin
Yes. Takes few seconds to autoreplace though.

Re: TLS library

Posted: Sun Jun 26, 2016 6:20 pm
by DenisKarpenko
I have written new HMAC version (now, it has more convenient interface to use). https://github.com/Bandd-k/TLS-Library/ ... r/hmac.inc
Implemented pseudo random function which is explained there https://tools.ietf.org/html/rfc5246#section-5.
https://github.com/Bandd-k/TLS-Library/ ... er/PRF.inc
RSA is almost ready. Last step is combining different parts.

Re: TLS library

Posted: Thu Jul 28, 2016 8:38 pm
by DenisKarpenko
I have not written posts for a long time. However work is progressing.
Progress:
1) New HMAC.
2) New Pseudo random function.
3) RSA is finished.
4) Client Exchange Message is done.
5) Change cipher Message is done.
Now I am going to tidy code slightly.
Coding plans:
1) Calculate Master Key. https://tools.ietf.org/html/rfc5246#section-8.1
2) Implement Finished Message. https://tools.ietf.org/html/rfc5246#section-7.4.9

Re: TLS library

Posted: Sun Aug 21, 2016 9:08 pm
by DenisKarpenko
Basic TLS_recieve and TLS_send were implemented.
Now, I am going to clean code, write documentation. And make Library easier to using.

Re: TLS library

Posted: Tue Aug 23, 2016 11:47 am
by DenisKarpenko
I've prepared gist about my work durning the summer :)
https://gist.github.com/Bandd-k/9c1a5c0 ... 4a81258893

Re: TLS library

Posted: Tue Aug 23, 2016 7:26 pm
by Wildwest
Can you go to GSOC site and make report? ASAP, please.

Re: TLS library

Posted: Thu Oct 13, 2016 4:48 pm
by stefano
Amazing work @DenisKarpenko! I wish you could keep working on it, because this would allow to write applications for web APIs like a simple Twitter app.
I haven't tested the release but I watched the demo in the Github repository. I have an old laptop where I'm going to install Kolibri and take a look at your implementation.

How much did Google pay you for your work? Because I want to see full support for TLS on Kolibri but I don't have the time to learn assembler at your level (and I don't really want right now). So, maybe I can pay you (and your mentor?) to keep working on it.

For the guys that remember me: sorry for not being active. Today I noticed this work from GSOC 2016 and I was "THIS IS GREAT!!" hehe

By the way, would be great to have HTTPS support on *.kolibrios.org. Whoever is in charge of that may want to check out https://letsencrypt.org/, because they provide free certificates.

Re: TLS library

Posted: Thu Oct 13, 2016 6:12 pm
by DenisKarpenko
Hi esevece!
Your comments are very pleasant :) Thank you!
How much Google pays you can read there https://developers.google.com/open-sour ... ng_in_gsoc.
Unfortunately I have some problems at my university, so I am not working on library now :(
I am going to continue work on library in November. The library will provide full base support for TLS. It should be enough to make for example a simple Twitter app.
Feel free to ask any questions! I will be glad to answer :)