Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for micro-ecc (WIP, Quick-Fixes) #229

Open
wants to merge 18 commits into
base: main
Choose a base branch
from

Conversation

boaks
Copy link
Contributor

@boaks boaks commented Feb 26, 2024

No description provided.

boaks and others added 17 commits December 22, 2023 11:12
Fixes issue eclipse#209.

Signed-off-by: Achim Kraus <achim.kraus@cloudcoap.net>
Signed-off-by: Achim Kraus <achim.kraus@cloudcoap.net>
Signed-off-by: Achim Kraus <achim.kraus@cloudcoap.net>
Signed-off-by: Achim Kraus <achim.kraus@cloudcoap.net>
The previous version ignores the option for the local port. That may be
caused by issues using the same default local port for the server and
client.
This enables the use of an specific local port and changes the default
to an ephemeral free port, similar to quite a lot of other UDP clients.
The DEFAULT_PORT is therefore only used for the destination.

Signed-off-by: Achim Kraus <achim.kraus@cloudcoap.net>
Simple client side implementation indicates support and uses the cid of
the server, when negotiated by that.

Signed-off-by: Achim Kraus <achim.kraus@cloudcoap.net>
Signed-off-by: Achim Kraus <achim.kraus@cloudcoap.net>
Do not calculate the cookie using the Extensions as these are
different between DTLS1.2 and DTLS1.3

https://datatracker.ietf.org/doc/html/rfc6347#section-4.2.1

When responding to a HelloVerifyRequest, the client MUST use the same
parameter values (version, random, session_id, cipher_suites,
compression_method) as it did in the original ClientHello.  The
server SHOULD use those values to generate its cookie and verify that
they are correct upon cookie receipt.

https://www.rfc-editor.org/rfc/rfc9147.html#section-5.3

The ClientHello up to, but not including the Extensions is the same for
DTLS1.2 and DTLS1.3

Signed-off-by: Jon Shallow <supjps-libcoap@jpshallow.com>
To avoid doxygen warnings regarding outdated configuration options,
this change updates the Doxyfile template to the current version 1.9.8.

Change-Id: Ia60a20e4cb3da375cde48c9ae3ca234200bb8a10
The SUB_OBJS dependency rule invoked make -C on the target directory
without passing important flags such as CPPFLAGS. This change removes
this rule so that these objects are built with the all flags set in
this Makefile.

Change-Id: Ic673a881f18cbfa773860d722041a7a083f65d8e
Sets OPT_OBJS and CPPFLAGS to build uECC with curve secp256r1

Change-Id: I3c4860fbc568a492082eeb08e4ee3abd6fbc3c6e
When compiled with support for ECC, the pseudo-random number generator
must be set for micro-ecc. As the function signature required by
micro-ecc is different from dtls_prng(), a wrapper function is
required to map the different size types. As dtls_prng's size type is
larger, no other conversion is necessary.

Change-Id: I2f0da18983256be3bc27f18079cf9a774049de33
As micro-ecc comes with its own unit tests, the tests for the internal
ECC implementation are removed.

Change-Id: I36826df4a99bd916659898587a94ea6d76af4a33
Change-Id: I85de2c3c88063dae35e81b2b3999bf7d76d04ce7
Add submodule ext/micro-ecc from https://github.com/kmackay/micro-ecc.git

Change-Id: I17efa4c2fd9bd952b479bce32f0ebbb764301ca3
Change-Id: I5bd1f510c162c5ef4432f5c9cb93836312706a74
This change provides support for the curve secp256r1 from micro-ecc.

Change-Id: I2d272e2ddb498016a2d6e85af7af8247010768d8
@boaks boaks force-pushed the uecc-support-fix branch 5 times, most recently from c132280 to 160a6d9 Compare February 26, 2024 17:05
@boaks boaks changed the title Uecc support fix Support for micro-ecc (WIP, Quick-Fixes) Feb 26, 2024
@boaks boaks force-pushed the uecc-support-fix branch 2 times, most recently from 72174a0 to 6f51651 Compare February 27, 2024 08:08
Signed-off-by: Achim Kraus <achim.kraus@cloudcoap.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants