Comments (8)
Looking forward for the implementation of this feature. Any news on the progress/plans for this?
from go-coap.
For now it is not planned because I use TCP/TLS. If there will be lot's of thumbs up or someone who wants to contribute then please create pull request. I will merge it.
from go-coap.
We're about to land PSK support in pion/dtls#76, starting with TLS_PSK_AES_128_CCM8 b/c a lot of IoT things use that. We're hoping to see the PR reviewed and merged this week.
from go-coap.
Hi. I integrated pion/dtls to go-coap in branch https://github.com/go-ocf/go-coap/tree/dtls. And it will be merge in the near future, but fill free to test it. You can find example: https://github.com/go-ocf/go-coap/tree/dtls/examples/dtls
from go-coap.
That's awesome, thanks for taking the time to do this! I've just pushed the v1.4.0 tag to pion/dtls so you don't have to depend on master/SHA anymore.
from go-coap.
I took at look at this whilst experimenting with go-coap for matrix.org; I concluded that https://github.com/pions/dtls's lack of PSK support was not ideal for typical low-bandwidth CoAP scenarios. Are you planning to add PSK to it?
I wondered whether https://github.com/bocajim/dtls might be a better bet (on the assumption that it might get upgraded from DTLS/1.0 to DTLS/1.2 in future)?
In the end, for the Matrix experiment I ended up using a Noise Pipe (via https://github.com/flynn/noise) for transport layer crypto, which ends up minimising bandwidth as well as supporting 0RTT handshakes. However, it's completely custom and presumably not useful for your OCF requirements; just mentioning it for the sake of interest and in case the way we added the crypto layer is useful. The experiment is still WIP currently but can link to it once it works fully.
The experiment of go-coap + noise exists over at master...matrix-org:matthew/noise2. It has some pretty major limitations...
- it only works for unicast UDP (and breaks multicast)
- it doesn't handle packet loss and at the crypto layer (either for transport or handshake packets)
...but might still be interesting for reference purposes to see how we layered in crypto. (Warning: this was my first Go code)
For the record, we're also going to look at layering CoAP over QUIC (and nQUIC) in future, as an alternate way of handling the retries/transport-reliability problem at low bandwidth.
from go-coap.
Are you planning to add PSK to it?
No. For now I just add mention one implementation.
I wondered whether https://github.com/bocajim/dtls might be a better bet (on the assumption that it might get upgraded from DTLS/1.0 to DTLS/1.2 in future)?
I add https://github.com/bocajim/dtls to issue for evaluation.
Thx for information.
from go-coap.
Thx for tag. Branch dtls was merged to the master.
from go-coap.
Related Issues (20)
- go install issue - go.mod has post-v3 module path at revision v3.0.0 HOT 1
- how do i do the tls / letsencrypt equivalent of a secure connection? HOT 1
- how do u do cookie sessions or cookies data sending in coap? HOT 3
- How to get IdentityHint for request HOT 2
- TCP doesn't work HOT 2
- Bidirectional examples missing HOT 2
- mux.Router can't handle root path or no path ("/") HOT 3
- Move from `pion/udp` to `pion/transport` HOT 3
- Support for Middlewares in mux Router HOT 5
- Consume `pion/dtls` connection ID support HOT 1
- Support serializing and deserializing a UDP DTLS connection HOT 2
- Implement Support for Separate Messages in Server HOT 1
- Server response with ACK to Empty CON (CoAP Ping) HOT 1
- /examples/dtls/cid/server crashes if client has wrong PSK HOT 1
- udp/server_test.go fails if first non-loopback interface is not running HOT 2
- Media type strings do not match IANA registry HOT 5
- Mux provides user with internal map HOT 1
- Ping (CON Empty Message) Notifications HOT 1
- Support for sending messages without token
- Blockwise requests should be correlated based on message options HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go-coap.