implement SSLSocket#export_keying_material for doing RFC 5705 operations#530
implement SSLSocket#export_keying_material for doing RFC 5705 operations#530rhenium merged 1 commit intoruby:masterfrom madblobfish:openssl-add-rfc5705
Conversation
|
A super hacky radius implementation as a "real live" example can be found here: https://gist.github.com/madblobfish/9f1e89a3b5847ab80dcef16c56a4c0f9 |
What is blocking it from working? Check for It also needs a
Yes. :) |
|
This should fix everything, also squashed everything together (also did it wrong the first time, sorry for that noise). I got no example application code for the optional context functionality though. Edit: removed useless comments from the test by another fix and squash |
rhenium
left a comment
There was a problem hiding this comment.
Sorry that it took long to respond. I added a few code comments.
|
Don't worry about taking your time. Thanks for the review |
|
new push should fix all comments, lets see if the CI agrees :) |
Add OpenSSL::SSL::SSLSocket#export_keying_material to support RFC 5705
|
Fixed failed tests (should have checked locally first 🤦) lets hope there are no compiler warnings left now |
|
Thank you so much! |
|
@madblobfish, @rhenium: Thanks a lot! It is not possible to add text about RFC 9266 support in code? |
|
Hi @Neustradamus An official and proper overview of them may be found in IANA's registry: https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#exporter-labels. Maybe this could be linked. |
I need to generate shared ttls secrets from TLS sessions using this API.
Note this implementation is incomplete! as it does not allow using the context.
See the first commit how that could look. It did not work for me so I removed it.
Should I write a test for this?
Refs:
https://datatracker.ietf.org/doc/html/rfc5705
https://datatracker.ietf.org/doc/html/rfc8446#section-7.5
https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#exporter-labels
https://man.openbsd.org/SSL_export_keying_material.3