An implementation of the CBOR Object Signing and Encryption standards.
See the version list below for details.
Install-Package Com.AugustCellars.CoAP -Version 1.3.0
dotnet add package Com.AugustCellars.CoAP --version 1.3.0
<PackageReference Include="Com.AugustCellars.CoAP" Version="1.3.0" />
paket add Com.AugustCellars.CoAP --version 1.3.0
This project is built on the CoAP.NET project of smeshlink which in turn is based on Californium. As this project did not seem to be maintained any more and I wanted a version in order to test the newer items that are coming out of the IETF CORE working group, I have captured it and started exanding it.
This project is NOT intended to be used for commercial purposes. It is intented only for research and verification work.
- Remove NetStandard 1.3 in favor of 2.0 and add NetCore 2.0
- Put in multcast support
- Primative version of CoRAL
- Update net 4.5 file to use latest CBOR
- Switch to use NetStandard 1.3 rather than Net 4.5
- Remove Net 4.0 distribution
- Update to match the OSCORE -14 specification
- Add more work to get callbacks from TLS processing to be known to the user
- Change to 4.6.2 NET FrameWork
- Allow for a server to specify an IP Address to monitor rather than monitoring all addresses associated with the machine.
- Setup to allow TCP transports to be used. The protocol itself is in a separate module. No support exists for WebSockets nor is it planned.
- Setup for TCP signal messages to be sent.
- Correct seriziation to allow for resolving againist a URL
- Move to latest version of OSCORE
- Fix blockwise to use the current session to work w/ TCP and BERT
- Start implementing the TLSEvent code. This code allows for some events in the TLS protocol to be sent to the client or server. Currently server can get unrecognized PSK notifications and process along with some setup events.
- Update to a more current version of the COSE draft. Probably not at -12 yet as I have not been following this recently.
- Move the link format code for CBOR and JSON to the most recent version. May change without warning in the future.
- Implement the code needed for doing Raw Public Keys. Unfortunately the public distribution of BouncyCastle does not have this implemented yet. Currently there are no plans to distribute our own BC drop.
- Put the strong name back
- Rewrite the LinkFormat code - introduce a strict parsing mode and setup for doing a resource directory.
- Missed the public on FileLogManager class
- Add method and dispatch code for dealing with FETCH, PATCH and iPATCH. These methods were defined in RFC 8132.
- Re-enable DTLS reliability layer. It was removed for debugging purposes.
- Re-enable observer reconnect attempts. The ability to disable it remains, this just changes the default value.
- Add a UriPath and UriQuery property to the CoapClient class. This means that URIs do not need to be constantly reparsed when looking at multiple resources on a server.
- DTLS should now check sessions correct
- Remove some left over Console.Write statements
- Refer to strongly named assemblies. These will become strongly named in the next version
- Updates dealing with the internal logging system so it can be made to log to a file rather than the console
- DTLS server implemention is now functional and included.
- Turn off logging by default
- Turn off auto re-enrollment for Observe relationships by default. The ObserveReconnect property on a request can be used to turn it back on for that request.
- Implement a basic version of DTLS client code
- Correct dll name
- Fix internal inconsistances
This package is not used by any popular GitHub repositories.