paragonie-security / libpaseto

C implementation of Platform-Agnostic Security Tokens (PASETO)

Home Page:https://paseto.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

C library for PASETO

libpaseto is a low-level implementation of Platform-Agnostic Security Tokens in C. It only supports v2 public and private tokens, v1 is not supported. PASETO Registered Claims are not in the scope of this project but can be built ontop of libpaseto.

Building

libpaseto only depends on libsodium and uses CMake. It can be built using the following commands:

mkdir build
cd build
cmake ..
make
cd ..
build/pasetotest

Usage overview

  • Initialize the library: paseto_init
  • Load a key using paseto_v2_{local,public}_load_...
  • Encrypt or sign a message using paseto_v2_local_encrypt or paseto_v2_public_sign respectively
  • Decrypt or verify a token using paseto_v2_local_decrypt or paseto_v2_public_verify respectively. They will return the decoded message on success, a null pointer otherwise.
  • Clean up returned results using paseto_free

Refer to example.c for a detailed example.

License

libpaseto is published under the 3-clause BSD license and makes use of libsodium which is published under the ISC license.

About

C implementation of Platform-Agnostic Security Tokens (PASETO)

https://paseto.io

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:C 96.3%Language:CMake 3.7%