4 releases
0.1.3 | Oct 11, 2022 |
---|---|
0.1.2 | Oct 10, 2022 |
0.1.1 | Oct 10, 2022 |
0.1.0 | Oct 10, 2022 |
#581 in Authentication
19KB
159 lines
FreeTSA Unofficial Client Library and CLI Utility
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.
Dependencies
~4–20MB
~270K SLoC