cose: keys and signing + validation

Support for COSE keys and signing / validation

 - lws_cose_key_t and import / export / generation apis for EC / RSA / SYMMETRIC

 - cose_sign1 ES256/384/512,RS256/384/512 sign + validate, passes RFC8152 WG tests sign1-tests
 - cose_sign  ES256/384/512,RS256/384/512 sign + validate, passes RFC8152 WG tests sign-tests
 - cose_mac0  HS256/HS256_64/384/512      sign + validate, passes RFC8152 WG tests hmac-examples
 - cose_mac   HS256/HS256_64/384/512             validate, passes RFC8152 WG tests hmac-examples

 - lws-crypto-cose-key commandline tool for key / key set dumping and
   creation
 - lws-crypro-cose-sign commandline tool for signing / validation

 - lws-api-test-cose - large number of test vectors and tests from RFC8152
61 files changed
tree: 7b253b1843c5c2627644a0d7c9533579fad46c5d
  1. cmake/
  2. contrib/
  3. doc-assets/
  4. include/
  5. lib/
  6. lwsws/
  7. minimal-examples/
  8. plugin-standalone/
  9. plugins/
  10. READMEs/
  11. scripts/
  12. test-apps/
  13. win32port/
  14. .gitignore
  15. .mailmap
  16. .sai.json
  17. bug_report.md
  18. changelog
  19. CMakeLists-implied-options.txt
  20. CMakeLists.txt
  21. component.mk
  22. Kconfig
  23. libwebsockets.dox
  24. LICENSE
  25. Makefile.projbuild
  26. README.md
README.md

CI status Coverity Scan Build Status CII Best Practices Codacy Badge Total alerts Language grade: C/C++ Language grade: JavaScript

Libwebsockets

Libwebsockets is a simple-to-use, MIT-license, pure C library providing client and server for http/1, http/2, websockets, MQTT and other protocols in a security-minded, lightweight, configurable, scalable and flexible way. It's easy to build and cross-build via cmake and is suitable for tasks from embedded RTOS through mass cloud serving.

80+ independent minimal examples for various scenarios, CC0-licensed (public domain) for cut-and-paste, allow you to get started quickly.

There are a lot of READMEs on a variety of topics.

We do a huge amount of CI testing per push, currently 495 builds on 27 platforms.

overview

News

v4.2 is released

See the changelog

Support

This is the libwebsockets C library for lightweight websocket clients and servers. For support, visit

https://libwebsockets.org

and consider joining the project mailing list at

https://libwebsockets.org/mailman/listinfo/libwebsockets

You can get the latest version of the library from git:

Doxygen API docs for development: https://libwebsockets.org/lws-api-doc-main/html/index.html