How much will it cost to consult a debugging?
I do not want to remove all the bugs, I just want to remove one bug.
Not even solution, but I just want to know the reason of the bug.
It will not be a hard problem for you.
I am working on a tls project and having some difficulties.
I asked a lot here, and had much help from you.
I tried for some time and concluded to consult you if the cost is not too much.
Github page of my project is https://github.com/ParkSeungwon/http2.
You should use the tls branch not the master branch.
you should install these libraries.
mysqlcppconn, jsoncpp, gmp(gnu multiprecision library), gmpxx(gmp for c++), catch2
On a linux machine, you can compile my project just by using make command on a root directory.
Just delete incltouch line in the root Makefile.
When compile is done, run ./https.x.(a tls server program) and run openssl s_client.
Then openssl will send bad record mac(20) alert.(after server finished message)
I want to know why this is happening.
I think you need to see tls.h, tls.cc, https.h and https.cc in tls directory.
Especially encode function of tls/tls.cc.
My program works fine with my own client. tls-cl.x. But not with openssl or wolfssl.
I post two pics to help you understand my problem.
First picture shows my https.x receiving bad record mac from openssl s_client.
But in server side the mac is verified well as you can see.
It decrypted the alert message well and MAC was also verified.
But client side, it says bad record mac..
The second picture shows that error is occured during decryption.
This is wolfssl example client. I added some logging lines to debug my program.
But all I added was just printf syntaxes.
From upper picture I could see that finished message content is well generated.(prf result 12)
I could verify it with prf result of my server.
Also hmac key was fine. But the hmac jumped some other lines I don't know about.
Because Hmac_update is not called. I added logging lines to every functions in hmac.c.