[gnutls-devel] GnuTLS | key_update: rework the rekeying logic (!1990)

Read-only notification of GnuTLS library development activities gnutls-devel at lists.gnutls.org
Sat Jul 19 00:15:51 CEST 2025



Daiki Ueno created a merge request: https://gitlab.com/gnutls/gnutls/-/merge_requests/1990

Project:Branches: dueno/gnutls:wip/dueno/rekey to gnutls/gnutls:master
Author:   Daiki Ueno




<!-- Add a description of the new feature/bug fix. Reference any relevant bugs. -->

While RFC 8446 4.6.3 says the sender of a KeyUpdate message should
only update its sending key and the receiving key should be updated
after receiving a KeyUpdate message from the peer, the previous
implementation assumed that the peer also requests a rekey and updated
the sending and receiving keys altogether.

This split the updating logic into 2 phases: when sending a KeyUpdate,
only update the sending key, and when receiving a KeyUpdate, only
updating the receiving key.  In both cases, KeyUpdate messages are
encrypted/decrypted in the old keys.

Partially fixes: #1717 

## Checklist
 * [x] Commits have `Signed-off-by:` with name/author being identical to the commit author
 * [ ] Code modified for feature
 * [ ] Test suite updated with functionality tests
 * [ ] Test suite updated with negative tests
 * [ ] Documentation updated / NEWS entry present (for non-trivial changes)
 * [ ] CI timeout is 2h or higher (see Settings/CICD/General pipelines/Timeout)

## Reviewer's checklist:
 * [ ] Any issues marked for closing are addressed
 * [ ] There is a test suite reasonably covering new functionality or modifications
 * [ ] Function naming, parameters, return values, types, etc., are consistent and according to `CONTRIBUTION.md`
 * [ ] This feature/change has adequate documentation added
 * [ ] No obvious mistakes in the code

-- 
Reply to this email directly or view it on GitLab: https://gitlab.com/gnutls/gnutls/-/merge_requests/1990
You're receiving this email because of your account on gitlab.com.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gnupg.org/pipermail/gnutls-devel/attachments/20250718/ee28dab5/attachment.html>


More information about the Gnutls-devel mailing list