testing interaction between gpg and qgpg
This commit is contained in:
39
Bakefile
39
Bakefile
@@ -58,6 +58,45 @@ test_decrypt() {
|
||||
}
|
||||
|
||||
|
||||
test_gpg() {
|
||||
cd ~/tmp/
|
||||
. useve-runner
|
||||
useve qgpg
|
||||
set -e
|
||||
mkdir -p ./gpghomedir
|
||||
chmod 700 ./gpghomedir
|
||||
# Simulate user creating keys with GPG, and person with qGPG encrypts for them.
|
||||
@ gpg --homedir ./gpghomedir -K
|
||||
cat <<EOF | @ gpg --homedir ./gpghomedir --batch --generate-key -
|
||||
%echo Generating a default key
|
||||
Key-Type: default
|
||||
Subkey-Type: default
|
||||
Name-Real: Joe Tester
|
||||
Name-Comment: with stupid passphrase
|
||||
Name-Email: joe@foo.bar
|
||||
Expire-Date: 0
|
||||
Passphrase: abc
|
||||
# Do a commit here, so that we can later print "done" :-)
|
||||
%commit
|
||||
%echo done
|
||||
EOF
|
||||
@ gpg --homedir ./gpghomedir --armor --export joe@foo.bar > key-for-collaborator.pub
|
||||
@ qgpg -e --force --key key-for-collaborator.pub key-for-collaborator.pub key-for-collaborator.pub.gpg
|
||||
echo abc | @ gpg --homedir ./gpghomedir --pinentry-mode loopback --batch --yes --passphrase-fd 0 -d -o key-for-collaborator.pub.2 key-for-collaborator.pub.gpg
|
||||
@ diff key-for-collaborator.pub key-for-collaborator.pub.2
|
||||
@ rm -rf ./gpghomedir
|
||||
# Simulate person creating keys with qGPG, while someone else with GPG encrypts for them
|
||||
GPGPASS=abc.2 @ qgpg -k --force --key qgpg.user --name qgpg@user
|
||||
mkdir -p ./gpghomedir
|
||||
chmod 700 ./gpghomedir
|
||||
@ gpg --homedir ./gpghomedir --import qgpg.user.pub
|
||||
@ gpg --homedir ./gpghomedir -e --trust-model always --yes -r qgpg@user -o qgpg.user.pub.gpg qgpg.user.pub
|
||||
GPGPASS=abc.2 @ qgpg -d --force --key qgpg.user qgpg.user.pub.gpg qgpg.user.pub.2
|
||||
@ diff qgpg.user.pub qgpg.user.pub.2
|
||||
@ rm -rf ./gpghomedir
|
||||
@ sha1sum *
|
||||
}
|
||||
|
||||
install_without_tools() {
|
||||
python3 -m venv .local/share/qgpg
|
||||
.local/share/qgpg/bin/pip install -U pip https://six9.net/py/qgpg/qgpg-1.0.tar.gz
|
||||
|
||||
@@ -180,7 +180,7 @@ Usage
|
||||
misc_grp = parser.add_argument_group("Misc", "Other options")
|
||||
misc_grp.add_argument("--width", help="Console width in characters. Defaults to auto detect.")
|
||||
misc_grp.add_argument("--no-progress", help="Disable progress meter.", default=False, action="store_true")
|
||||
misc_grp.add_argument("--version", help="Display version and exit", default=False, action="store_true")
|
||||
misc_grp.add_argument("--version", help="Display version and exit", action="version", version=__version__)
|
||||
misc_grp.add_argument("--help", "-h", action="help", help="Show this help message and exit")
|
||||
|
||||
crypt_grp.add_argument("path", help="Path to source file to encrypt/decrypt, or folder if recursive", nargs="?")
|
||||
@@ -191,9 +191,6 @@ Usage
|
||||
)
|
||||
|
||||
parsed = parser.parse_args()
|
||||
if parsed.version:
|
||||
print(__version__)
|
||||
sys.exit(0)
|
||||
for cmd in zip(("keygen", "encrypt", "decrypt"), (parsed.keygen, parsed.encrypt, parsed.decrypt)):
|
||||
if cmd[1]:
|
||||
parsed.command = cmd[0]
|
||||
|
||||
Reference in New Issue
Block a user