gpg-zip : passphrase as parameter for scripts
Arno Steffen
arno.steffen at googlemail.com
Tue Apr 5 16:01:08 CEST 2011
This gpg-zip is some shell script, which is installed together with
gpg to handle not just files, but to pack them.
I am not expert enough to check or change that script:
#!/bin/sh
# gpg-archive - gpg-ized tar using the same format as PGP's PGP Zip.
# Copyright (C) 2005 Free Software Foundation, Inc.
#
# This file is part of GnuPG.
#
# GnuPG is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# GnuPG is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.
# Despite the name, PGP Zip format is actually an OpenPGP-wrapped tar
# file. To be compatible with PGP itself, this must be a USTAR format
# tar file. Unclear on whether there is a distinction here between
# the GNU or POSIX variant of USTAR.
VERSION=1.4.10
TAR=/bin/tar
GPG=gpg
usage="\
Usage: gpg-zip [--help] [--version] [--encrypt] [--decrypt] [--symmetric]
[--list-archive] [--output FILE] [--gpg GPG] [--gpg-args ARGS]
[--tar TAR] [--tar-args ARGS] filename1 [filename2, ...]
directory1 [directory2, ...]
Encrypt or sign files into an archive."
while test $# -gt 0 ; do
case $1 in
-h | --help | --h*)
echo "$usage"
exit 0
;;
--list-archive)
list=yes
create=no
unpack=no
shift
;;
--encrypt | -e)
gpg_args="$gpg_args --encrypt"
list=no
create=yes
unpack=no
shift
;;
--decrypt | -d)
gpg_args="$gpg_args --decrypt"
list=no
create=no
unpack=yes
shift
;;
--symmetric | -c)
gpg_args="$gpg_args --symmetric"
list=no
create=yes
unpack=no
shift
;;
--sign | -s)
gpg_args="$gpg_args --sign"
list=no
create=yes
unpack=no
shift
;;
--recipient | -r)
gpg_args="$gpg_args --recipient $2"
shift
shift
;;
--local-user | -u)
gpg_args="$gpg_args --local-user $2"
shift
shift
;;
--output | -o)
gpg_args="$gpg_args --output $2"
shift
shift
;;
--version)
echo "gpg-zip (GnuPG) $VERSION"
exit 0
;;
--gpg)
GPG=$1
shift
;;
--gpg-args)
gpg_args="$gpg_args $2"
shift
shift
;;
--tar)
TAR=$1
shift
;;
--tar-args)
tar_args="$tar_args $2"
shift
shift
;;
--)
shift
break
;;
-*)
echo "$usage" 1>&2
exit 1
;;
*)
break
;;
esac
done
if test x$create = xyes ; then
# echo "$TAR -cf - "$@" | $GPG --set-filename x.tar $gpg_args" 1>&2
$TAR -cf - "$@" | $GPG --set-filename x.tar $gpg_args
elif test x$list = xyes ; then
# echo "cat \"$1\" | $GPG $gpg_args | $TAR $tar_args -tf -" 1>&2
cat "$1" | $GPG $gpg_args | $TAR $tar_args -tf -
elif test x$unpack = xyes ; then
# echo "cat \"$1\" | $GPG $gpg_args | $TAR $tar_args -xvf -" 1>&2
cat "$1" | $GPG $gpg_args | $TAR $tar_args -xvf -
else
echo "$usage" 1>&2
exit 1
fi
2011/4/4 Lee Elcocks <l_elcocks at hotmail.co.uk>:
> i dont know of this command --gpg-args, and by the looks of it, neither does
> GPG (that's what the errors telling you)
>
>
> echo passphrase| gpg-zip --gpg-args --passphrase-fd -o test.gpg -s
>
> The line should be
>
> echo passphrase| gpg-zip --gpg-args --passphrase-fd 0
>
> I also dont know of gpg-zip, and neither does GPG, thats what the error is
> telling you.
>
>
>
>
>
>> Date: Mon, 4 Apr 2011 16:43:08 +0200
>> Subject: Re: gpg-zip : passphrase as parameter for scripts
>> From: arno.steffen at googlemail.com
>> To: l_elcocks at hotmail.co.uk
>>
>> 2011/4/4 Lee Elcocks <l_elcocks at hotmail.co.uk>:
>> > Try also using --batch when automating.
>> >
>> >> Date: Mon, 4 Apr 2011 03:02:08 -0700
>> >> From: arno.steffen at googlemail.com
>> >> To: gnupg-users at gnupg.org
>> >> Subject: gpg-zip : passphrase as parameter for scripts
>> >>
>> >>
>> >> I am using in a script, with more than one of this kind of lines:
>> >>
>> >> #!/bin/sh
>> >> /usr/local/bin/gpg-zip -o /opt/u1.tar.gpg -s /opt/1*
>> >> /usr/local/bin/gpg-zip -o /opt/u2.tar.gpg -s /opt/2*
>> >> ...
>> >>
>> >> I have to answer every line with question for passphrase. This sucks.
>> >>
>> >> I have seen there is a parameter --gpg-args where I can pass args to
>> >> gpg.
>> >> But I don't get this working with some kind of
>> >>
>> >> echo 'passphrase' | gpg-zip --gpg-args --passphrase-fd -o ... - s
>> >>
>> >> Anybody an idea how this is working?
>> >>
>> >> Best regards
>> >> Arno
>> >>
>> >> --
>> >> View this message in context:
>> >>
>> >> http://old.nabble.com/gpg-zip-%3A-passphrase-as-parameter-for-scripts-tp31312954p31312954.html
>> >> Sent from the GnuPG - User mailing list archive at Nabble.com.
>> >>
>> >>
>> >> _______________________________________________
>> >> Gnupg-users mailing list
>> >> Gnupg-users at gnupg.org
>> >> http://lists.gnupg.org/mailman/listinfo/gnupg-users
>> >
>>
>> This all doesn't seems to help:
>>
>> $echo passphrase| gpg-zip -o test.gpg -s comp_prod_build.sh --gpg-args
>> --passphrase-fd 0
>> /bin/tar: Unknown Option „--gpg-args“
>> „tar --help“ oder „tar --usage“ gives further Informationen.
>>
>>
>> $echo passphrase| gpg-zip --gpg-args --passphrase-fd -o test.gpg -s
>> comp_prod_build.sh
>> Reading passphrase from file descriptor 0
>> Call: gpg [Optionen] [Dateiname]
>>
>>
>> $ echo SensoPart| gpg-zip --gpg-args --passphrase-fd 0 -o test.gpg -s *
>> Usage: gpg-zip [--help] [--version] [--encrypt] [--decrypt] [--symmetric]
>> [--list-archive] [--output FILE] [--gpg GPG] [--gpg-args ARGS]
>> [--tar TAR] [--tar-args ARGS] filename1 [filename2, ...]
>> directory1 [directory2, ...]
>> Encrypt or sign files into an archive.
>
More information about the Gnupg-users
mailing list