Skip to main content

Crate ojak_sig

Crate ojak_sig 

Source
Expand description

Signatures and proofs: HTTP Signatures (draft-cavage, and RFC 9421 with RSA or Ed25519) and the policy an inbox holds them to, FEP-8b32 Object Integrity Proofs (eddsa-jcs-2022, and the post-quantum mldsa44-jcs-2024), Linked Data Signatures (RsaSignature2017), and did:key.

They do no I/O: callers supply byte slices, header pairs, keys, the time and, to make a key, randomness. Ojak fetches keys and sends requests with them, and re-exports this crate as ojak::sig.

Re-exports§

pub use signature::PrivateKey;

Modules§

did
did:key, the DID method every portable object (FEP-ef61) can be verified with, because it needs no resolution: the DID is the key.
digest
Digests of a request’s body: the Digest header (RFC 3230) draft-cavage signatures cover, and the Content-Digest field (RFC 9530) RFC 9421 ones do.
integrity
FEP-8b32 Object Integrity Proof verification (eddsa-jcs-2022 and mldsa44-jcs-2024).
linked_data
Linked Data Signatures: RsaSignature2017, as Mastodon makes and checks them (ActivityPub::LinkedDataSignature).
rfc9421
HTTP Message Signatures (RFC 9421).
signature
HTTP Signature (draft-cavage-http-signatures) for ActivityPub federation.
verification
Checking a signed request that arrives in an inbox.

Structs§

SenderKey
The key an actor signs deliveries with.

Enums§

Error
Why something could not be signed or verified.
Scheme
An HTTP signature scheme.

Traits§

CryptoRng
The randomness keys are made with, which the caller supplies: the system’s (rand::rngs::SysRng behind rand_core::UnwrapErr, or rand::rng()), or a device’s own. A marker trait for securely unpredictable infallible RNGs