OpenPGP CA functionality as a library
Example usage:
# use Uninit;
# use tempfile;
// all state of an OpenPGP CA instance is persisted in one SQLite database
let db_filename = "/tmp/openpgp-ca.sqlite";
# // for Doc-tests we need a random database filename
# let file = new.unwrap;
# let db_filename = file.path.to_str.unwrap;
// Set up a new, uninitialized OpenPGP CA database
// (implicitly creates the database file).
let ca_uninit = new.expect;
// Initialize the CA, create the CA key (with domain name and descriptive name)
let ca = ca_uninit
.init_softkey
.unwrap;
// Create a new user, certified by the CA, and a trust signature by the user
// key on the CA key.
//
// The new private key for the user is printed to stdout and needs to be manually
// processed from there.
ca.user_new
.unwrap;