Merge pull request #28 from cisco/fix-build

Update CI scripts
tree: a9b687cd6925b6e7867e9b9b1659f90090e838fb
  1. .github/
  2. include/
  3. scripts/
  4. src/
  5. test/
  6. .clang-format
  7. .gitignore
  8. CMakeLists.txt
  9. LICENSE
  10. Makefile
  11. README.md
  12. vcpkg.json
README.md

SFrame

This repository contains an implementation of the draft SFrame standard for end-to-end media encryption. Since the spec is still in progress, the implementation here doesn't match exactly. For example:

  • We do not derive key/salt from the master key. The key is used directly, and the nonce is formed directly from the counter, with no salt.

  • We use AES-GCM instead of the AES-CTR + HMAC construction in the specification.

  • We include the SFrame header as AAD in the encryption

Ideally, these differences will resolve as the specification and this implementaiton evolve together.

Building and Running Tests

A convenience Makefile is included to avoid the need to remember a bunch of CMake parameters.

> make        # Builds the library
> make test   # Builds and runs tests
> make format # Runs clang-format over the source

Prerequisites

You need openssl 1.1 or greater installed, C++ compiler, make, and cmake