
Allow en- and decryption of any file
Reported by steve | March 10th, 2011 @ 12:52 PM | in 1.6
Status Quo:
- Files
- Encrypt: done
- Encrypt & sign: done
- Sign: done
- Decrypt: done
- Decrypt & verify: done
- Verify: done
- Folders
- Encrypt: done
- Encrypt & sign: done
- Sign: done
- Decrypt: done
- Decrypt & verify: done
- Verify: done
Comments and changes to this ticket
-
ronin-140089 (at lighthouseapp) March 18th, 2011 @ 11:55 PM
I think I'll have fun implementing this :)
How should multiple files / directories / bundles be handles? Zipping them first?
-
James O'Donnell March 19th, 2011 @ 01:20 AM
As a user - I would recommend to tar the file, this reduces the wait time to encrypt (and the user can always compress it first with something efficient like 7z if they care.)
-
Alex (via GPGTools) March 19th, 2011 @ 09:36 AM
This would be a killer feature;) GnuPG does compress the data usually. Let's start encrypting/signing/verifying/decrypting a single file first. It should be compatible with other implementations on other OSs, then we can start with folders - this will introduce more complexity.
-- sent from my mobile phone
-
ronin-140089 (at lighthouseapp) March 19th, 2011 @ 11:17 AM
Encrypting single files is available in https://github.com/the-kenny/GPGServices/tree/encryptfile
It currently doesn't show an indicator while encrypting, but we only need one for very big files. I've added a warning for files >100Mb. Signing is available too.
Decryption/verifying a file is currently only available in the command line, not in GPGServices.
Workflow is:
Select a single file (No directory, no bundle) in finder, click on Finder -> Services -> GPG: Encrypt file. -
steve March 19th, 2011 @ 05:47 PM
- Tag set to feature
- State changed from new to open
- Assigned user set to ronin-140089 (at lighthouseapp)
Wow.
@Alex: is this worth another beta release? Sounds great to me.
@Moritz: You should now have full access for github.com/gpgtools/gpgservices
-
Alex (via GPGTools) March 19th, 2011 @ 08:42 PM
@steve: Let me test it first internally;)
-- sent from my mobile phone
-
Alex (via GPGTools) March 20th, 2011 @ 09:48 PM
Started first test:
- Wonderful, it worked.
- You added Growl: Nice ;) Maybe add a notification when starting to encrypt.
- Is it possible to pass the filename (incl. the ".gpg" extension) and the current directory to the "Save As" dialog?
- The "Large File" dialog does not have a cancel button.
-
ronin-140089 (at lighthouseapp) March 20th, 2011 @ 11:02 PM
Growl was relatively easy to add. Maybe we can use it for other notifications later on. It will currently notify for every succeeded encryption and will also notify of the start of one when the file is greater than 10Mb. Any smaller files took almost no time for encryption. We probably have to tweak this as I'm using an SSD.
Passing the filename etc. should be possible too, I didn't see an intuitive way while implementing it so I adjourned that. I'll take a look at it.
As with the cancel button: Good catch ;) I was lazy and re-used code which was already there. I'll implement it with ok/cancel soon.
-
Alex (via GPGTools) March 20th, 2011 @ 11:21 PM
Some aspects might be interesting: http://www.gpg4win.org/doc/en/gpg4win-compendium_24.html
-
Alex (via GPGTools) March 20th, 2011 @ 11:24 PM
btw: I updated the current status in the bug description
-
Alex (via GPGTools) March 20th, 2011 @ 11:32 PM
I also think it's worth striving for PGP / GPG4WIN compatibility for both the file and folder encryption.
-
Alex (via GPGTools) March 20th, 2011 @ 11:36 PM
When I encrypt multiple files I receive an error but still can encrypt the files. I think you can remove the error dialog.
-
Alex (via GPGTools) March 20th, 2011 @ 11:39 PM
When I encrypt a non existing file (e.g. by deleting it while choosing the key) I receive the error "File is a directory" - this is misleading and might lead to further issues when implementing folder encryption.
-
ronin-140089 (at lighthouseapp) March 20th, 2011 @ 11:39 PM
Whoops. It should cancel if it gets more than one file because the current behavior is rather unpractical. We should somehow tar or zip the files instead of encrypting one at a time in a loop.
-
Alex (via GPGTools) March 20th, 2011 @ 11:43 PM
I was thinking about it and I think the current behavior is useful when the save dialog suggests useful names for the files. When you want to tar the files you can encrypt a folder (which, btw, might be the best approach for encrypting folders)
-
ronin-140089 (at lighthouseapp) March 20th, 2011 @ 11:46 PM
The dialog suggests '<filename>.gpg' as of c8f43a31622235dd39f6
-
Alex (via GPGTools) March 21st, 2011 @ 10:13 AM
I thought again about this issue: I think GPGServices should behave like the OS X "compress items" menu item.
- Use the integrated ZIP functions for multiple files and
folders
- Maybe don't ask for a filename - just create "filename.ext.gpg" / "Archive.zip.gpg" in the same directory (if writable)
- Use the integrated ZIP functions for multiple files and
folders
-
-
steve March 29th, 2011 @ 10:56 PM
Any status updates concerning the decryption? But hey, I don't want you to mess up your Abitur because of coding gpg-stuff, Moritz! ;)
-
ronin-140089 (at lighthouseapp) March 30th, 2011 @ 12:55 AM
Sorry, not even started implementing decryption (won't be very hard, though).
Abitur is annoying ;-) I just wrote down a structured list of everything I have to learn. It scares me. -
ronin-140089 (at lighthouseapp) April 2nd, 2011 @ 02:29 AM
Decryption of files implemented. Please test :)
I also made some changes to the recipient window. There's a checkbox for every key.
-
ronin-140089 (at lighthouseapp) April 2nd, 2011 @ 02:30 AM
Oh, I also fixed a rather big bug while encrypting+signing files. The output data only contained the signature data, not the encrypted data itself.
-
Alex (via GPGTools) April 2nd, 2011 @ 10:20 AM
(from [9b56c8a1fe7ea649f2dd91f2c7cc8d3da9f64017]) changed service menu item to reflect the fact that decryption is possible [#21] https://github.com/GPGTools/GPGServices/commit/9b56c8a1fe7ea649f2dd...
-
Alex (via GPGTools) April 2nd, 2011 @ 10:31 AM
Thank you. My comments:
- Decrypting a signature: a box says that it's not possible, but
Growl states that it decrypted the data successfully
- Encrypting: right click on a file > Services > Encrypt > click on a key > "OK" is disabled - but you can double click on the key to start the encryption. The "OK" button should be enabled. The "Use?" column should be the first on the left side - but I would propose not to use it. Together with the graphical indicators it does not really comply with other existing OS X selection lists.
- Decrypting a signature: a box says that it's not possible, but
Growl states that it decrypted the data successfully
-
ronin-140089 (at lighthouseapp) April 2nd, 2011 @ 12:46 PM
- Assigned user changed from ronin-140089 (at lighthouseapp) to Alex (via GPGTools)
Fixed #1.
Regarding #2: The checkbox should be on the left side by default. Try deleting ~/Library/Preferences/com.gpgtools.gpgservices.plist.
I implemented the checkbox to make multiple-selection easier. It's pretty easy to loose the selection without the checkboxes.
Would a combination possible?
The checkbox for the currently selected key could be automatically enabled. This would enable you to encrypt to a specific key by simply selecting a key and also enable you to easily select multiple keys with the checkboxes.
(I hope you understand what I'm talking about ;-)) -
Alex (via GPGTools) April 2nd, 2011 @ 01:23 PM
Well, yes maybe a combination.
-- sent from my mobile phone
-
ronin-140089 (at lighthouseapp) April 2nd, 2011 @ 04:04 PM
I disabled re-ordering of the useKey-Column and force it to be the leftmost column.
-
ronin-140089 (at lighthouseapp) April 3rd, 2011 @ 04:43 PM
Decrypt + verify is supported in ff1ed0051e5330a0244e
Fixed a rather problematic bug related to the signing key too in 9ad3f7a589d5128fcc85
PS: Sorry for not commenting by commit messages. I'm not used to it and pushed the commits before thinking about updating this ticket using them.
-
Alex (via GPGTools) April 3rd, 2011 @ 11:48 PM
- Assigned user changed from Alex (via GPGTools) to ronin-140089 (at lighthouseapp)
-
Alex (via GPGTools) April 6th, 2011 @ 05:13 PM
I think when the verification is implemented it's time to close this ticket, focus on creating new ones, and to publish a beta version.
-
Alex (via GPGTools) April 10th, 2011 @ 09:23 PM
(from [ccf640b74b2267ec831c2672599aad3271648cb1]) Started with verification but it returns 'bad signature' everytime [#21] https://github.com/GPGTools/GPGServices/commit/ccf640b74b2267ec831c...
-
ronin-140089 (at lighthouseapp) April 10th, 2011 @ 11:48 PM
I'm sorry for not pushing earlier (pre-exams are almost over, only one day to go!), but I started working on it in branch fileverification.
Verification is way more complex. There are two ways to sign a file:- normal-signed file: We just have to verify the
file itself. Trivial, I haven't had a deep look at your code but
you handle this case.
- detach-signed file: More complex, as we have find the signature or the original file based on what the user has clicked. The user can click 'Verify' on a .sig or on a normal file with a .sig in the same directory. We have to find the counterpart based on the filename. We should also think about implementing a dialog where a user can search for the counterpart himself.
My implementation currently handles both, searching for <file.ext>.sig when told to verify <file.ext> and searching for <file.ext> when told to verify <file.ext>.sig. Letting the user choose the complement file isn't implemented yet, but could be implemented by a clickable control in the NSTableView.
- normal-signed file: We just have to verify the
file itself. Trivial, I haven't had a deep look at your code but
you handle this case.
-
Alex (via GPGTools) April 11th, 2011 @ 11:40 PM
- State changed from open to hold
No prob. Screenshot looks nice - hope the exams went fine!
-
Alex (via GPGTools) April 18th, 2011 @ 02:00 PM
What about your time scale implementing "verifying"? After this, GPGServices will be feature complete and we could publish a beta version.
-
ronin-140089 (at lighthouseapp) April 18th, 2011 @ 03:54 PM
I try to do as much as I can in the following two or three weeks. After this, Abitur starts here in North Rhine-Westphalia...
Basic version should be in master now. (Merged everything) -
Alex (via GPGTools) April 18th, 2011 @ 06:07 PM
(from [bc13c6331362022e4b15b48970d566d192f602f4]) updated Info.plist since verification is now (partly) implemented [#21] https://github.com/GPGTools/GPGServices/commit/bc13c6331362022e4b15...
-
Alex (via GPGTools) April 18th, 2011 @ 06:09 PM
- State changed from hold to resolved
Totally fine - just wanted to know the status quo. I guess we can close this ticket now and start creating new ones. Thank you very much and good luck.
-
steve January 29th, 2012 @ 04:14 PM
- State changed from resolved to fixed
-
steve August 19th, 2013 @ 11:01 PM
- Tag cleared.
- Assigned user cleared.
- Importance changed from High to Low
-
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป
Attachments
Referenced by
-
21 Allow en- and decryption of any file (from [9b56c8a1fe7ea649f2dd91f2c7cc8d3da9f64017]) changed...
-
42 Implement file verification Ticket for #21.
-
21 Allow en- and decryption of any file (from [ccf640b74b2267ec831c2672599aad3271648cb1]) Started...
-
21 Allow en- and decryption of any file (from [bc13c6331362022e4b15b48970d566d192f602f4]) updated...
-
54 Verifying: let the user choose the file From #21: "Letting the user choose the complement file is...