Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/isislovecruft/python-gnupg
A modified version of python-gnupg, including security patches, extensive documentation, and extra features.
https://github.com/isislovecruft/python-gnupg
Last synced: 3 days ago
JSON representation
A modified version of python-gnupg, including security patches, extensive documentation, and extra features.
- Host: GitHub
- URL: https://github.com/isislovecruft/python-gnupg
- Owner: isislovecruft
- License: other
- Created: 2013-02-13T19:51:10.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2024-08-01T04:09:16.000Z (4 months ago)
- Last Synced: 2024-10-29T20:25:58.021Z (about 2 months ago)
- Language: Python
- Homepage:
- Size: 3.2 MB
- Stars: 424
- Watchers: 17
- Forks: 172
- Open Issues: 97
-
Metadata Files:
- Readme: README
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
.. -*- coding: utf-8; mode: rst; -*-
*******************************************************
pretty-bad-protocol (a.k.a. python-gnupg) |On PyPI|
*******************************************************Complete rewrite of `Vinay Sajip's python-gnupg `__,
including patches to fix a shell injection vulnerability due to unsanitised
inputs being passed to ``subprocess.Popen([...], shell=True)``... |On PyPI| image:: https://badge.fury.io/py/gnupg.png
:target: https://pypi.python.org/pypi/gnupg==============
Installation
==============----------------------------------------
From `PyPI `__
----------------------------------------It's simple. Just do::
[sudo] pip install pretty-bad-protocol
Additionally, the legacy way to install versions of this library <
3.0.0 is::[sudo] pip install gnupg
--------
From git
--------To install this package from this git repository, do::
git clone https://github.com/isislovecruft/python-gnupg.git
cd python-gnupg
make install
make testOptionally, to build the Sphinx documentation_, do::
make docs
To get started using python-gnupg's API, see the documentation_,
and import the module like so::.. code-block:: python
>>> from pretty_bad_protocol import gnupg
The primary interface class you'll likely want to interact with is ``gnupg.GPG``:
.. code-block:: python
>>> gpg = gnupg.GPG(binary='/usr/bin/gpg',
... homedir='./keys',
... keyring='pubring.gpg',
... secring='secring.gpg')
>>> batch_key_input = gpg.gen_key_input(
... key_type='RSA',
... key_length=4096)
>>> print batch_key_input
Key-Type: RSA
Name-Email: isis@wintermute
Key-Length: 4096
Name-Real: Autogenerated Key
%commit>>> key = gpg.gen_key(batch_key_input)
>>> print key.fingerprint
245D8FA30F543B742053949F553C0E154F2E7A98>>> message = "The crow flies at midnight."
>>> encrypted = str(gpg.encrypt(message, key.fingerprint))
>>> decrypted = str(gpg.decrypt(encrypted))
>>> assert decrypted == message.. _documentation: https://pythonhosted.org/gnupg/
==============================
Bug Reports & Feature Requests
==============================Our bugtracker can be found `on Github
`__. Public comments and
discussions are also welcome on the bugtracker. Patches are always welcome.I increasingly have less and less time to deal with maintaining this
module. Please be patient, and if there is a patch your project
urgently needs, please consider temporarily forking until I or one of
the other maintainers can get to your issue.