Topic: Custom Extension
For my Master thesis I am playing around with an implementation of Remote Attestation into TLS using wolfSSL.
I've created necessary functions and implemented reading and writing the extension data from/to in-/outcoming messages.
I am using a small playground to test this communication between a client and a server.
However, whatever I do, the extension data is somehow not being written into the ClientHello message correctly, whereas the total extension size counter gets increased.
This of course results in a decode error on the server side.
I added log statements and it seems that writing the extension data inside the switch branch of the new extension never gets executed, as if the extension wasn't there.
Maybe I miss something obvious? I'd be very glad if someone can look over my changes.
I already put weeks of try-and-error into it, following and debugging the code flow and it just doesn't make sense to me.
My (dummy implementation) changes can be found here: https://github.com/joeftiger/wolfssl/tree/RA
And my playground implementation is here: https://github.com/joeftiger/wolfssl-playground/tree/RA
I tried to keep this implementation example minimal by using only 1 byte as extension data.
Thank you very much for your help!