Skip to content
/ cozy Public

CBOR Object Signing and Encryption (COSE) for Zephyr RTOS

License

Notifications You must be signed in to change notification settings

lindemer/cozy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cozy

Cozy can be linked as an external module to any Zephyr app. This library is built on mbedTLS and NanoCBOR.

Current coverage of RFC 8152

  • Encode/decode COSE Sign1 objects
  • Encode/decode COSE Encrypt0 objects
  • EC signature algorithms: NIST P-256, NIST P-384
  • AEAD algorithms: AES-GCM 128, AES-GCM 192, AES-GCM 256

Usage

Add the following line to your app's CMakeLists.txt:

set(ZEPHYR_EXTRA_MODULES <absolute_path_to>/cozy)

Add the following line to your app's prj.conf:

CONFIG_COZY=y

Access the Cozy API from your source files with #include <cozy/cose.h>.

Tests and examples

Run west build -t run -b native_posix from the tests directory. See tests/src/tests.c for examples.

Project roadmap

  • Support for ECDH key agreement algorithms
  • Support for countersignatures
  • Support for NSA Suite B algorithms listed in RFC 6460
  • Full coverage of COSE specfication described in RFC 8152

About

CBOR Object Signing and Encryption (COSE) for Zephyr RTOS

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published