#signature #minisign #ed25519

minisign-verify

A small crate to verify Minisign signatures

13 releases

0.2.3 Dec 9, 2024
0.2.2 Aug 30, 2024
0.2.1 Mar 30, 2022
0.2.0 Oct 8, 2021
0.1.3 Apr 25, 2019

#422 in Cryptography

Download history 15745/week @ 2024-12-18 13615/week @ 2024-12-25 16742/week @ 2025-01-01 20532/week @ 2025-01-08 19453/week @ 2025-01-15 18798/week @ 2025-01-22 19193/week @ 2025-01-29 18732/week @ 2025-02-05 18647/week @ 2025-02-12 22161/week @ 2025-02-19 21187/week @ 2025-02-26 20366/week @ 2025-03-05 22130/week @ 2025-03-12 22228/week @ 2025-03-19 22876/week @ 2025-03-26 26886/week @ 2025-04-02

97,763 downloads per month
Used in 111 crates (13 directly)

MIT license

86KB
2.5K SLoC

A small crate to verify Minisign signatures.

Example

use minisign_verify::{PublicKey, Signature};

let public_key =
    PublicKey::from_base64("RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3")
        .expect("Unable to decode the public key");

let signature = Signature::decode(
    "untrusted comment: signature from minisign secret key
RUQf6LRCGA9i559r3g7V1qNyJDApGip8MfqcadIgT9CuhV3EMhHoN1mGTkUidF/\
     z7SrlQgXdy8ofjb7bNJJylDOocrCo8KLzZwo=
trusted comment: timestamp:1633700835\tfile:test\tprehashed
wLMDjy9FLAuxZ3q4NlEvkgtyhrr0gtTu6KC4KBJdITbbOeAi1zBIYo0v4iTgt8jJpIidRJnp94ABQkJAgAooBQ==",
)
.expect("Unable to decode the signature");

let bin = b"test";
public_key
    .verify(&bin[..], &signature, false)
    .expect("Signature didn't verify");

minisign-verify

A small, zero-dependencies Rust crate to verify Minisign signatures.

API documentation

Example:

let public_key =
    PublicKey::from_base64("RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3")
        .expect("Unable to decode the public key");

let signature = Signature::decode(
    "untrusted comment: signature from minisign secret key
RWQf6LRCGA9i59SLOFxz6NxvASXDJeRtuZykwQepbDEGt87ig1BNpWaVWuNrm73YiIiJbq71Wi+dP9eKL8OC351vwIasSSbXxwA=
trusted comment: timestamp:1555779966\tfile:test
QtKMXWyYcwdpZAlPF7tE2ENJkRd1ujvKjlj1m9RtHTBnZPa5WKU5uWRs5GoP5M/VqE81QFuMKI5k/SfNQUaOAA==",
    ).expect("Unable to decode the signature");

let bin = b"test";
public_key.verify(&bin[..], &signature, false).expect("Signature didn't verify");

No runtime deps