Skip to content

Latest commit

 

History

86 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

json-proof-token

License

Decoder

Here you can find a simple decoder for JSON Proof Tokens.

Description

Rust library implementing the new JOSE Working Group drafts:

The specification work for this can be found here.

Supported Features

JSON Web Keys (JWK)

JWK is defined in RFC 7517.

NOTE: To represent BLS keys this implementation refers to draft-ietf-cose-bls-key-representations-05.

JWKs are currently used in the proof generation and verification of JWPs.

The tables below represent which kty and crv are supported at momement.

JWK Key Type

Key Type Support
OKP ✔
EC ✔
RSA ✘
oct ✘

JWK Elliptic Curve

The standard list of Elliptic Curves can be found here:

Curve Name Support
P-256 ✘
P-384 ✘
P-521 ✘
secp256k1 ✘
Ed25519 ✘
Ed448 ✘
X25519 ✘
X448 ✘

This list is made from the currenlty active draft Barreto-Lynn-Scott Elliptic Curve Key Representations for JOSE and COSE - v05.

Curve Name Support
BLS12381G2 ✔
BLS12381G1 ✘
BLS48581G2 ✘
BLS48581G2 ✘

JSON Web Proof Algorithms

The supported algorithm are defined in in the JPA specification.

NOTE: Keep in mind that these specifications are in the early stages, and there is a high likelihood that they will undergo significant changes in the future.

Single Use

Algorithm Support Remarks
SU-ES256 ✘
SU-ES384 ✘
SU-ES3512 ✘

BBS

The BBS-SHAKE256 value is temporary and awaits an update to the official draft that will define names to support the ciphersuite BBS_BLS12381G1_XOF:SHAKE-256_SSWU_RO_H2G_HM2S_ specified in BBS+.:

Algorithm Support Remarks
BBS ✔
BBS-SHAKE256 ✔

MAC

These are defined here:

Algorithm Support Remarks
MAC-H256 ✘
MAC-H384 ✘
MAC-H512 ✘
MAC-K25519 ✘
MAC-K448 ✘
MAC-H256K ✘

JSON Web Proof Serialization

Format Support
Compact ✔
JSON ✘
CBOR ✘

Getting Started

Requirements

Usage

Add this to your Cargo.toml:

[dependencies]
json-proof-token = "0.4.1"

Example

Take a look at the examples.

Tests

To run the tests

cargo test

About

JSON Proof Token (JPT) library in Rust. Implementation of the new JOSE WG drafts: JSON Web Proof (JWP), JSON Proof Token (JPT) and JSON Proof Algorithms (JPA).

Resources

Stars

6 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages