Skip to content

Conversation

sbernard31
Copy link
Contributor

@sbernard31 sbernard31 commented Jul 30, 2025

This PR aims to add support of CoAP over DTLS based on java-coap and Bouncy Castle at server side.

Here some limitations from bouncy castle :

  1. There is no async API which is a bigger issue at server side than client one.
  2. Client API seem to not support DTLS Role Exchange. (but it should be implemented using client and server api)
  3. API is very low level some and doesn't reuse JSSE class (like PublicKey, PrivateKey, Certificate ...) from openJDK
  4. API is only about handle 1 DTLS connection between 2 peers. If you want to handle several on same socket you need to demux packet, handle and store connection on yourself. So lot of work to do ... In this PR there is a very basic implementation of that.
  5. Server does not support RPK and X509 at the same time.
  6. still not clear to me if connectionID is supported

Some missing task :

  • ✔️ clean sonard issues
  • ✔️ add an endpoint using that in server-demo

@sbernard31 sbernard31 changed the base branch from bc_coaps to master August 8, 2025 14:06
@sbernard31 sbernard31 force-pushed the bc_coaps_server branch 2 times, most recently from 851bf50 to 07d2f3e Compare August 8, 2025 14:15
Copy link

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.

1 participant