ryran / pyrite Goto Github PK
View Code? Open in Web Editor NEWOpenSSL/GnuPG encryption/signing gui for Linux implemented with Python & PyGTK
OpenSSL/GnuPG encryption/signing gui for Linux implemented with Python & PyGTK
Submitted via email.
Hi Ryan , first thanks for your contribution.
So one thing I noticed is Pyrite's advanced gpg options in preferences is greyed out. Is that because this feature is not enabled yet?
It would be nice if it was so that I may be able to change my gpg home dir to something else. I keep a keychain on a separate, encrypted drive but even setting the env variable GNUPGHOME does not work for Pyrite or in emacs. I don't get why this does not work,since Pyrite is invoking gpg(2) on the backend.
Any clues or workarounds for what I wish to do? Mind you, changing my gpg path from .gnupg to something else via the GNUPGHOME variable works fine, so long as I issue gpg commands from the cli.
Thank for your help :)
I can only seem to open Pyrite via command line using sudo - when I click the icon nothing happens
OS: Ubuntu 13.10
You should sign your code, man. Or at least give us some hashes.
(Thanks for your work!)
The FileChooserButton for direct-mode works fine if you click on it; however the first time you drag a file onto it, it doesn't trigger the appropriate response. You have to drag the file a second time in order to get things going. The 2nd, 3rd, 4th, 5th, etc dnd operations will all be successful.
This is caused by a GTK+ bug.
Here's the GNOME Bugzilla issue: https://bugzilla.gnome.org/show_bug.cgi?id=669718
Also note that this affects use of the cmdline option -d
(--direct-file
) which DOES properly populate the direct-file input box.. but well, it doesn't trigger things correctly.
I remember deciding not to do this early on because ... who cares, really? Perhaps I'll do it; perhaps I'll juts leave the user to do it via the advanced options tab in preferences. (Speak up here if you care.)
Good idea.
I didn't design Pyrite with localization in mind -- the modules/messages.py
file contains the bulk of what would require translating; however, there are other user-facing messages peppered throughout the code. In order to make translation more feasible, some serious code re-factoring/re-organization needs to happen. I'll be looking into this.
This isn't HORRIBLE, because you can press Alt-m more than once to switch between them.... but yes, it clearly needs to be fixed.
Traceback (most recent call last):
File "/usr/bin/pyrite", line 37, in
import modules.core
File "/usr/share/pyrite/modules/core.py", line 415
if startup or self.g_cipher.get_active() in {0, 2}:
^
SyntaxError: invalid syntax
Help pls!
Dear ryran ,
First of all thanks for this wonderful software
Secondly , I got an attached file (.zip.gpg) from a friend and after I've found your software I opened this file by clicking the "Input file For Direct Operation" then I entered the passphrase and hit the Decrypt but the decryption finished with an error
gpg decription failed : No secret Key (As shown in the attached image)
Can you please tell me why !!!
NB: My friend told me the passphrase to enter it
...
Problematic lines (till now) seems to be:
if startup or self.g_cipher.get_active() in {0, 2}:
if self.p['cipher'] not in {0, 2}:
if check_output(cmd)[:4] in {'ASCI', 'UTF-'}:
if action in {'enc', 'dec'}:
elif action in {'embedsign', 'clearsign', 'detachsign'}:
elif action in {'enc', 'dec'}:
elif action in {'embedsign', 'clearsign'}:
elif action in {'enc', 'dec'}:
elif action in {'embedsign', 'clearsign', 'detachsign'}:
if action in {'enc', 'dec'}:
elif action in {'embedsign', 'clearsign', 'detachsign'}:
elif action in {'enc', 'dec'}:
elif action in {'embedsign', 'clearsign', 'detachsign'}:
if action in {'embedsign', 'clearsign', 'detachsign'}:
elif action in {'embedsign', 'clearsign', 'detachsign'}:
if action in {'enc', 'embedsign', 'detachsign'}:
I cannot run pyrite on RHEL6. Thank you!
I wrote the following KCS solution in Red Hat's knowledgebase:
openssl enc -aes-256-cbc fails in FIPS mode
In short, the root of the issue is that openssl uses md5 by default to hash passphrases ... this becomes a problem on systems where md5 is disallowed (i.e., systems in FIPS mode).
The solution is to use openssl's -md
option to specify some non-md5 digest like sha256. So yeah, ToDo: figure out the best way to handle that in pyrite. Possibilities:
-md something-that-isn't-md5
into openssl cmdline-md
to be explicitly configured from the preferences-md
to be configured from a new dropdown that's only present when in openssl modeIt will be very useful and easier to have it as shortcut in nautilus or nemo file manager on linux.
That way users will only right-click on file and select pyrite -> symmetric -> aes256, and then enter password. Not to mention that is option that almost no other program provides (Aescrypt maybe.).
Thanks again for your work! ... Two suggestions:
(1) You might add a checkbox next to "Recipients" that would allow us to use the "--hidden-recipient" option in gpg. That way out messages leak less metadata.
(2) I am just reading this: http://world.std.com/~dtd/sign_encrypt/sign_encrypt7.html
Some of the work-arounds to the security problems described there involve the computation of a hash of the message or the message combined with a name. I'm wondering if this could be done within pyrite. For example: select area, right click >> compute SHA256, and the result is put on the clipboard. Then we can paste to the appropriate place and start signing/encrypting.
Thanks!
/DA
Are you interested in PIP and setup.py support? It can surely replace the INSTALL script you have. I'm willing to implement it, but it might require some project code restructuring.
Please create a signed git tag.
This used to be so nice and convenient:
$ python pyrite.py
Traceback (most recent call last):
File "pyrite.py", line 85, in <module>
FeS2 = modules.core.Pyrite(args)
File "/home/lnostdal/pyrite/modules/core.py", line 70, in __init__
try: builder.add_from_file(cfg.ASSETDIR + 'ui/main.glade')
glib.GError: Failed to open file '/usr/share/pyrite/ui/main.glade': No such file or directory
..no need for root access etc..
It would be great to have a way to easily pull up encrypted files that get modified regularly, e.g., some kind of notebook feature. Hmmm....
Please, this is a nice GnuPG frontend, but selection recipients (for async) from multiselect dropdown can be nice, to prevent going to the shell and list keys from GPG.
Thanks
I am on LinuxMint 19.1, I have all the prerequisites installed and I used the downloaded zip file to install pyrite. When I try to run pyrite it says:
File "/usr/share/pyrite/pyrite.py", line 37, in
import modules.core
ImportError: No module named modules.core
Any ideas?
Thanks,
Dave
Hmmmmmm. I might do that.
@ryran
Hello Ryan,
Thanks for creating Pyrite. I just started using it a few days ago and am glad that I can easily use gpg through a nice interface.
I came across an icon that I thought would be good for Pyrite: http://iconbug.com/data/81/128/c5014e31260ff53d4c3245f031a86967.png
I think it is a good match for Pyrite because
• it is gold colored, just like pyrite the mineral
• it is a safe, which represents security
• it is cube shaped which is like the cube pyrite http://chemistry.stackexchange.com/questions/29330/why-does-pyrite-form-cubic-crystals
• the icon is available free for commercial use with attribution to the author http://www.visualpharm.com/finance_icon_set/
I've already started using this icon for my install of Pyrite and it looks great!
Hey, I installed by cloning the repo and running the install script.
checked out the program, decided it's not what I wanted and tried to purge, but I simply cannot get the entry out of my application launcher. furthermore, it does not appear in my list of installed programs (via dpkg -l) and I can't figure out how to remove the app... ideas?
currently, it's in my launcher (elementary OS) as simply Pyrite, with no icon... under "Other"
_GTK+ v2 and PyGTK? Lame! Should be using GTK+ v3!_
Need to find/make a nice application icon, as well as icons for the encrypt/decrypt (and possibly sign/verify) buttons. If you can help, PLEASE DO!!
Add context menu system
http://i.stack.imgur.com/8dLev.png
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.