[opensuse] Self extracting encrypted archive
Greetings list, I am trying to create (and test) a self extracting encrypted archive. I am having an issue when I test trying to extract the archive. Here's my stub: #!/bin/bash ARCHIVE=`awk '/^__ARCHIVE__/ { print NR + 1; exit 0; }' $0` tail -n+$ARCHIVE $0 | gpg --output - - | tar xz exit 0 __ARCHIVE__ I've already created the ascii armored archive: tar -cvzf - ~/tmp/archive | gpg --symmetric --armor --output ~/tmp/archive.tar.gz.asc I create the full self extracting file like so: cat ~/tmp/stub ~/tmp/archive.tar.gz.asc > ~/tmp/archive.sh Now when I run archive.sh to test this I receive the following errors: gpg: CAST5 encrypted data No protocol specified xprop: unable to open display ':0' No protocol specified gpg-agent[5310]: can't connect to the PIN entry module: End of file gpg-agent[5310]: command get_passphrase failed: No pinentry gpg: problem with the agent: No pinentry gpg: encrypted with 1 passphrase gpg: decryption failed: No secret key gzip: stdin: unexpected end of file tar: Child returned status 1 tar: Error is not recoverable: exiting now A gentle nudge with the clue bat to help me figure out how to get the self extracting file to use gpg cli passphrase entry would be most appreciated. Cheers the noo, Graham -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On Saturday 03 Aug 2013 22:56:16 Graham Anderson wrote:
Greetings list,
I am trying to create (and test) a self extracting encrypted archive. I am having an issue when I test trying to extract the archive.
Here's my stub:
#!/bin/bash ARCHIVE=`awk '/^__ARCHIVE__/ { print NR + 1; exit 0; }' $0` tail -n+$ARCHIVE $0 | gpg --output - - | tar xz exit 0 __ARCHIVE__
I've already created the ascii armored archive:
tar -cvzf - ~/tmp/archive | gpg --symmetric --armor --output ~/tmp/archive.tar.gz.asc
I create the full self extracting file like so:
cat ~/tmp/stub ~/tmp/archive.tar.gz.asc > ~/tmp/archive.sh
Now when I run archive.sh to test this I receive the following errors:
gpg: CAST5 encrypted data No protocol specified xprop: unable to open display ':0' No protocol specified gpg-agent[5310]: can't connect to the PIN entry module: End of file gpg-agent[5310]: command get_passphrase failed: No pinentry gpg: problem with the agent: No pinentry gpg: encrypted with 1 passphrase gpg: decryption failed: No secret key
gzip: stdin: unexpected end of file tar: Child returned status 1 tar: Error is not recoverable: exiting now
A gentle nudge with the clue bat to help me figure out how to get the self extracting file to use gpg cli passphrase entry would be most appreciated.
Works as expected under normal login session, I was testing while su'd as another user which was causing the decryption to fail. Cheers the noo, Graham -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
On Sat, 03 Aug 2013 22:56:16 +0100 Graham Anderson <andtecheu@opensuse.org> wrote:
Now when I run archive.sh to test this I receive the following errors:
gpg: CAST5 encrypted data No protocol specified xprop: unable to open display ':0' No protocol specified gpg-agent[5310]: can't connect to the PIN entry module: End of file gpg-agent[5310]: command get_passphrase failed: No pinentry gpg: problem with the agent: No pinentry gpg: encrypted with 1 passphrase gpg: decryption failed: No secret key
Normally, when I run gpg at the command line, the GUI pinentry prompter comes up. For some reason it isn't showing up in your case. Perhaps you need to have XAUTHORITY in the environment. The other possibility, which I have not tested, would be to use something like: gpg-agent --pinentry-program /usr/bin/pinentry-curses bash That should start a secondary shell. Running your script under the secondary shell should prompt for a passphrase using the curses module. -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse+owner@opensuse.org
participants (2)
-
Graham Anderson
-
Neil Rickert