Pretty Good Privacy for Python
Project description
Homepage: None yet.
PGPy is a Python (2 and 3) library for implementing Pretty Good Privacy into Python programs.
Features
Currently, PGPy can load keys and signatures of all kinds in both ASCII armored and binary formats.
It can sign and verify RSA signatures only, at the moment.
Installation
To install PGPy, simply:
$ pip install PGPy
Examples
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
PGPy Documentation <http://commod0re.github.io/PGPy/>
Requirements
Python >= 2.7
Tested with: 3.4, 3.3, 3.2, 2.7
License
MIT licensed. See the bundled LICENSE file for more details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
PGPy-0.1.0.tar.gz
(22.1 kB
view hashes)