copied the usage example from the documentation over here

This commit is contained in:
Michael Greene
2014-05-07 12:50:43 -07:00
parent 6a9e8274e4
commit 5097634d7b

View File

@@ -36,7 +36,42 @@ To install PGPy, simply:
Examples
--------
.. code-block:: python
with pubsec.key("DEADBEEF"):
# You can sign things by specifying a private key.
# If the key is protected, you may need to unlock it first, otherwise, :py:meth:`PGPKeyring.sign` will raise an exception
if pubsec.selected_privkey.encrypted:
pubsec.unlock("C0rrectPassphr@se")
# now sign your document. This can be a path, URL, file-like object, string, or bytes.
sig = pubsec.sign("path/to/document")
# if you want to write the signature to disk, that's easy too!
sig.path = "path/to/document.asc"
sig.write()
# You can verify the signature using the public key half of the same key:
if pubsec.verify("path/to/document", str(sig)):
print("Signature in memory verified!")
# or use the signature you just wrote to disk
if pubsec.verify("path/to/document", "path/to/document.asc"):
print("Signature on disk verified!")
# When you exit the context-management block, decrypted secret key material is removed from memory,
# leaving only the encrypted key material.
# When verifying documents with signatures, you don't need to specify a specific key ahead of time.
# PGPy will figure out which key signed it using metadata in the signature:
ubuntupubkeys = pgpy.PGPKeyring("http://us.archive.ubuntu.com/ubuntu/project/ubuntu-archive-keyring.gpg")
with ubuntupubkeys.key():
# PGPKeyring.verify returns a SignatureVerification object which can be compared directly as a boolean.
# It also retains some additional information you can use:
sigv = pubsec.verify("http://us.archive.ubuntu.com/ubuntu/dists/precise/Release",
"http://us.archive.ubuntu.com/ubuntu/dists/precise/Release.gpg")
if sigv:
print("Signature was verified using {key}".format(key=sigv.key.keyid))
Documentation
-------------