Skip to main content

Crate apx_core

Crate apx_core 

Source
Expand description

§APx core primitives

  • URIs
  • DIDs
  • Keys and signatures (Ed25519 and RSA)
  • HTTP signatures (Draft-Cavage and RFC-9421)
  • Data integrity proofs (FEP-8b32)

§Examples

Create an HTTP signature:

use apx_core::{
    crypto::rsa::generate_rsa_key,
    http_signatures::create::{create_http_signature_cavage, HttpSigner},
    http_types::Method,
};
let request_uri = "https://verifier.example/inbox";
let request_body = r#"{"type":"Note"}"#;
let signer_key = generate_rsa_key().expect("should generate secret key");
let signer_key_id = "https://signer.example/actor#main-key";
let signer = HttpSigner::new_rsa(signer_key, signer_key_id.to_owned());
let signed_headers = create_http_signature_cavage(
    Method::POST,
    request_uri,
    Some(request_body.as_bytes()),
    &signer,
).expect("should create signature");
assert_eq!(signed_headers.host, "verifier.example");

Modules§

base64
crypto
Cryptographic primitives
did
DIDs
did_key
did:key method
did_url
DID URLs
hashlink
Hashlinks
http_digest
HTTP content digest
http_signatures
HTTP signatures
http_types
Re-exported http v1.0 types and adapters for http v0.2 types.
http_utils
jcs
JSON Canonicalization Scheme (JCS)
json_signatures
JSON signatures (integrity proofs)
media_type
multibase
Multibase
multicodec
Multicodecs
multihash
Multihashes
url
URL types