copied the usage example from the documentation over here
This commit is contained in:
35
README.rst
35
README.rst
@@ -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
|
||||
-------------
|
||||
|
||||
Reference in New Issue
Block a user