freetsa

Crates.iofreetsa
lib.rsfreetsa
version0.1.3
sourcesrc
created_at2022-10-10 22:38:07.325787
updated_at2022-10-11 00:04:45.090879
descriptionClient library and CLI utility for acquiring timestamps from freetsa.org
homepage
repositoryhttps://github.com/sbruton/freetsa
max_upload_size
id684913
size62,024
Sean Bruton (sbruton)

documentation

https://docs.rs/freetsa/

README

FreeTSA Unofficial Client Library and CLI Utility

Crate Info API Docs Rustc Version 1.60+

See https://freetsa.org for more information on this public timestamp service.

Note: To verify timestamps, you will need to fetch copies of FreeTSA's certificates from their website.

Using CLI

$ cargo install freetsa

$ freetsa timestamp file \
    --data some_file \
    --reply-out some_file.tsr \
    --query-out some_file.tsq

$ openssl ts -verify \
    -in some_file.tsr \
    -queryfile some_file.tsq \
    -CAfile cacert.pem \
    -untrusted tsa.crt

Using Library

use freetsa::prelude::*;

// timestamp a hash that you generate
let hash: Vec<u8> = _generate_your_hash_somehow();
let TimestampResponse { reply, .. } = timestamp_hash(hash).await.unwrap();

// timestamp a sha512 hash generated for you from a file you specify
let TimestampResponse { query, reply } = timestamp_file("path/to/my/file").await.unwrap();

Example code is available for timestamping a file or timestamping a hash. You can run them using just with just example-file and just example-hash, respectively.

Commit count: 9

cargo fmt