#certificate #public-key #traits #signature #generic #type #running

polyproto

(Generic) Rust types and traits to quickly get a polyproto implementation up and running

8 releases (5 breaking)

0.8.0 Apr 15, 2024
0.7.1 Apr 15, 2024
0.6.0 Mar 11, 2024
0.5.0 Feb 29, 2024
0.1.0 Feb 1, 2024

#1118 in Cryptography

Download history 1/week @ 2024-01-29 215/week @ 2024-02-12 123/week @ 2024-02-19 171/week @ 2024-02-26 8/week @ 2024-03-04 181/week @ 2024-03-11 5/week @ 2024-03-18 6/week @ 2024-04-01 136/week @ 2024-04-08 277/week @ 2024-04-15

420 downloads per month

MPL-2.0 license

100KB
1.5K SLoC

Discord Matrix Build Coverage Blue status badge, reading 'Early Development'

polyproto

Crate supplying (generic) Rust types and traits to quickly get a polyproto implementation up and running.

Implementing polyproto

The crate is currently in very early (alpha) development. A lot of functionality is missing, and things may break or change at any point in time.

This crate extends upon types offered by der and spki. As such, these crates are required dependencies for projects looking to implement polyproto.

Start by implementing the trait crate::signature::Signature for a signature algorithm of your choice. Popular crates for cryptography and signature algorithms supply their own PublicKey and PrivateKey types. You should extend upon these types with your own structs and implement the crate::key traits for these new structs.

You can then use the crate::certs types to build certificates using your implementations of the aforementioned traits.

View the examples directory for a simple example on how to implement and use this crate.

Cryptography

This crate provides no cryptographic functionality whatsoever; its sole purpose is to aid in implementing polyproto by transforming the polyproto specification into well-defined yet adaptable Rust types.

Dependencies

~1.3–2MB
~42K SLoC