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

```shell $ cargo install freetsa

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

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

Using Library

```rust use freetsa::prelude::*;

// timestamp a hash that you generate let hash: Vec = generateyourhashsomehow(); let TimestampResponse { query, 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.