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() {
|
install_without_tools() {
|
||||||
python3 -m venv .local/share/qgpg
|
python3 -m venv .local/share/qgpg
|
||||||
.local/share/qgpg/bin/pip install -U pip https://six9.net/py/qgpg/qgpg-1.0.tar.gz
|
.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 = 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("--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("--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")
|
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="?")
|
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()
|
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)):
|
for cmd in zip(("keygen", "encrypt", "decrypt"), (parsed.keygen, parsed.encrypt, parsed.decrypt)):
|
||||||
if cmd[1]:
|
if cmd[1]:
|
||||||
parsed.command = cmd[0]
|
parsed.command = cmd[0]
|
||||||
|
|||||||
Reference in New Issue
Block a user