sharpie 0.2.0

A simple digital signing and verification library based on ring
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use std::fs;

use base64::{prelude::BASE64_STANDARD, Engine};
use sharpie::ed::{sign, verify, PrivateKey, PublicKey};

fn main() -> anyhow::Result<()> {
    let privkey = PrivateKey::PEM(fs::read_to_string("sharpie/fixtures/ed.private.pem")?).read()?;
    let sig = sign(b"hello world", &privkey)?;
    let pubkey = PublicKey::PEM(fs::read_to_string("sharpie/fixtures/ed.public.pem")?).read()?;
    verify(b"hello world", &sig, &pubkey)?;
    println!(
        "Verified ed25519 signature, base64 encoded:\n{}",
        BASE64_STANDARD.encode(sig)
    );
    Ok(())
}