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) #228

Open
wants to merge 17 commits into
base: develop
Choose a base branch
from
Open

Support for micro-ecc (WIP) #228

wants to merge 17 commits into from

Commits on Dec 22, 2023

  1. dtls.c: add check for valid handshake message type when version is 1.0.

    Fixes issue eclipse#209.
    
    Signed-off-by: Achim Kraus <[email protected]>
    boaks committed Dec 22, 2023
    Configuration menu
    Copy the full SHA
    6cf43c0 View commit details
    Browse the repository at this point in the history

Commits on Jan 18, 2024

  1. dtls_debug.h: explicitly cast macro parameter to size_t.

    Signed-off-by: Achim Kraus <[email protected]>
    boaks committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    0f1be30 View commit details
    Browse the repository at this point in the history
  2. dtls-server.c: check for left cli-arguments.

    Signed-off-by: Achim Kraus <[email protected]>
    boaks committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    ff73600 View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2024

  1. dtls-client.c: accept options after arguments.

    Signed-off-by: Achim Kraus <[email protected]>
    boaks committed Feb 7, 2024
    Configuration menu
    Copy the full SHA
    44eddf4 View commit details
    Browse the repository at this point in the history
  2. dtls-client.c: apply option for local port.

    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 <[email protected]>
    boaks committed Feb 7, 2024
    Configuration menu
    Copy the full SHA
    b306f27 View commit details
    Browse the repository at this point in the history
  3. Add client dtls connection ID.

    Simple client side implementation indicates support and uses the cid of
    the server, when negotiated by that.
    
    Signed-off-by: Achim Kraus <[email protected]>
    boaks committed Feb 7, 2024
    Configuration menu
    Copy the full SHA
    9232271 View commit details
    Browse the repository at this point in the history
  4. dtls-client.c: add support_cid option.

    Signed-off-by: Achim Kraus <[email protected]>
    boaks committed Feb 7, 2024
    Configuration menu
    Copy the full SHA
    0580b36 View commit details
    Browse the repository at this point in the history
  5. dtls.c: Handle DTLS1.3 ClientHello when calculating cookie

    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 <[email protected]>
    mrdeep1 authored and boaks committed Feb 7, 2024
    Configuration menu
    Copy the full SHA
    4c39d5c View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2024

  1. [Documentation] Update Doxyfile.in to version 1.9.8

    To avoid doxygen warnings regarding outdated configuration options,
    this change updates the Doxyfile template to the current version 1.9.8.
    
    Change-Id: Ia60a20e4cb3da375cde48c9ae3ca234200bb8a10
    obgm committed Feb 18, 2024
    Configuration menu
    Copy the full SHA
    3ce86c2 View commit details
    Browse the repository at this point in the history
  2. Makefile.in: Remove SUB_OBJS rule to preserve CPPFLAGS

    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
    obgm committed Feb 18, 2024
    Configuration menu
    Copy the full SHA
    86b6765 View commit details
    Browse the repository at this point in the history
  3. configure.ac: Set flags for uECC if ECC support is enabled

    Sets OPT_OBJS and CPPFLAGS to build uECC with curve secp256r1
    
    Change-Id: I3c4860fbc568a492082eeb08e4ee3abd6fbc3c6e
    obgm committed Feb 18, 2024
    Configuration menu
    Copy the full SHA
    121cad5 View commit details
    Browse the repository at this point in the history
  4. dtls.c: Initialize PRNG function for micro-ecc

    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
    obgm committed Feb 18, 2024
    Configuration menu
    Copy the full SHA
    61763fe View commit details
    Browse the repository at this point in the history
  5. [Tests] Remove unit tests for internal ECC implementation

    As micro-ecc comes with its own unit tests, the tests for the internal
    ECC implementation are removed.
    
    Change-Id: I36826df4a99bd916659898587a94ea6d76af4a33
    obgm committed Feb 18, 2024
    Configuration menu
    Copy the full SHA
    f972a67 View commit details
    Browse the repository at this point in the history
  6. crypto.c: Replace ECC functions with micro-ecc

    Change-Id: I85de2c3c88063dae35e81b2b3999bf7d76d04ce7
    obgm committed Feb 18, 2024
    Configuration menu
    Copy the full SHA
    8014f05 View commit details
    Browse the repository at this point in the history
  7. [ECC] Add micro-ecc as submodule

    Add submodule ext/micro-ecc from https://github.com/kmackay/micro-ecc.git
    
    Change-Id: I17efa4c2fd9bd952b479bce32f0ebbb764301ca3
    obgm committed Feb 18, 2024
    Configuration menu
    Copy the full SHA
    f8204f2 View commit details
    Browse the repository at this point in the history
  8. Makefile.in: Add in micro-ecc dependencies

    Change-Id: I5bd1f510c162c5ef4432f5c9cb93836312706a74
    obgm committed Feb 18, 2024
    Configuration menu
    Copy the full SHA
    0e068ec View commit details
    Browse the repository at this point in the history
  9. crypto.[hc]: Use micro-ecc for ECC support

    This change provides support for the curve secp256r1 from micro-ecc.
    
    Change-Id: I2d272e2ddb498016a2d6e85af7af8247010768d8
    obgm committed Feb 18, 2024
    Configuration menu
    Copy the full SHA
    3dc62b1 View commit details
    Browse the repository at this point in the history