GithubHelp home page GithubHelp logo

jose's Introduction

RustCrypto: JOSE Project Chat dependency status

Pure Rust implementation of Javascript Object Signing and Encryption (JOSE)

Crates

Name crates.io Docs Description
jose-b64 crates.io Documentation Base64 utilities for use in JOSE crates
jose-jwa crates.io Documentation JSON Web Algorithms (JWA)
jose-jwe crates.io Documentation JSON Web Encryption (JWE)
jose-jwk crates.io Documentation JSON Web Keys (JWK)
jose-jws crates.io Documentation JSON Web Signatures (JWS)
jose-jwt crates.io Documentation JSON Web Tokens (JWT)

Crate Overview

This project provides multiple crates that implement different components of the JOSE family. An overview of each and information on their relationships is listed below.

jose-b64

This crate provides relevant utilities for working with Base64. It won't often be used on its own, but provides helper types for working with json-as-b64 and cyptographically secure base64, both of which are common cases with JOSE.

jose-jwa

This crate provides representations of different algorithm types as specified in RFC7518. Again, it is not likely that this crate is used on its own; it will be reexported when required by the other crates.

jose-jwk

This crate provides ways to interact with JWKs, JSON representations of cryptographic keys specified in RFC7517. Typically JWKs hold public keys.

jose-jws

This crate provides a way to interact with JWSs, data sent via JSON that has a way to validate data authenticity. These are specified in RFC7515 and provide authenticity (a way to prove that data comes from the corrct sender) and integrity (proof that it was not altered along the way), but not confidentiality; that is, anybody can read the data contents. Typically, JWSs are seen in the forms of JWTs.

jose-jwe

This crate provides ways to interact with JWEs, JSON representations of encrypted data specified in RFC7516. JWEs provide authenticity, integrity and confidentiality (unlike JWS), and are typically four or five Base64-encoded fields separated by a .. Each field representing a piece of information an intended recipient needs to decode an encrypted payload.

jose-jwt

This crate interacts with JWTs, which is a specific JSON schema for representing web tokens specified in RFC7519. The JWT specification just defines a set of specific fields ("claims", iss, exp and similar) that are usually represented as a JWT (the usual Base64 abc123.321DEF.g_hi10 format) but can also be encrypted as a JWE.

License

All crates licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

jose's People

Contributors

cobward avatar dependabot[bot] avatar johahu avatar newpavlov avatar npmccallum avatar tarcieri avatar tgross35 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.